第 16 课,共 28 课 · 让 AI 真正有用
什么是微调(Fine-tuning)?
微调是让现有 AI 模型适应特定工作的额外训练。你拿一个已经掌握通用语言能力的模型,用一小批你自己的示例继续训练它,例如符合品牌语气的客服回复。这个过程会调整模型内部的参数,因此新的行为会固定下来,不必在每次提示词里重新说明。
从“通才”到“专才”
大语言模型的构建分几个阶段。首先是预训练:模型阅读海量通用文本,学会语言、知识和各种规律,得到一个“通才”,通常称为基础模型。之后任何在更小、更聚焦的数据集上进行、让模型适应更具体用途的训练,都叫微调。
可以想想医生:先读完通用的医学院课程,再接受专科培训。专科培训比最初的学业短得多,却深刻影响他日后的工作方式。微调也是如此:所需数据和算力远少于预训练,对模型行为的影响却是持久的。“先预训练语言模型、再针对任务微调”的思路,因 Howard 与 Ruder(2018)等研究而广为流行。
聊天助手正是靠微调诞生的
刚完成预训练的模型擅长续写文字,却不擅长听从指令:你问它一个问题,它可能只会接着写出更多问题。聊天助手之所以存在,是因为开发者用“有帮助的回答”示例,以及人类对回答优劣的评分来微调这类模型,Ouyang 等人(2022)描述了这种方法。
对大模型的全部参数进行微调成本很高,因此许多团队采用参数高效的方法。其中广泛使用的 LoRA(Hu 等人,2021)会冻结原模型,只训练一小组附加权重,让微调更便宜,也让一个基础模型可以搭载多种轻量的“专长”。
微调、提示词与 RAG 怎么选
一般来说,微调更擅长教“形式”而非“事实”。比如要让模型掌握不断更新的产品目录,RAG 通常更简单、更稳妥。
这是让通用模型贴合需求的三种方式,常常组合使用。常见做法是从成本最低的开始尝试:
- 提示词:写清楚指令和示例。无需训练,随时可改。
- RAG:让模型作答时查阅你的文档。最适合经常变化的事实和需要出处的回答。
- 微调:用数百到数千条示例进行训练。最适合需要大规模重复的固定风格、格式或窄任务。
微调不是什么,以及你会在哪里遇到它
你在对话中纠正聊天机器人,并不是微调;模型不会拿你的聊天记录重新训练自己。用自定义指令加上传文件搭建的助手也不是微调,它依靠的是提示词和检索。微调也不是从零造一个新模型,它总是从一个已有的模型出发。
你会在模型服务商的开发者平台、网上共享的各种开放权重模型微调版本(名称以“instruct”或“chat”结尾的,通常就是经过指令微调的版本),以及提供“用企业自有数据训练定制模型”的企业级 AI 产品中遇到微调。
示例
微调数据长什么样
代码示例{"messages": [
{"role": "system", "content": "你是 Acme 商店的客服助手。"},
{"role": "user", "content": "我的订单到哪了?"},
{"role": "assistant", "content": "很乐意帮忙!请发送订单号,我马上为你查询。"}
]}
{"messages": [
{"role": "user", "content": "可以修改收货地址吗?"},
{"role": "assistant", "content": "可以,只要订单还没发货。请回复新地址,我来帮你更新。"}
]}示意性的训练数据,采用多家微调服务使用的对话格式:每条示例在 JSONL 文件中占一行(此处为便于阅读分行显示)。真实数据集会包含大量体现目标语气的示例;具体格式请以服务商文档为准。
要点
- 微调是让现有模型适应特定任务的额外训练。
- 它会改变模型参数,因此新行为会持续保留。
- 所需数据和算力远少于从零训练。
- 风格、格式和窄任务用微调;变化的事实用 RAG。
- 先试好提示词:成本更低,修改也更快。
在 Mindber 上试试
相关术语
相关主题
常见问题
微调一个模型需要多少数据?
取决于任务和方法。教会模型固定的格式或语气,数量不多的示例就可能奏效;复杂的专业任务则需要多得多的数据。质量比数量更重要:干净、一致、贴近真实输入的示例,比一大堆杂乱数据更有价值。服务商的文档通常会给出最低数量要求。
微调能消除幻觉吗?
不能保证。微调可以让模型遵循你的格式、不跑题,但用事实训练它,并不能保证它准确记住这些事实,它仍可能编造细节。对于必须与文档一致的回答,带来源引用的检索增强生成(RAG)通常更合适,有时也会与微调后的模型配合使用。
微调和训练模型是一回事吗?
微调属于训练,但不是从零开始的训练。预训练要用海量文本和巨大的算力打造模型的通用能力;微调则从训练好的模型出发,在小得多、更聚焦的数据集上继续训练,因此便宜、快速得多,改变的主要是行为,而不是增添大量新的通用知识。
来源
- Universal Language Model Fine-tuning for Text Classification. Howard and Ruder, arXiv, 2018年1月
- Training language models to follow instructions with human feedback. Ouyang et al., arXiv, 2022年3月
- LoRA: Low-Rank Adaptation of Large Language Models. Hu et al., arXiv, 2021年6月
最后更新