赞
踩
(Parameter-efficient Transfer Learning),即固定住Pretrain Language model的大部分参数,仅调整模型的一小部分参数来达到与Full fine-tuning接近的效果(调整的可以是模型自有的参数,也可以是额外加入的一些参数)。
下面这 3 类方法在微调时都固定了预训练参数,只训练添加的额外模块。
2.3. P-tuning与Prefix-Tuning的区别
2.4. P-tuning-V2
P-Tuning v2的目标就是要让Prompt Tuning能够在不同参数规模的预训练模型、针对不同下游任务的结果上都达到匹敌Fine-tuning的结果。
2.5. P-tuning-V2比Prompt Tuning和P-tuning的好處
P-tuning v2方法在多层加入了Prompts tokens作为输入,带来两个方面的好处:
其理论依据在于:神经网络通常包含大量的全连接层,并通过执行矩阵乘法来完成前向传播。这些全连接层中的参数矩阵往往是满秩的,对模型的训练过程其实就是在学习优化这些参数矩阵。而预训练模型中的参数矩阵往往存在一个”本征维度“,即我们学习到的这些参数的优化量可以是低秩的,被映射到一个低维空间下也能保持很好的性能。在这样的前提下,我们可以只对参数矩阵中低秩的部分进行优化,并将整体的训练过程表示成一个低秩矩阵的优化过程:
前向传播过程可以表示如下:
A、B是两个低维的矩阵,相较于原本的参数规模,待优化的参数规模被大大减小。整体的流程如下所示:
在RoBERTa,DeBERTa,GPT-2与GPT-3上,LoRA在只训练极少数参数的情况下取得了接近全参数微调的结果,证明了该方法的有效性。
參考:大模型微调技术汇总
进行并行加速,可以从数据和模型两个维度进行考虑。
数据进行切分(Partition),并将同一个模型复制到多个设备上,并行执行不同的数据分片。
在数据并行系统中,每个计算设备都有整个神经网络模型的完整副本(Model Replica),进行迭代时,每个计算设备只分配了一个批次数据样本的子集,并根据该批次样本子集的数据进行网络模型的前向计算。假设一个批次的训练样本数为 N,使用 M 个计算设备并行计算,每个计算设备会分配到 N/M 个样本。前向计算完成后,每个计算设备都会根据本地样本计算损失误差得到 梯度 Gi(i 为加速卡编号),并将本地梯度 Gi 进行广播。所有计算设备需要聚合其他加速度卡给 出的梯度值,然后使用平均梯度 (ΣN i=1Gi)/N 对模型进行更新,完成该批次训练。
对模型进行划分, 将模型中的算子分发到多个设备分别完成
按模型的层切分到不同设备,即层间并 行或算子间并行(Inter-operator Parallelism)
将计算图层内的参数切分到不同设备,即层内并行或算子内并行(Intra-operator Parallelism)
參考:千亿模型并行训练技术
參考:GPT和Bert的区别
LLM之所以主要都用Decoder-only架构,除了训练效率和工程实现上的优势外,在理论上是因为Encoder的双向注意力会存在低秩问题,这可能会削弱模型表达能力,就生成任务而言,引入双向注意力并无实质好处。
领域自适应预训练(Domain-Adaptive Pretraining),即在所属的领域数据上继续预训练(or 增量预训练、二次预训练)。需要注意以下几点
在 Transformer 结构中,自注意力机制的时间和存储复杂度与序列的长度呈平方的关系,因此 占用了大量的计算设备内存和并消耗大量计算资源。因此,如何优化自注意力机制的时空复杂度、 增强计算效率是大语言模型需要面临的重要问题。一些研究从近似注意力出发,旨在减少注意力 计算和内存需求,提出了包括稀疏近似、低秩近似等方法。此外,也有一些研究从计算加速设备本 身的特性出发,研究如何更好利用硬件特性对 Transformer 中注意力层进行高效计算。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。