大模型知识搬运工 之 常见大模型微调的七种方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

常见的大模型微调的方法包括Lora、OLora、适配器调整(Adapter Tuning)、前缀调整(Prefix Tuning)、提示调整(Prompt Tuning)、P-Tuning、P-Tuning v2。
在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、Lora

Lora(Low-Rank Adaptation)是一种旨在微调大型预训练语言模型的技术。
其核心理念在于,在模型的决定性层次中引入小型、低秩的矩阵来实现模型行为的微调,而无需对整个模型结构进行大幅度修改。
这种方法的优势在于,在不显著增加额外计算负担的前提下能够有效地微调模型,同时保留模型原有的性能水准。

Lora的操作流程如下:

  1. 确定微调目标权重矩阵:首先在大型模型中识别出需要微调的权重矩阵,这些矩阵一般位于模型的多头自注意力和前馈神经网络部分。
  2. 引入两个低秩矩阵:然后,引入两个维度较小的低秩矩阵A和B。假设原始权重矩阵的尺寸为dd,则A和B的尺寸可能为dr和r*d,其中r远小于d。
  3. 计算低秩更新:通过这两个低秩矩阵的乘积AB来生成一个新矩阵,其中秩(即r)远小于原始权重矩阵的秩。这个乘积实际上是对原始权重矩阵的一种低秩近似调整。
  4. 结合原始权重:最终,新生成的低秩矩阵AB被叠加到原始权重矩阵上。因此,原始权重经过微调,但大部分权重维持不变。这个过程可以用数学表达式描述为:新权重=原始权重+AB。

二、QLora

OLora(QuantizedLow-RankAdaptation)是一种结合了Lora(Low-RankAdaptation)方法与深度量化技术的高效模型微调技术。

OLora的核心在于:

1.量化技术:QLora采用创新的技术将预训练模型量化为4位。这一技术包括低精度存储数据类型(4-bit Normal Float,简称NF4)和计算数据类型(16-bit Brain Float)。这种做法极大地减少了模型存储需求,同时保持了模型精度的最小损失。

2.量化操作:在4位量化中,每个权重由4个比特表示,量化过程中需选择最重要的值并将它们映射到16个可能的值之一。首先确定量化范围(例如,-1到1),然后将这个范围分成16个区间,每个区间对应一个4-bit值。然后,原始的32为浮点数值将映射到最近的量化区间值上。

3.微调阶段:在训练期间,QLora先以4-bit格式加载模型,训练时将数值反量化到bf16进行训练,这样大幅减少了训练所需的显存。例如,33B的llama模型可以在24GB的显卡上进行训练。

量化过程的挑战在于设计合适的映射和量化策略,以最小化精度损失对性能的影响。在大模型中,这种方法可以显著减少内存和计算需求,使得在资源有限的环境下部署和训练成为可能。

三、适配器调整(Adapter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值