What is 指令调优?

    一种微调方法,在指令-回复对上训练语言模型以遵循自然语言指令并产生特定任务的输出。

    Definition

    指令调优是一种监督微调方法,训练预训练语言模型遵循以自然语言给出的明确指令。训练数据由指令-回复对组成——有时增加系统提示或输入上下文——教会模型理解被要求做什么并产生适当的回复。这将一个下一token预测引擎转变为能够遵循多样化指令的交互式助手。

    这个概念由Google的FLAN论文形式化,并通过Alpaca、Vicuna和OpenHermes系列的后续工作得到完善。这些项目证明了即使相对较小的指令调优数据集(10,000-50,000个高质量样本)也能大幅改善基础模型遵循指令的能力,超越在数百万低质量样本上训练的模型。这一发现使该领域转向了质量优先的数据策划策略。

    指令调优与预训练在目标上是不同的。预训练通过在广泛的网络文本上进行下一token预测来教授通用语言理解。指令调优教会模型解释人类意图、适当地组织其回复并保持任务聚焦。基础模型可能对「摘要这篇文章」的回应是继续文章的文本;经过指令调优的模型理解它应该产生一个简洁的摘要。

    Why It Matters

    指令调优使基础模型变得可用于实际应用。没有它,模型是强大的文本续写器但糟糕的助手——它们难以遵循指令,经常偏题,并以不可预测的格式产生输出。指令调优施加了生产应用所需的结构和可靠性。

    对于为特定领域微调模型的组织来说,指令调优是编码业务逻辑的主要机制。训练数据的格式——指令的措辞方式、提供什么上下文、回复的结构——直接决定了模型在生产中的行为方式。因此,精心设计指令数据集是任何微调项目中杠杆最高的活动之一。

    How It Works

    指令调优使用与标准监督微调相同的训练机制——对预测token的交叉熵损失——但将其应用于精心结构化的数据。每个训练样本通常包含三个组成部分:定义模型角色和约束的系统提示、指定任务的用户指令,以及展示期望输出的助手回复。模型学习在给定系统提示和用户指令的条件下预测助手回复的token。

    训练期间,损失通常仅在助手回复token上计算,而非指令token——这种技术称为回复掩码。这使模型的学习集中在产生好的输出上,而非记忆指令措辞。训练通常使用低学习率运行1-3个epoch,并打乱数据集以防止顺序依赖的学习伪影。

    Example Use Case

    一家医疗公司对模型进行指令调优以处理临床笔记。他们的训练数据包含「提取以下临床笔记中提及的所有药物并列出剂量」等指令,配以专家标注的回复。在涵盖20种临床任务类型的8,000个样本上调优后,模型能够准确处理多样化的临床NLP任务——实体提取、摘要、编码——遵循与其EHR系统集成的特定输出格式。

    Key Takeaways

    • 指令调优使用指令-回复对训练模型遵循自然语言指令。
    • 它将基础语言模型从文本续写器转变为交互式助手。
    • 数据质量比数量更重要——10,000个优秀样本胜过数百万差劲的样本。
    • 回复掩码使学习集中在生成好的输出而非记忆指令。
    • 指令数据集设计是微调项目中杠杆最高的活动之一。

    How Ertas Helps

    Ertas Studio的微调管道围绕指令调优范式构建,Ertas Data Suite提供工具将原始数据结构化为带有系统提示的高质量指令-回复对,确保训练数据满足有效指令调优所需的质量标准。

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.