自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 rag(检索增强技术)

简单来说,。下图是一个检索增强LLM的简单示意图。传统的信息检索工具,比如Google/Bing这样的搜索引擎,只有检索能力(),现在LLM通过预训练过程,将海量数据和知识嵌入到其巨大的模型参数中,具有记忆能力(从这个角度看,检索增强LLM处于中间,将LLM和传统的信息检索相结合,通过一些信息检索技术将相关信息加载到LLM的工作内存()中,即LLM的上下文窗口(),亦即LLM单次生成时能接受的最大文本输入。

2025-01-19 13:41:54 635

原创 LLM 推理常见参数

现在常见的LLM基本都是只包含的,每个Token在输入模型的TransformerDecoder之前,都会首先从TokenEmbedding(有些也叫WordEmbedding)中通过查表获取对应的embedding向量,然后将embedding向量输入TransformerDecoder,并且在最后一层输出的也是同维度的embedding。在预测下一个Token时,实际只利用了上一个Token的embedding。如下图所示,将输入“

2025-01-19 13:38:55 932

原创 大模型推理

需要注意的是,显存的占用情况可能会受到硬件设备、深度学习框架和模型实现的影响。具体来说,INT8在相同的内存空间下可以存储更多的数据,从而可以在相同的计算资源下进行更多的并行计算。需要注意的是,推理速度还受到模型大小、输入数据大小、计算操作的复杂度以及硬件设备的性能等因素的影响。综上所述,使用INT8和FP16数据类型可以在大语言模型的推理过程中提高推理速度,但需要根据具体场景和硬件设备的支持情况进行评估和选择。同时,不同的方法可能对不同的模型和任务有不同的效果,因此需要进行实验和评估。

2025-01-18 13:14:09 860

原创 大模型有监督微调之lora(三)

此外,还引入了分页优化器,以防止梯度检查点期间的内存峰值,从而导致内存不足的错误,这些错误在过去使得大型模型难以在单台机器上进行微调。在涉及到矩阵相乘的模块,在原始的PLM旁边增加一个新的通路,通过前后两个矩阵A,B相乘,第一个矩阵A负责降维,第二个矩阵B负责升维,中间层维度为r,从而来模拟所谓的本征秩(intrinsicrank)。在下游任务训练时,固定模型的其他参数,只优化新增的两个矩阵的权重参数,将PLM跟新增的通路两部分的结果加起来作为最终的结果(两边通路的输入跟输出维度是一致的),即。

2025-01-18 13:10:56 876

原创 大模型有监督微调之预训练及adapter-tuning(三)

首先,作者通过对Prefix Tuning变换,发现Prefix Tuning和Adapters的公式高度相似。然后,分析不同微调方法的内部结构和结构插入形式的相似之处。下图展示了高效微调方法Adapter、Prefix Tuning、LoRA以及新变体(通过更换一些元素,设计了前人的工作里没有的变体) Parallel Adapter、 Scaled PA的结构。

2025-01-17 11:35:42 948

原创 大模型有监督微调之prompting(二)

并且不需要加入 MLP 进行调整来解决难训练的问题。通过实验发现,随着预训练模型参数量的增加,Prompt Tuning的方法会逼近全参数微调的结果。同时,Prompt Tuning 还提出了 Prompt Ensembling,也就是。

2025-01-17 11:21:43 1321

原创 大模型有监督微调(一)

这样,模型就可以适应新的任务,计算开销更少,标记的例子也更少。尽管PEFT是一个相对较新的概念,但自从引入迁移学习以来,更新最后一层模型已经在计算机视觉领域得到了实践。即使在NLP中,静态和非静态词嵌入的实验也很早就进行了。参数高效微调旨在提高预训练模型(如BERT和RoBERTa)在各种下游任务上的性能,包括情感分析、命名实体识别和问答。它在数据和计算资源有限的低资源设置中实现了这一点。它只修改模型参数的一小部分,并且不容易过度拟合。参数高效的微调。

2025-01-16 13:58:24 944

原创 大模型分布式训练之moe并行

因此,需引入额外的通信操作,该策略可以允许更多的专家网络们同时被训练,而其数量限制与计算单元的数量(如:GPU数量)是正相关的。这是 Google 在2021年底推出的一个超大模型,完整的 GLaM 总共有 1.2T 参数,每个 MoE 包含 64 个专家,总共 32 个 MoE 层,但在推理期间,模型只会激活 97B 的参数,占总参数的 8%。该模式针对不同的模型和设备拓扑需要专门的并行策略,同时会引入额外的通信,因此,相较于数据并行+MOE策略,侵入性更强。,而其他的模型都是至少2个。

2025-01-16 13:53:11 1189

原创 大模型分布式训练之自动并行

上面提到 GSPMD 基于。

2025-01-15 13:40:13 923

原创 大模型分布式训练之多维度混合并行

GLM-130B 利用自回归空白填充作为其主要的预训练目标,以下图中的句子为例,它掩盖了随机的连续文本区间(例如,“complete unkown”),并对其进行自回归预测。除此之外,我们也可以采用 DP + TP 进行组合、也可以使用 PP + TP 进行组合,还可以使用 ZeRO3 代替 DP + PP + TP,ZeRO3 本质上是DP+MP的组合,并且无需对模型进行过多改造,使用更方便。同时,作者发现,在给定硬件设置的情况下,最有效方法是将张量并行大小设置为 2,将流水线并行大小设置为 4。

2025-01-15 13:30:02 763

原创 大模型分布式训练之序列并行

除此之外,从文章细节里面可以看到,部分的计算的冗余被消除了,且重叠了一部分的通信,使得设备可以花更多的时间用于计算上面。当两个特性都打开的时候,总共可以降低8成左右的激活值开销,尽管比全部激活值重计算的结果要稍高,但是在吞吐率上的提升还是非常的明显的。一共是 10bsh。通过添加序列并行并没有增加额外的通信开销,反而在后向传播代码的实现上,还把 Reduce-Scatter 和权重梯度的计算做了重叠,进一步减少了通信所占用的时间,使得提高设备的FLOPs Utilization成为了可能。

2025-01-14 14:23:55 849

原创 大模型分布式训练之张量并行

和流水线并行类似,张量并行也是将模型分解放置到不同的GPU上,以解决单块GPU无法储存整个模型的问题。和流水线并行不同的地方在于,

2025-01-14 14:10:49 741

原创 大模型分布式训练之流水线并行

所谓流水线并行,就是由于模型太大,无法将整个模型放置到单张GPU卡中;因此,将模型的不同层放置到不同的计算设备,降低单个计算设备的显存消耗,从而实现超大规模模型训练。如下图所示,模型共包含四个模型层(如:Transformer层),被切分为三个部分,分别放置到三个不同的计算设备。即第 1 层放置到设备 0,第 2 层和第三 3 层放置到设备 1,第 4 层放置到设备 2。相邻设备间通过通信链路传输数据。

2025-01-12 16:25:16 1024

原创 大模型训练之分布式训练

本文主要讲解了大模型分布式训练并行技术的数据并行,并以Pytorch为主线讲解了DP、DDP、FSDP三种不同的数据并行方案。单进程多线程模式,由于锁的机制导致线程间同步存在瓶颈。使用普通的All-Reduce机制,所有的卡需要将梯度同步给0号节点,并由0号节点平均梯度后反向传播,再分发给所有其他节点,意味着0号节点负载很重。由于第二点的原因,导致0号GPU通讯成本是随着GPU数量的上升而线性上升的。不支持多机多卡。目前,由于性能问题,DP基本不用了。

2025-01-12 16:04:35 1024

原创 大模型训练之显存问题

大模型的文件大小与其参数量有关,通常大模型是以半精度存储的, Xb 的模型文件大概是 2X GB多一些,例如 13b 的模型文件大小大约是 27GB 左右。一般来说推理模型需要的显存约等于模型文件大小,全参训练需要的显存约为推理所需显存的三倍到四倍,正常来说,在不量化的情况下4张 v100 显卡推理 65b 的模型都会有一些吃力,无法进行训练,需要通过 LoRA 或者****QLoRA 采用低秩分解的方式才可以训练。是外置的命令,可以监控发送流量,接收流量,总流量,运行。

2025-01-09 18:05:42 427

原创 大模型之训练数据集数据格式

在这个示例中,输入数据是一个句子,奖励数据是一个实数值,动作数据是生成的句子,状态数据是模型的隐藏状态。每一行代表一个样本,第一列是输入数据,第二列是对应的奖励数据,第三列是生成的动作数据,第四列是状态数据。需要注意的是,具体的数据集格式可能会因任务类型、数据来源和使用的深度学习框架而有所不同。需要注意的是,具体的数据集格式可能会因任务类型、数据来源和使用的深度学习框架而有所不同。需要注意的是,使用这些数据集时,应该遵守数据的版权和使用规定,确保合法的使用权。在这个示例中,输入数据是一个句子,

2025-01-09 18:00:34 1719

原创 NLP三大特征抽取器(CNN/RNN/TF)

RNN已经基本完成它的历史使命,将来会逐步退出历史舞台;CNN如果改造得当,将来还是有希望有自己在NLP领域的一席之地;而Transformer明显会很快成为NLP里担当大任的最主流的特征抽取器。NLP任务的特点:输入是个一维线性序列;输入不定长;单词或句子的位置关系很重要;句子中长距离特征对于语义理解也很重要。。

2025-01-06 09:42:13 1212

原创 大模型之词性标注

和分词一样,中文词性标注也存在着很多难点,比如一词多词性,未登录词处理等诸多问题。通过基于字符串匹配的字典查询算法和基于统计的词性标注算法,可以很好的解决这些问题。通过查询字典的方式获取识别词的词性,通过HMM隐马尔科夫模型来获取未登录词的词性,从而完成整个语句的词性标注。和分词一样,词性标注算法也分为两大类,基于字符串匹配的字典查找算法和基于统计的算法。然后使用viterbi算法,利用得到的三个概率,将观测序列(分词后的语句)转化得到隐藏序列(词性标注序列)。jieba在分词的同时,可以进行词性标注。

2025-01-06 09:33:41 747

原创 大模型之分词!

分词是自然语言处理的基础,分词准确度直接决定了后面的词性标注、句法分析、词向量以及文本分析的质量。

2025-01-05 18:22:22 917

原创 LLM基础的若干问题

Transformer 模型一开始是用来做 seq2seq 任务的,所以它包含 Encoder 和 Decoder 两个部分;他们两者的区别主要是,Encoder 在抽取序列中某一个词的特征时能够看到整个序列中所有的信息,即上文和下文同时看到;而 Decoder 中因为有 mask 机制的存在,使得它在编码某一个词的特征时只能看到自身和它之前的文本信息。以BERT为代表的encoder-only以T5和BART为代表的encoder-decoder以GPT为代表的decoder-only,

2025-01-05 18:18:43 699

原创 神经网络调参,要往哪些方向想?

是否需要增强 是否有设置 batch normlaztion(数据归一化)选取合适的优化算法(例如梯度下降,Adam 等)batch size 选择是否合适。损失函数的选择是否是合适的。激活函数的类型需要选取恰当。学习率的选取是否合适。

2024-12-18 17:39:41 96

原创 深度学习中,卷积层的若干思考!!!

优点: 文本特征有时需要有较广的感受域让模型能够组合更多的特征(如词组和字符) 卷积核的大小并没有绝对的优劣,需要视具体的应用场景而定,但是极大和极小的卷积核都是不合 适的,单独的 1×1 极小卷积核只能用作分离卷积而不能对输入的原始特征进行有效的组合,极大的卷积 核通常会组合过多的无意义特征从而浪费了大量的计算资源。卷积神经网络(VGG、GoogLeNet 等),发现通过堆叠 2 个 3×3 卷积核可以获得与 5×5 卷积核相同 的感受视野,同时参数量会更少(3×3×2+1 < $ 5×5×1+1$)

2024-12-18 17:38:38 1233

原创 人脸检测的若干思考!!!

但是往往通常给定最小人脸a=40、或者a=80,以这么大的输入训练CNN进行人脸检测不太现实,速度会很慢,并且下一次需求最小人脸a=30*30又要去重新训练,通常还会是12×12的输入,为满足最小人脸框a,只需要在检测的时候对原图进行缩放即可:w=w×12/a。基于深度学习的方法:基于级联CNN的人脸检测(cascade cnn)、 基于多任务CNN的人脸检测(MTCNN)、Facebox等,很大程度上提高了人脸检测的鲁棒性。1)滑动窗的方式:基于分类器识别为人脸的框的位置确定最终的人脸;

2024-12-17 22:12:48 363

原创 共享参数、空洞卷积

空洞卷积(Dilated Convolution),也称为扩张卷积或空洞卷积核,是一种在卷积神经网络(CNN)中常用的卷积操作,其主要特点是在卷积核中插入空洞(dilation),以扩大感受野(receptive field)。总的来说,共享参数可以有效地减少模型的复杂度、提高泛化能力、节省计算资源,并增强模型的学习能力,是神经网络设计中常用的技巧之一。总的来说,空洞卷积是一种有益的卷积操作,在处理具有大范围空间相关性和保留细节信息的任务中具有重要的应用价值。

2024-10-20 09:54:25 521

原创 RNN,LSTM,GRU的区别和联系? RNN的梯度消失问题?如何解决?

RNN(循环神经网络)的梯度消失问题是指在训练过程中,随着序列长度的增加,网络的梯度逐渐变小并趋向于消失,导致难以捕捉长期依赖关系和训练深度网络。使用残差连接(Residual Connections): 在堆叠多层RNN时,可以使用残差连接将前一层的输出直接加到当前层的输入,类似于残差网络(ResNet)的结构,有助于梯度的传播和减轻梯度消失。这可以通过设置梯度阈值或对梯度进行缩放来实现。LSTM和GRU的区别在于结构上的不同,LSTM包括输入门、遗忘门和输出门,而GRU合并了更新门和重置门,参数更少。

2024-10-20 09:47:19 1174

原创 Dropout为何能防止过拟合?dropout和BN 在前向传播和方向传播阶段的区别?

总体而言,Dropout和Batch Normalization在前向传播阶段的操作有所不同,Dropout通过随机关闭神经元来降低复杂度,而Batch Normalization则对输入进行归一化处理。Batch Normalization: 在前向传播阶段,Batch Normalization会对每个批次的输入进行归一化处理,即使得每个特征的均值接近于零并且方差接近于1。Dropout: 在反向传播阶段,Dropout并没有额外的操作,只是根据前向传播时关闭的神经元进行相应的梯度更新。

2024-10-19 18:00:44 516

原创 什么是过拟合、欠拟合?解决过拟合的方法有什么?解决欠拟合的方法有哪些?

过拟合(Overfitting)是指机器学习模型在训练数据上表现良好,但在新数据上表现较差的现象。过拟合通常是由于模型过于复杂或者参数过多,导致模型在训练数据中学习到了数据的噪声和细节,而忽略了数据的真实规律和普遍性。过拟合的模型在训练数据上表现很好,但在测试数据或实际应用中可能泛化能力较差,预测结果不准确。欠拟合(Underfitting)是指模型在训练数据上无法很好地拟合数据,导致模型在训练集和测试集上都表现较差的现象。

2024-10-19 17:52:44 580

原创 NMS原理及若干种代码实现

在执行目标检测任务时,算法可能对同一目标有多次检测。NMS是一种让你确保算法只对每个对象得到一个检测结果的方法。筛选出一定区域内属于同一类别得分最大的框。大致流程:每轮选取置信度最大的Bounding Box,接着关注所有剩下的BBox中与选取的BBox有着高重叠的(iou)的,它会将在这一轮被抑制。这一轮选取的BBOx会被保留输出,且不会在下一轮出现。接着开始下一轮,重复上述过程:选取置信度最大的BBox,抑制高IOU的BBOX。

2024-10-18 11:46:53 415

原创 逆透视变换(IPM)的原理

IPM逆透视变换的目标是将透视图像转换为平面视图,消除透视畸变,使得图像中的物体在平面上保持正确的几何形状和相对位置关系。原理:通过变换矩阵将图像从透视变换的空间转换为正常的平面空间。这个变换过程通常包括确定变换矩阵的参数,如摄像机的内部参数(如焦距、主点等)和外部参数(如相机的位置和方向),然后利用这些参数进行逆变换。逆透视变换的具体实现可以利用透视变换的逆运算来完成,例如利用透视投影的反变换公式。确定摄像机参数: 首先需要确定摄像机的内部参数(如焦距、主点等)和外部参数(如相机的位置和方向)。

2024-10-17 20:58:03 605

原创 SPP与SPPF的区别?Anchor based和Anchor free的区别?

引入anchor的目的:通过设置不同尺度,不同大小的先验框,就有更高的概率出现对于目标物体有良好匹配度的先验框约束,在锚框的约束下使模型的精准度和召回率都有了质的提升。k=(w/2, h/2, c)的池化层相当于将整个图像平均划分为4分,每一份取一次最大化操作,输出为(2, 2, c)的特征图。k=(w/4, h/4, c)的池化层相当于将整个图像平均划分为16分,每一份取一次最大化操作,输出为(4, 4, c)的特征图。在于是否使用预定义的anchor框来匹配真实的目标框。YOLOv5中的spp。

2024-10-17 11:41:08 523

原创 YOLO的正负样本分配策略

在目标检测中,正负样本分配策略通常用于训练期间为每个样本分配一个权重,以便模型模型更加关注困难的样本和重要的样本。

2024-10-17 11:33:30 1543

原创 如何解决训练数据样本过少的问题?如何解决类别不平衡的问题?

(2)对少数类进行过采样(Over-sampling):通过增加少数类 的样本数量来平衡数据集。(3)评估指标的选择:在类别不平衡的情况下,准确率可能不 是最佳的评估指标。可以考虑使精确率(Precision)、召回率(Recall)或 F1 分数等指标,它们更能反映模型在少数类上的性能。(1)对多数类进行欠采样(Under-sampling):通过减少多数类 的样本数量来平衡数据集。(2)通常涉及的是使用预训练模型的权重作为初始权重,然后 对模型进行微调(fine-tuning)。

2024-10-15 12:15:07 586

原创 Transformer灵魂21问!!!!

因为self-attention是位置无关的,无论句子的顺序是什么样的,通过self-attention计算的token的hidden embedding都是一样的,这显然不符合人类的思维。因此要有一个办法能够在模型中表达出一个token的位置信息,transformer使用了固定的positional encoding来表示token在句子中的绝对位置信息。

2024-10-15 12:04:43 405

原创 如何解决目标检测中密集遮挡问题?

Repulsion Loss核心思想是通过设置损失函数,使得预测框与所负责的真实目标框的距离缩小,同时使得其与周围非负责目标框(包括真实目标框和预测框)的距离加大。具体来说,如果预测框与周围目标的距离越大,损失值会越小,从而鼓励模型将预测框放在距离其他目标较远的位置,减少遮挡的影响。另一种是crowded,即由需要检测的目标物体自身造成的遮挡这两种遮挡都会对目标检测的准确性产生影响,因此需要采取不同的方法来解决。在这种情况下,最好的办法是使用更多的数据和更强的特征来提高算法对遮挡的应对能力。

2024-10-12 16:44:10 667

原创 一文搞懂目标检测技术的发展历程: 从R-CNN到YOLO、DETR、DINO

目标检测技术在过去的十几年中,从传统的方法逐步转变成基于深度学习驱动的方法。2012年,AlexNet在ImageNet竞赛中胜利,促进了目标检测技术的发展。目标检测领域的技术发展经历了从基于卷积神经网络(CNN)的架构到基于Transformer架构的重要转变。最初的突破来自于基于CNN的模型,如R-CNN系列(包括R-CNN、Fast R-CNN和Faster R-CNN),这些模型通过引入区域提议网络(RPNs)和端到端的训练方式,大幅提升了目标检测的准确性。

2024-10-12 16:37:36 2519

原创 YOLOv11| 一文搞懂yolo得最新作品YOLOv11,并训练自己的数据集

YOLOv11是ultralytics公司的最新作品,此公司还出了yolov5,yolov8。不得不说,ultralytics公司出品,必是精品。相比于YOLOv8,在YOLOv11中,将c2f变为C3K2,在SPPF后面添加了C2PSA,检测头内部替换了两个DWConv,模型的宽度和深度进行了大幅度的调整。

2024-10-10 13:11:24 5298 1

原创 使用image watch查看图片像素值

点击Image watch会弹出一个窗口。打开VS2022,进入管理扩展。

2024-09-22 17:12:43 471

原创 用OPenCV分割视频

使用OPencv将分割视频分割成帧。首先安装opencv库。

2024-09-22 16:29:43 536

原创 Visual studio 2022中配置c++版本的opencv

依次点击链接器,输入,附加依赖项(注意一点,要记得留意一下我们代码的运行配置,在属性页的正上方可以看到,比如我这边是Debug模式,平台是x64,因此我的附加依赖项应该是opencv_world455d.lib,而不是opencv_world455.lib,如果你选择的配置是Release,那么你的附加依赖项就应该是opencv_world455.lib)把D:\Opencv\build\x64\vc16\bin下的dll文件全部复制到C:\Windows\System32下。在搜索栏中输入环境变量。

2024-09-10 14:45:11 1072

原创 RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory

在运行项目时,出现RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory的问题。模型下载因为网络问题没有下载成功,再次加载模型代码的时候报错。删除掉的模型,还存在缓存中,加载时加载了缓存中未下载成功的模型。去浏览器中重新下载模型,将模型路径换为本地路径。

2024-09-06 15:28:25 556

Transformer思维导图

Transformer思维导图

2023-12-06

空空如也

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

TA关注的人

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