大语言模型指令调优综述

23年8月来自浙江大学、南洋理工和亚马逊等单位的综述“Instruction Tuning for Large Language Models: A Survey“。

本文综述快速发展的指令调优(IT)领域的研究工作,IT是增强大语言模型(LLM)能力和可控性的关键技术。指令调优是指在(指令, 输出)对组成的数据集上以监督方式进一步训练LLM的过程,弥合在LLM的下一个单词预测目标与LLM遵守人类指令的用户目标之间的差距。该文对文献进行系统的回顾,包括IT的一般方法,IT数据集的构建,IT模型的训练,不同模态的应用,以及影响IT结果在各个方面的分析(例如,输出指令的生成,指令数据集大小等)。还回顾了IT的潜在陷阱以及批评,指出现有战略的缺陷,并提出了一些富有成效的研究途径。

LLM的主要问题之一是训练目标和用户目标之间的不匹配:LLM通常接受训练,最小化大型语料库的上下文单词预测错误;而用户希望模型“有用且安全地遵循指示”(Radford 2019;Brown2020a;Fedus2021;Rae2021;Thoppilan2022)。

针对这种不匹配问题,该文提出指令调优(IT),作为增强大语言模型能力和可控性的有效技术。涉及用(指令,输出)对来进一步训练LLM,其中指令表示模型的人类指令,输出表示指令之后的所需输出。IT的好处有三个方面:(1)在指令数据集上微调LLM,弥合LLM的下一个单词预测目标与遵循用户指令目标之间差距;(2)与标准LLM相比,IT允许更可控和可预测的模型行为。这些指令用于约束模型的输出,符合所需的响应特征或领域知识,为人类干预模型的行为提供渠道;(3)IT计算效率高,可以帮助LLM快速适应特定领域,无需进行广泛的再训练或架构更改。

尽管IT有效,但也带来了挑战:(1)制作高质量指令以适当覆盖所需的目标行为,并非易事:现有的指令数据集通常在数量、多样性和创造力方面受到限制;(2) 人们越来越担心 IT 只能改进 IT 训练数据集中大量支持的任务(Gudibande 2023 );(3)有人强烈批评IT只捕获表面级别的模式和样式(例如,输出格式),而不是理解并学习任务(Kung & Peng,2023)。提高指令依从性和处理意外的模型响应仍然是悬而未决的研究问题。这些挑战凸显在该领域进一步调查、分析和总结的重要性,需要优化微调的过程更好地了解指令微调LLM的行为。

指令调优的流水线如图:

添加图片注释,不超过 140 字(可选)

下表是指令调优常用的数据集:

添加图片注释,不超过 140 字(可选)

指令调优的LLM如下表:

添加图片注释,不超过 140 字(可选)

下表是多模态指令调优的常用数据集和LLM模型:

添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)

调优的方法

高效的微调技术旨在通过多种方式优化一小部分参数(即基于添加、基于规范和基于重参数化),使LLM适应下游任务。基于附加的方法引入原始模型中不存在的额外可训练参数或模块。代表性方法包括适配器调优(Houlsby 2019 )和基于提示调优(Schick & Schütze2021 )。基于规范的方法指定某些固有模型参数,同时冻结其他参数。例如,BitFit(Zaken 2022 )调整了预训练模型的偏差项。重参数化方法将模型权重转换为参数更有效的优化形式。关键假设是模型适应是低秩的,因此权重可以重参数化为低秩因子或低维子空间,例如LoRA(Hu 2021 年)。内提示(intrinsic prompt)调优,是找到一个通过跨不同任务调整提示所共享的低维子空间。

1 LoRA

低秩适应 LoRA(Hu2021 )用低秩更新对 LLM 进行有效适应。LoRA 使用DeepSpeed (Rasley 2020) 作为训练主干。LoRA的关键见解是,新任务适应所需的LLM权重变化还在于低维子空间。具体来说,对于预训练的权重矩阵W0,自适应的权重矩阵W0 +∆W,其中∆W 是低秩更新。∆W 参数化为 ∆W = BA,其中 A 和 B 是小得多的可训练矩阵。选择 ∆W 的秩 r 远小于 W0 的维度。直觉是不是直接训练所有 W0,而是训练低维 A 和 B,这间接地在对下游任务重要方向的低秩子空间训练 W0。与完全微调相比,可训练参数少得多。对于 GPT-3, 与完全微调相比,LoRA 将可训练参数的数量减少 10,000 倍,内存使用量减少 3 倍。

2 HINT

HINT(Ivison 2022 )将指令调优的泛化优势与高效的按需微调相结合,避免重复处理冗长的指令。HINT的本质在于超网络(hypernetwork),基于自然语言指令和少样本生成用于LLM适应的参数-高效模块。所采用的超网络将指令和少样本示例转换为编码指令,并用预训练的文本编码器和基于交叉注意的参数生成器去生成适配器和前缀参数。然后,将生成的适配器和前缀作为高效调优模块插入到主干模型中。在推理时,对每个任务超网络仅执行一次推理,生成适配的模块。好处是 HINT 可以合并长指令和额外的少样本,无需增加计算,这与常规的微调或输入合并方法不同。

3 QLoRA

QLORA(Dettmers 2023 )包括最佳量化和内存优化,旨在提供高效和有效的 LLM 微调。QLORA 包括 4 位 NormalFloat (NF4) 量化,这是一种针对 LLM 权重典型正态分布进行优化的量化方案。通过基于正态分布的分位数(quantile)进行量化,NF4 提供了比标准 4 位整数或浮点数量化更好的性能。为了进一步减少内存,量化常数本身被量化为 8 位。量化第二级平均每个参数额外节省 0.37 位。QLORA 利用 NVIDIA 的统一内存功能,在超出 GPU 内存时将优化器状态页面优化到 CPU RAM,避免在训练期间内存不足。与全 16 位微调相比,QLORA 能够在单个 48GB GPU 上训练 65B 参数 LLM,不会系统性能下降。QLORA的工作原理是冻结4位量化基LLM,然后反向传播到一小批学习的16位低秩适配器权重。

4 LOMO

低内存优化 (LOMO)(Lv 2023 )通过一个梯度计算和更新的融合,用有限的计算资源对 LLM 进行全参数微调。其本质是在反向传播过程中将梯度计算和参数更新融合为一个步骤,从而避免存储完整的梯度张量。首先,LOMO中提供了理论分析,说明为什么SGD可以很好地微调大型预训练模型,尽管它在较小的模型上具有挑战性。此外,LOMO 在反向传播中计算其梯度后立即更新每个参数张量。一次存储一个参数的梯度将梯度内存减少到 O(1)。LOMO 采用梯度数值裁剪、单独的梯度范数计算过程和动态损失规模化来稳定训练。集成激活检查点和 DeepSpeed ZeRO (Zero Redundancy Optimizer)优化方法,可节省内存。

5 Delta-tuning

Delta-调优(Ding 2023b)为理论分析提供了优化和最佳控制视角。直观地说,Delta-调调将细调限制为低维流形来执行子空间优化。调优的参数充当指导下游任务模型行为的最佳控制器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值