目录
Abstract
本文调查了快速发展的Instruction Tuning (IT) 领域的研究工作,这是增强大型语言模型 (LLM) 功能和可控性的关键技术。指令调优是指以监督方式在由(指令,输出)对组成的数据集上进一步训练 LLM 的过程,它弥合了 LLM 的下一个单词预测目标与让 LLM 遵循人类的用户目标之间的差距。指示。在这项工作中,我们对文献进行了系统回顾,包括IT的一般方法、IT数据集的构建、IT模型的训练以及在不同模式、领域和应用中的应用,并分析了影响IT的方面。 IT 的结果(例如,指令输出的生成、指令数据集的大小等)。论文还回顾了 IT 的潜在陷阱以及对其的批评,并努力指出现有战略和技术的当前缺陷。
1. Introduction
LLM的主要问题之一是训练目标与用户目标之间的不匹配:LLM通常接受的训练是为了最大限度地减少大型语料库上的上下文单词预测错误;而用户希望模型“有效且安全地遵循他们的指示”。为了解决这种不匹配问题,指令调优(IT)是增强大型语言模型的能力和可控性的有效技术。它使用(指令,输出)对进一步训练LLM,其中指令表示模型的人工指令,输出表示指令后面的所需输出。
好处:
(1)在指令数据集上对 LLM 进行微调,弥补了 LLM 的下一个单词预测目标与用户遵循指令的目标之间的差距;
(2) 与标准LLM相比,IT 允许更可控和可预测的模型行为。这些指令用于限制模型的输出,使其与所需的响应特征或领域知识保持一致,为人类干预模型的行为提供渠道;
(3) IT 计算效率高,可以帮助LLM快速适应特定领域,而无需进行大量的再培训或架构更改。
挑战:
(1) 难以制定正确涵盖所需目标行为的高质量指令:现有指令数据集通常在数量、多样性和创造力方面受到限制;
(2) 人们越来越担心 IT 只能改进 IT 训练数据集中大力支持的任务
(3) 人们强烈批评 IT 只捕捉表面的模式和风格而不是理解和学习任务
人们对LLM的分析和讨论越来越感兴趣,包括预训练方法、推理能力、下游应用,但很少涉及 LLM 指令微调的主题。这项调查试图填补这一空白,整理这个快速发展领域的最新知识。具体来说:
第 2 部分介绍了IT中采用的一般方法。
第3 节概述了常用IT 代表性数据集的构建过程。
第4 节介绍了具有代表性的指令微调模型。
第5 节回顾了用于指令调整的多模态技术和数据集,包括图像、语音和视频。
第6 节回顾了利用IT 策略使LLM适应不同领域和应用程序的工作。
第7 节回顾了使指令微调更加高效的探索。
第8 部分介绍了对IT 模型的评估、分析以及不足。
2. Method
论文在这节描述指令调优的工作流程。
(1)构建指令数据集:指令数据集中的每个实例都包含三个元素: 一条指令;提供上下文补充信息的可选输入;以及基于指令和输入的预期输出。
构建指令数据集一般有两种方法:
①来自带注释的自然语言数据集的数据集成:使用模板将文本标签对转换为(指令,输出)对,从现有带注释的自然语言数据集中收集(指令,输出)对
②使用 LLM 生成输出:快速收集给定指令所需输出的另一种方法是使用 GPT-3.5-Turbo 或 GPT4 等 LLM输出
对于多轮对话IT数据集,可以让大型语言模型自行扮演不同的角色(用户和AI助手)来生成对话格式的消息
(2)基于收集的 IT 数据集,可以以完全监督的方式直接对预训练模型进行微调,其中给定指令和输入,通过顺序预测输出中的每个标记来训练模型。
3. Dataset
4. 指令微调的 LLM
在本节中,论文详细介绍了广泛使用的通过指令微调进行训练的LLM模型
5. 多模态指令微调
6. 特定领域的指令微调
在本节中,论文描述不同领域和应用程序中的指令调整。
7. 高效的调优技术
高效的微调技术旨在通过多种方式(即基于加法、基于规范和基于重新参数化)优化小部分参数,使 LLM 适应下游任务。基于加法的方法引入了原始模型中不存在的额外可训练参数或模块。代表性方法包括适配器调整和基于提示的调整。基于规范的方法指定要调整的某些固有模型参数,同时冻结其他参数。例如,BitFit调整预训练模型的偏差项。重新参数化方法将模型权重转换为参数更有效的形式以进行调整。关键假设是模型适应是低秩的,因此权重可以重新参数化为低秩因子或低维子空间(例如 LoRA)。内在提示调整通过调整不同任务的提示来找到共享的低维子空间。
具体方法有:
- LoRA: 使用低秩更新实现 LLM 的高效适应。 LoRA 使用 DeepSpeed作为训练骨干。 LoRA的关键见解是,新任务适应所需的 LLM 权重的实际变化位于低维子空间中
- HINT: 将指令调优的泛化优势与高效的按需微调结合起来,避免重复处理冗长的指令。 HINT 的本质在于超网络,它根据自然语言指令和少量示例生成用于 LLM 适应的参数高效模块。好处是,与常规微调或输入串联方法不同,HINT 可以合并长指令和额外的少量指令,而无需增加计算量
- QLoRA: 包括最佳量化和内存优化,旨在提供高效且有效的LLM微调。 QLORA 包括 4 位 NormalFloat(NF4 量化),这是一种针对 LLM 权重的典型正态分布进行优化的量化方案。当 GPU 内存超出时,QLORA 利用 NVIDIA 的统一内存功能将优化器状态页面到 CPU RAM。
- LOMO: 通过融合梯度计算和更新,使用有限的计算资源实现 LLM 的全参数微调。其本质是在反向传播过程中将梯度计算和参数更新融合为一步,从而避免存储完整的梯度张量。LOMO 采用梯度值裁剪、单独的梯度范数计算通道和动态损失缩放来稳定训练。激活检查点和 ZeRO 优化方法的集成可以节省内存。
- Delta-tuning: 为理论分析提供了优化和最优控制视角。直观上,增量调整通过将调整限制在低维流形来执行子空间优化。调整后的参数充当指导下游任务的模型行为的最佳控制器。
8. 评价、分析和批评
8.1 HELM 评估
HELM是对语言模型(LM)的整体评估,旨在提高语言模型的透明度,提供对语言模型的能力、风险和局限性的更全面的理解。具体来说,与其他评估方法不同,HELM认为对语言模型的整体评估应重点关注以下三个因素:①广泛覆盖(任务,场景)②多指标测量③标准化
8.2低资源指令调优
尝试估计 IT 模型在各种任务上匹配 SOTA 监督模型所需的最小下游训练数据
8.3 较小的指令数据集
IT需要大量的专业指令数据进行训练
8.4 评估指令调优数据集
IT 模型的性能高度依赖于 IT 数据集。然而,缺乏从开放性和主观性方面对这些IT数据集进行评估
8.5 IT 只学习模式复制吗?
为了解决模型通过指令调优获取的具体知识缺乏清晰度的问题,Kung 和 Peng通过比较提供更改指令和原始指令时的调优,深入分析了模型在 IT 期间如何使用指令当前 IT 模型中观察到的显着性能改进可能归因于它们捕获表面模式的能力,例如学习输出格式和进行猜测,而不是理解和学习具体任务。
8.6 专有 LLM 模仿
LLM 模仿是一种从更强大的模型(例如 ChatGPT 等专有系统)收集输出的方法,并使用这些输出来微调开源 LLM。通过这种方式,开源LLM可以获得与任何专有模型竞争的能力。研究人员最好专注于提高基础模型和指令示例的质量,而不是模仿专有模型。