自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 问答 (2)
  • 收藏
  • 关注

原创 Tree of Thoughts: Deliberate Problem Solving with Large Language Models

通过思维链(ToT) 允许 LM 通过考虑多个不同的推理路径和自我评估选择来决定下一个动作过程来执行深思熟虑的决策,以及在做出全局选择时展望未来或回溯在24点游戏中,而具有思维链提示的 GPT-4 仅解决了4% 的任务,我们的方法的成功率为 74%。此外,ToT 等搜索方法比采样方法需要更多的资源(例如 GPT-4 API 成本),以提高任务性能,但 ToT 的模块化灵活性允许用户自定义此类性能成本权衡,并且正在进行的开源努力 在不久的将来应该很容易降低此类成本。

2023-06-12 16:40:29 1714

原创 TensorRT综述

TensorRT是NVIDIA提供的用于深度学习推理的高性能推理引擎,它可以优化深度学习模型的推理速度和性能,以满足实时应用的需求。TensorRT采用了多种优化技术,包括网络剪枝、量化、层融合等,可以自动优化网络结构以减少运行时间和内存占用。与常规的深度学习框架相比,TensorRT可以将模型的推理速度提高数倍,同时减少了计算和内存的开销。TensorRT支持多种类型的神经网络,包括卷积神经网络、循环神经网络、生成对抗网络等,可以在多种平台上运行,包括GPU、CPU、嵌入式设备等。

2023-03-24 10:52:11 432

原创 YOLOV7详细解读(四)训练自己的数据集

继美团发布YOLOV6之后,YOLO系列原作者也发布了YOLOV7。YOLOV7主要的贡献在于:1.模型重参数化YOLOV7将模型重参数化引入到网络架构中,重参数化这一思想最早出现于REPVGG中。2.标签分配策略YOLOV7的标签分配策略采用的是YOLOV5的跨网格搜索,以及YOLOX的匹配策略。3.ELAN高效网络架构YOLOV7中提出的一个新的网络架构,以高效为主。4.带辅助头的训练。

2022-09-29 17:00:58 3441 2

原创 YOLOV7详细解读(三)技术要点归纳

继美团发布YOLOV6之后,YOLO系列原作者也发布了YOLOV7。YOLOV7主要的贡献在于:1.模型重参数化YOLOV7将模型重参数化引入到网络架构中,重参数化这一思想最早出现于REPVGG中。2.标签分配策略YOLOV7的标签分配策略采用的是YOLOV5的跨网格搜索,以及YOLOX的匹配策略。3.ELAN高效网络架构YOLOV7中提出的一个新的网络架构,以高效为主。4.带辅助头的训练。

2022-09-17 10:06:58 9209

原创 YOLOV7详细解读(二)论文解读

继美团发布YOLOV6之后,YOLO系列原作者也发布了YOLOV7。YOLOV7主要的贡献在于:1.模型重参数化YOLOV7将模型重参数化引入到网络架构中,重参数化这一思想最早出现于REPVGG中。2.标签分配策略YOLOV7的标签分配策略采用的是YOLOV5的跨网格搜索,以及YOLOX的匹配策略。3.ELAN高效网络架构YOLOV7中提出的一个新的网络架构,以高效为主。4.带辅助头的训练。

2022-09-06 00:00:47 21586 5

原创 YOLOV7详细解读(一)网络架构解读

继美团发布YOLOV6之后,YOLO系列原作者也发布了YOLOV7。YOLOV7主要的贡献在于:1.模型重参数化YOLOV7将模型重参数化引入到网络架构中,重参数化这一思想最早出现于REPVGG中。2.标签分配策略YOLOV7的标签分配策略采用的是YOLOV5的跨网格搜索,以及YOLOX的匹配策略。3.ELAN高效网络架构YOLOV7中提出的一个新的网络架构,以高效为主。4.带辅助头的训练。

2022-09-03 10:28:02 101737 58

原创 人证比对+图片相似度+MTCNN+FACENET+CNN

人证比对+图片相似度理论算法代码理论所谓人证比对,就是人脸识别的一个分支应用。而对于人脸识别,需要满足两个充要条件:1.类内差距小。2.类间差距大。传统CNN模型使用的softmax损失,尽管可以区分每个人,但是无法满足上诉条件。所以,人证比对需要满足以下几个流程。1.获取图片中的人脸。2.CNN进行特征提取。3.三元组损失或者中心损失。算法MTCNN进行人脸裁剪和对齐。然后就是普通的训练啦,resnet,vgg,densenet啥的都行,但是损失必须要用三元组损失或者中心损失。输入两张

2020-09-02 22:06:42 1648

原创 MobileNetV2详细总结以及代码讲解

MobileNetV2模型介绍模型网络代码实现+图片预测模型介绍特点:1.相比于MobileNetV1,先进行了1x1的卷积进行升维,目的在于获得更多特征,然后用3x3的空间卷积,最后再用1x1降维。核心思想是升维再降维,参数量更少。2.为了避免Relu对特征的破坏,在在3x3网络结构前利用1x1卷积升维,在3x3网络结构后,再利用1x1卷积降维后,不再进行Relu6层,直接进行残差网络的加...

2020-05-02 10:46:13 12671

原创 YOLOV9论文概述

今天的深度学习方法侧重于如何设计最合适的目标函数,以便模型的预测结果可以最接近基本事实。同时,必须设计能够促进获取足够信息进行预测的适当架构。现有方法忽略了输入数据经过逐层特征提取和空间变换时的事实,会丢失大量信息。当数据通过深度网络传输时,本文将深入研究数据丢失的重要问题,即信息瓶颈和可逆函数。我们提出了可编程梯度信息 (PGI) 的概念来应对深度网络实现多个目标所需的各种变化。PGI可以为目标任务提供完整的输入信息来计算目标函数,从而获得可靠的梯度信息来更新网络权重。

2024-02-22 15:20:53 1612

原创 stable diffusion微调总结

SDXL 潜在一致性模型 (LCM) 如“潜在一致性模型:使用几步推理合成高分辨率图像”中提出的那样,通过减少所需的步骤数彻底改变了图像生成过程。它将原始 SDXL 模型提炼成一个需要更少步骤(4 到 8 个而不是 25 到 50 个步骤)来生成图像的版本。该模型对于需要在不影响质量的情况下快速生成图像的应用特别有利。值得一提的是,它比原来的 SDXL 小 50%,快 60%。SDXL Distilled 是指为特定目的而“蒸馏”的 SDXL 模型版本。例如,Segmind 稳定扩散模型 (SSD-1B)

2024-02-02 17:51:50 1840 3

原创 PEFT微调方式总结

PEFT 是 Huggingface 开源的一个参数高效微调库,它提供了最新的参数高效微调技术,并且可以与 Transformers 和 Accelerate 进行无缝集成。它为每个任务定义了独特的提示(Prompt),并将这些提示与数据拼接以作为输入,但仅在输入层添加提示标记。该方法将 Prompt 转换为可以学习的 Embedding 层,并用MLP+LSTM的方式来对Prompt Embedding进行一层处理。在输入token之前构造一段任务相关的virtual tokens作为Prefix;

2024-01-19 15:38:22 1138

原创 大模型LORA微调总结

使用lora,给internlm7B模型做训练

2024-01-16 14:27:46 519

原创 milvus安装及langchain调用

Milvus 是一款全球领先的开源向量数据库,赋能 AI 应用和向量相似度搜索,加速非结构化数据检索。Milvus专注于存储、索引及管理由深度神经网络和其他机器学习(ML)模型生成的海量嵌入向量,能够轻松应对万亿级别的向量索引任务。

2024-01-12 09:20:10 1081

原创 Mistral MOE架构全面解析

Mixtral-8x7B 大型语言模型 (LLM) 是一种预训练的生成式稀疏专家混合模型。在大多数基准测试中,Mistral-8x7B 的性能优于 Llama 2 70B。Mixtral 8x7B 是 Mistral AI 全新发布的 MoE 模型,MoE 是 Mixture-of-Experts 的简称,具体的实现就是将 Transformer 中的 FFN 层换成 MoE FFN 层,其他部分保持不变。

2023-12-17 16:38:46 2502 2

原创 Llama 架构分析

Meta 开发并公开发布了 Llama系列大型语言模型 (LLM),这是一组经过预训练和微调的生成文本模型,参数规模从 70 亿到 700 亿不等。在大多数任务中,LLaMA-13B要比GPT-3(175B)的性能要好,LLaMA-65B和组好的模型Chinchilla-70B以及PaLM-540B的实力相当。

2023-12-16 23:52:57 1657

原创 大模型训练数据集汇总

当前大多数以上词级别的NLU模型都是针对特定任务设计的,而针对各种任务都能执行的通用模型尚未实现。为了解决这个问题,作者提出了GLUE,希望通过这个评测平台促进通用NLU系统的发展。斯坦福问答数据集(SQuAD),这是一个由众包工作者在维基百科文章上提出的10万多个问题的阅读理解数据集,每个问题的答案都是相应阅读段落的一部分文本。SQuAD数据集的构建分为三个阶段:1. 筛选文章;2. 通过众包的方式在这些文章上收集问题-答案对;3. 收集额外的答案。

2023-12-09 23:44:58 2132

原创 QLoRA论文概述

微调需要大量显存资源。之前工作的量化大都是在推理而非训练。实验中发现数据的质量比数量重要。评估采用人类和GPT-4相结合。提出了三个技术方案实现单个GPU微调65B模型,达到和16位微调任务相同的性能4-bit NormalFloat(NF4)量化:QLORA使用一种新的数据类型NF4,它在信息理论上最适合正态分布的权重,并在实践中优于4-bit整数和4-bit浮点数。双量化:QLORA采用双量化方法,对量化常数进行第二次量化,从而减少每个参数的内存占用。分页优化器。

2023-12-08 17:52:27 1153

原创 AdaLoRA论文概述

预训练语言模型(PLMs)在各种自然语言处理任务中表现出了优越的性能。为了适应下游任务,最常见的方法是对预训练模型的所有参数进行微调(全微调)。然而,预训练模型通常需要大量内存。例如,BERT模型包含多达3亿参数,T5模型包含多达110亿参数,GPT-3模型包含多达1750亿参数。在构建基于这些预训练模型的NLP系统时,通常需要同时处理多个任务。在有大量下游任务的情况下,全微调需要每个任务维护一个大型模型的单独副本,这导致了禁止性的内存消耗。

2023-12-06 23:42:08 1387

原创 Cython编译python项目

cythonize是 Cython 编译器的一个命令行工具,用于简化 Cython 扩展模块的构建过程。Cython 是一个用于编写 Python 扩展模块的工具,它允许在 Python 中使用 C 的语法和性能,同时保持 Python 的灵活性和易用性。具体来说,cythonize用于将 Cython 源文件(.pyx)编译成 C 代码,并最终构建为共享库或扩展模块,以供 Python 使用。这个工具的目标是提高性能,同时保持 Python 编码的简洁性和可读性。

2023-12-06 17:49:24 692

原创 P-tuning论文概述

近年来,预训练语言模型取得了巨大成功,不仅能够学习上下文表示,还能够掌握语法、句法等知识。根据训练目标,语言模型主要分为三类:单向语言模型(如GPT)常用于自然语言生成,双向语言模型(如Bert)则广泛应用于自然语言理解,而混合语言模型(如XLNet)则综合了两者。传统观念认为,像GPT这样的单向语言模型不适用于自然语言理解任务,但是GPT-3在手工prompt的情况下展现出惊人的性能,特别是在少样本和零样本情境下。这证明了在适当的prompt下,超大规模的单向语言模型在自然语言理解任务上同样表现出色。

2023-12-05 09:27:12 940

原创 Prefix-Tuning 论文概述

大规模预训练语言模型(PLM)在下游自然语言生成任务中广泛采用fine-tuning的方法进行adaptation。但是fine-tuning需要更新模型所有的参数,对于每个任务都需要保存一份完整的模型拷贝,存储成本很高。文章提出prefix-tuning方法,其只优化一个小的连续任务特定向量(称为prefix),KEEP 语言模型参数固定。该方法受prompting的启发,允许后续token参考这个prefix,就像参考一系列“虚拟token”。

2023-12-03 23:01:06 1072

原创 P-Tuning v2论文概述

微调(fine-tuning)是一种在预训练模型基础上进行目标任务调整的方法,它会更新整个模型参数集。虽然微调能获得良好的性能,但由于训练过程中需要存储所有参数的梯度和优化器状态,因此耗费内存。此外,由于预训练模型通常较大,在推理过程中为每个任务保留一份模型参数副本非常不方便。提示调优仅使用冻结的语言模型调整连续提示,大大减少了训练时每个任务的存储和内存使用。然而,在 NLU 的背景下,先前的工作表明,对于正常大小的预训练模型,提示调优表现不佳。

2023-12-03 20:27:23 1301

原创 LORA概述: 大语言模型的低阶适应

LoRA的核心思想在于优化预训练语言模型的微调过程,通过有效地处理权重矩阵的变化(即梯度更新的累积),使其具有“低秩”结构。简而言之,这意味着可以通过低秩分解有效地表示变化矩阵。具体来说,对于预训练权重矩阵W₀,其更新量可以表示为∆W = BA,其中B和A都是低秩矩阵(例如,秩为r,r明显小于矩阵维度d)。在训练期间,W₀被冻结,而B和A中的参数是可训练的。这明显减少了适应的可训练参数数量。如下图所示,在原始预训练语言模型旁边添加一个旁路,执行降维再升维的操作,以模拟内在秩。

2023-12-01 16:47:39 1738

原创 fastReID论文总结

根据平均查准率(Average Precision, AP),第一个匹配列表的AP为0.77,第二个匹配列表的AP为0.7,按照的AP的评价标准,AP值越大的性能越好,因此第二个匹配的性能要优于第一个。这个公式的含义就是截止到最后一个正确的结果时,已经查出的样本中错误的样本所占的比例,因此NP的值越小,性能应该越好。但是,第一个列表中虽然在最靠前的两个结果均正确,但是直到第十个才找到了第三个结果,第二个列表在排序第五的位置就找到了全部的正确结果,因此直观来讲,第二个匹配的性能应该要优于第一个。

2023-11-29 22:30:15 965

原创 YOLOV8解读及推理代码

YOLOv8并非一个全新的目标检测网络,而是在YOLOv5的基础上进行了升级。新的骨干网络创新的Ancher-Free检测头新的损失函数。

2023-11-29 15:14:30 1638

原创 ChatGLM3简介

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:**更强大的基础模型:**ChatGLM3-6B-Base 具有在 10B 以下的基础模型中最强的性能。

2023-11-28 18:00:52 875

原创 Make Pixels Dance: High-Dynamic Video Generation论文解析

动态视频生成一直是人工智能领域的一个重要且富有挑战性的目标。尤其是生成复杂场景和丰富动作的高质量视频,更是难上加难。很多现有的视频生成模型,主要集中在从文本描述生成视频,往往只能输出运动幅度非常小的视频,这也是行业的一个难点。最近,字节跳动的研究人员提出了一个非常有创意的方法——PixelDance,利用图像的先验知识指导视频生成过程,从而大幅提升了视频的动态性。具体来说,该方法除了使用文本描述,还同时使用视频的第一帧图像和最后一帧图像作为条件,来生成中间的动态视频内容。

2023-11-28 11:20:03 2455

原创 大模型之Prompt研究和技巧

Prompt是是给AI**模型的指令,**一个简短的文本输入,用于引导AI模型生成特定的回答或执行特定任务。Prompt是你与语言模型沟通的方式。一个好的Prompt可以让AI更准确地理解你的需求,从而给出更有用的回答。

2023-10-11 17:58:54 3844

原创 langchain主要模块(五):Agent以及Wandb

Agent:这是一个类,负责决定下一步要采取什么行动。它由语言模型和提示驱动。提示可以包括agent的性格、背景上下文以及用于引发更好推理的提示策略等。Tools:这些是agent调用的函数。这里有两个重要的考虑因素:给agent提供正确的工具,以及以最有帮助的方式描述这些工具。Toolkits:这是一组工具,用于完成特定的目标。LangChain提供了一系列的toolkits。AgentExecutor:这是agent的运行时环境。它实际上调用agent并执行其选择的动作。

2023-09-14 10:14:35 1444

原创 langchain主要模块(四):Memory

默认情况下,链式模型和代理模型都是无状态的,这意味着它们将每个传入的查询独立处理(就像底层的 LLMs 和聊天模型本身一样)。在某些应用程序中,比如聊天机器人,记住先前的交互是至关重要的。无论是短期还是长期,都要记住先前的交互。**Memory** 类正是做到了这一点。 LangChain 提供了两种形式的记忆组件。首先,LangChain 提供了用于管理和操作以前的聊天消息的辅助工具。这些工具被设计成模块化的,无论如何使用都很有用。其次,LangChain 提供了将这些工具轻松整合到链式模型中的方法。

2023-09-13 10:34:45 466

原创 langchain主要模块(三):Chain

链允许我们将多个组件组合在一起,创建一个单一而连贯的应用程序。例如,我们可以创建一个链,接受用户输入,使用 PromptTemplate 进行格式化,然后将格式化的响应传递给 LLM。我们可以通过将多个链组合在一起或将链与其他组件组合来构建更复杂的链。

2023-09-13 10:26:08 792

原创 langchain主要模块(二):数据连接

LangChain产生源于Harrison与领域内的一些人交谈,这些人正在构建复杂的LLM应用,他在开发方式上看到了一些可以抽象的部分。一个应用可能需要多次提示LLM并解析其输出,因此需要编写大量的复制粘贴。LangChain使这个开发过程更加简单。一经推出后,在社区被广泛采纳,不仅有众多用户,还有许多贡献者参与开源工作。还有大模型本身的问题,无法感知实时数据,无法和当前世界进行交互。LangChain是一个用于开发大语言模型的框架。

2023-09-12 14:31:39 820

原创 langchain主要模块(一):模型输入输出

LangChain产生源于Harrison与领域内的一些人交谈,这些人正在构建复杂的LLM应用,他在开发方式上看到了一些可以抽象的部分。一个应用可能需要多次提示LLM并解析其输出,因此需要编写大量的复制粘贴。LangChain使这个开发过程更加简单。一经推出后,在社区被广泛采纳,不仅有众多用户,还有许多贡献者参与开源工作。

2023-09-12 14:22:36 582

原创 Fastchat:基于fastapi构建大模型加载服务

FastChat是一个开放平台,旨在为基于大型语言模型的聊天机器人的训练、服务和评估提供便捷支持。其主要特点包括:提供最先进模型(如Vicuna)的权重、训练代码和评估代码。支持分布式多模型服务系统,配备Web用户界面以及与OpenAI兼容的RESTful API。

2023-09-08 14:20:42 6156

原创 FlashAttention:Fast and Memory-Efficient Exact Attention with IO-Awareness

给 Transformer 配备更长的上下文仍然很困难,因为 Transformer 核心自注意力模块的时间复杂度以及内存复杂度在序列长度上是二次方的。FlashAttention是一种新的注意力机制,旨在解决Transformer在处理长序列时速度慢且内存需求大的问题。FlashAttention的创新之处在于引入了IO(输入/输出)感知的设计原则,专注于减少GPU内存(高带宽内存)和GPU片上内存(SRAM)之间的读写次数。

2023-06-29 14:06:16 2380 1

原创 CPM-Bee大模型微调

CPM-Bee是一个完全开源、允许商用的百亿参数中英文基座模型,也是CPM-Live训练的第二个里程碑。它采用Transformer自回归架构(auto-regressive),在超万亿(trillion)高质量语料上进行预训练,拥有强大的基础能力。开发者和研究者可以在CPM-Bee基座模型的基础上在各类场景进行适配来以创建特定领域的应用模型。

2023-06-22 09:30:00 829

原创 基于大模型构建本地知识库

支持的格式:根据语义目前来说,由于语义的不确定性,用规则会取得更好的效果,文本分句长度为800。语义检索的重要前提是Sentence Embeddings。可惜目前看到的绝大部分材料都是使用OpenAIEmbeddings。OpenAIEmbeddings 调用的mode_name=“text-embedding-ada-002” 排在第6位MTEB 排行榜 - MTEB 的拥抱面孔空间 (huggingface.co)对于中文模型在政府语料问题的匹配,在这里测试了ernie-base模型和tex

2023-06-05 15:45:31 10586 5

原创 LLM之高性能向量检索库

Milvus 是一个开源的向量数据库引擎,旨在提供高效的向量存储、检索和分析能力。它被设计用于处理大规模的高维向量数据,常用于机器学习、计算机视觉、自然语言处理和推荐系统等领域。Milvus 提供了多种功能和特性,使其成为处理向量数据的理想选择。高性能:Milvus 使用了高度优化的数据结构和索引算法,以实现快速的向量检索。它支持多种索引类型,如平面索引、倒排索引和 HNSW(Hierarchical Navigable Small World)等,这些索引能够加速向量的相似度搜索。

2023-05-29 16:00:19 1109

原创 开源大模型文档

经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。训练Vicuna的成本约为300美元。它提供了用于训练用户自己的指令调整的大型语言模型、微调模型、用于更新机器人响应的可扩展检索系统以及用于过滤问题的机器人审核的指令。任务3:使用该数据集(webtext2019zh),参考OpenAI的GPT-2,训练中文的文本写作模型、测试在其他数据集上的zero-shot的效果,或测评语言模型的效果。

2023-05-12 17:12:07 1341

原创 pytorch模型转ONNX、并进行比较推理

ONNX(Open Neural Network Exchange)是一种开放式的深度学习模型交换格式,旨在促进不同深度学习框架之间的互操作性。通过将深度学习模型转换为ONNX格式,可以将其从一个深度学习框架移植到另一个框架中,而无需重新训练模型或手动重新实现模型结构。ONNX是由微软和Facebook于2017年联合发布的,目前得到了众多公司和社区的支持和贡献。ONNX格式支持多种深度学习模型类型,包括卷积神经网络(CNN)、循环神经网络(RNN)和变换器(Transformer)等。

2023-03-27 11:40:05 1667

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除