11.1 微调数据准备
一、概念:微调数据是什么,为什么它比模型本身更重要
微调数据,本质上就是”例题与标准答案的配对集合”。如果把预训练模型比作一个读了整个图书馆但从未参加过考试的学生,那么微调数据就是一套精心编写的模拟试卷——每一道”题目”(用户指令)后面都附有一份”标准答案”(期望回复)。学生做完这套卷子,就知道考试时该用什么格式、什么风格来答题了。
这个比喻并非夸张。2023 年 Meta 发表的 LIMA 实验是微调领域最具冲击力的发现之一:仅仅用 1000 条 精心筛选的高质量指令-回答对去微调一个 65B 参数模型,生成的回答在 43% 的情况下被人类评委认为等价于甚至优于 GPT-4 的输出,而且显著超越用 52000 条常规数据训练的同一模型。1 这个结果凝聚成一句业界共识:数据质量远比数据数量重要。
2025-2026 年的前沿研究进一步夯实了这个结论。EMNLP 2025 发表的”Structure Trumps Size”研究表明,数据集的结构特性(如推理步骤数量、逻辑连贯性、难度梯度)对模型推理能力的贡献,远超单纯的数据量堆砌。2 IEEE TASLP 2026 发表的 DEFT 框架更是证明,仅用 6000 条 经四维筛选(复杂度、质量、知识密度、多样性)的 SFT 样本即可达到当时的最优效果。3
为什么数据质量的影响如此巨大?因为大语言模型在预训练阶段已经”见过”了绝大部分人类知识。它不缺知识,缺的是”在什么场合、用什么口吻、按什么结构来组织这些知识”的指引。微调数据的作用不是灌输新知,而是校准行为模式——就如同一个有满腹经纶的人只需要一本礼仪手册就能在正式场合表现得体,而不需要重新学一遍所有知识。
生活比喻:预训练模型像一个在厨房里囤积了全世界所有食材的厨师(米其林餐厅的、菜市场的、太空站的,全堆在一起)。SFT 微调数据就是一本菜谱——告诉厨师:“客人点了红烧肉时,请用五花肉 + 酱油 + 冰糖这个组合,按焯水、炒糖色、慢炖的顺序做,不要掏出三文鱼和芥末。“菜谱不需要写一万本,一本好的就够。
因此,本章要回答的核心问题是:什么样的数据才叫”好数据”?怎么准备它?
二、教学:从零开始准备一份微调数据集
2.1 数据格式:你的”例题+答案”该怎么写
微调数据在计算机中存储为结构化的文本文件,目前有两大主流格式体系。不要求你懂编程,但你至少要能”看懂”一个数据样本长什么样。
2.1.1 Alpaca 格式(指令-回答对)
Alpaca 格式由斯坦福大学在 2023 年提出,是目前使用最广泛的格式。每条数据由三个字段构成:instruction(指令,即用户想要什么)、input(可选的补充输入)、output(标准答案)。4
生活类比:Alpaca 格式就像一张”问答题卡片”——正面写题目,背面写标准答案。老师在考试前自己先写一遍答案,然后拿卡片去训练学生。
{
"instruction": "用通俗的语言解释什么是通货膨胀",
"input": "",
"output": "通货膨胀就是钱越来越不值钱。比如去年一碗面10块,今年同样的面要12块——不是因为面变好了,而是你手里那张100块能买到的东西变少了。"
}
当 input 有内容时,它和 instruction 拼接在一起作为完整的”用户指令”:
{
"instruction": "将以下句子翻译成英文",
"input": "今天天气真好,我们出去走走吧。",
"output": "The weather is really nice today. Let's go for a walk."
}
Alpaca 格式的优点是简单直观,缺点是原生的单轮格式不适合记录多轮对话。如果需要多轮对话,需要在 history 字段中额外存储历史问答对。
2.1.2 ShareGPT / Messages 格式(多轮对话)
ShareGPT 格式得名于用户分享 ChatGPT 对话记录的行为,而后被各大微调框架(HuggingFace TRL、LLaMA-Factory、Fireworks AI 等)采纳为标准。它的核心思路是:将整段对话存储为一个 messages 列表,每条消息标注发言者角色(system 表示系统指令、user 表示用户、assistant 表示 AI 助手)。5
生活类比:ShareGPT 格式就像一段微信聊天记录的完整截图——不仅记录了每个人说了什么,还按时间顺序保留了上下文。训练模型看这些记录,就像让它旁听一整段客服对话,学会在什么上下文中应当如何接话。
单轮对话示例:
{
"messages": [
{"role": "system", "content": "你是一个耐心、友善的数学老师,用小学生能听懂的方式解释问题。"},
{"role": "user", "content": "什么是质数?"},
{"role": "assistant", "content": "质数就是只能被1和它自己整除的数。比如7是质数,因为7除以2、3、4、5、6都会有余数,只有7除以1和7除以7能刚好除尽。但8不是质数,因为8除以2等于4,除得尽。"}
]
}
多轮对话示例:
{
"messages": [
{"role": "system", "content": "你是一个专业的旅行规划助手。"},
{"role": "user", "content": "我想去日本玩一周,有什么推荐?"},
{"role": "assistant", "content": "一周时间很合适!建议走经典路线:东京(3天)→ 京都(2天)→ 大阪(2天)。您对什么比较感兴趣?美食、历史、还是购物?"},
{"role": "user", "content": "我比较喜欢历史和美食。"},
{"role": "assistant", "content": "那建议把京都的时间延长到3天。京都的古寺和怀石料理是精髓。东京可以压缩到2天,重点逛浅草寺和筑地市场。大阪2天正好,道顿堀的美食够你吃两天。"},
{"role": "user", "content": "好的,能帮我规划详细行程吗?"},
{"role": "assistant", "content": "当然!以下是一份7天历史美食之旅的详细规划:\n\n第1天(东京):抵达后去浅草寺..."}
]
}
格式选择建议:如果你的微调目标场景是单次问答(如客服FAQ、文本分类、翻译),用 Alpaca 格式即可。如果目标是多轮对话助手(如心理咨询、教学辅导、任务型对话),必须用 ShareGPT 格式,因为模型需要学习”在上下文中持续跟进话题”的能力。
关键细节:训练时,只有
assistant(或output)部分的文字参与损失计算。用户指令和系统提示部分的文字,模型只是”看到”但不”背诵”。这确保了模型学到的是”给定用户的提问,应当回答什么”,而不是”用户一般会怎么提问”。
2.2 数据来源:你的例题从哪里来
2.2.1 人类标注(最贵但最可靠)
雇人手工编写或筛选指令-回答对。OpenAI 在训练 ChatGPT 时雇了数百名标注员,每条高质量数据的标注成本约在 1 到 10 美元之间。一万条高质量人类标注数据的总成本大约在 1 万到 5 万美元。
适用场景:对准确性要求极高的专业领域(医疗、法律、金融合规),因为差错容忍度为零。
生活类比:人类标注就像请一位资深大厨亲自下厨写菜谱——最精准但也最花钱。适合米其林餐厅(高要求领域),不适合街边小摊(通用场景)。
2.2.2 知识蒸馏(性价比最高)
用一个更大更强的模型(如 GPT-4、Claude)生成标准答案,然后拿去训练较小的模型。这个过程叫做”知识蒸馏”——大模型的”知识”被”蒸馏”浓缩到了小模型的训练数据中。
生活类比:大师傅(大模型)先做一遍所有菜,把菜谱和成品照片留档。学徒(小模型)对着菜谱反复练,也能做出八九分像的菜来。
斯坦福 Alpaca 是最经典的蒸馏案例:用 GPT-3.5 生成了 52000 条指令数据,去训练 LLaMA 7B,结果 7B 的小模型在很多任务上接近 GPT-3.5 的表现。6
蒸馏的关键原则:
- 种子多样性:用来生成数据的”初始问题”必须覆盖足够广泛的主题。不要只问 100 种问法的”写一封邮件”,而要从 8 个类别(写作、编程、数学、推理、翻译、分类、摘要、创作)中均衡采样。
- 生成一致性:SDGT 方法研究发现,将 instruction(指令)、input(输入)、output(输出)作为一个整体一次性生成,比先生成问题、再单独生成答案的方式,逻辑一致性更高。7
- 质量控制:蒸馏出的数据需要用另一个模型(或人类)做二次质检。2025 年的研究表明,自动验证链条可以过滤掉约 15%-30% 的质量不达标样本。
2.2.3 开源社区数据集(零成本起步)
2023 年以来,社区积累了大量可以直接使用的开源 SFT 数据集。以下是经过社区验证、质量较高的主流选项:
OpenAssistant(OASST1)
- 规模:约 12000 条多轮对话
- 特点:完全由志愿者人类标注,支持 35 种语言(含中文),每条数据附带质量评分
- 适用场景:通用对话助手,多语言场景
- 获取:https://huggingface.co/datasets/OpenAssistant/oasst1
- 类比:就像维基百科——全球志愿者共同编纂,质量靠社区审核机制保障。8
Databricks Dolly 15K
- 规模:15000 条
- 特点:由 Databricks 公司员工在 2023 年标注,覆盖开放问答、分类、信息抽取、摘要、创意写作、头脑风暴、封闭问答七大类任务
- 适用场景:入门级微调实验,任务类型覆盖广
- 获取:https://huggingface.co/datasets/databricks/databricks-dolly-15k
- 注意:数据全部为英文,中文场景需要自行翻译或寻找中文替代数据集
WildChat
- 规模:约 50 万条真实用户与 ChatGPT 的对话
- 特点:来源是真实用户在使用 WildChat 服务时自愿分享的对话记录,场景高度真实(包含用户打字错误、模糊需求、多次追问等真实交互特征)
- 适用场景:需要真实对话分布的多轮助手训练
- 注意:包含用户真实提问,使用前需评估隐私风险,建议做 PII 过滤
- 获取:https://huggingface.co/datasets/allenai/WildChat
LMSYS-Chat-1M
- 规模:100 万条
- 特点:来自 Chatbot Arena 平台的真实用户对话,每条数据包含用户对模型回答的质量评分
- 适用场景:大规模 SFT 数据增强,偏好对齐训练(DPO)的预训练阶段
- 获取:https://huggingface.co/datasets/lmsys/lmsys-chat-1m
实践推荐:如果你在做通用场景的微调,建议”混合策略”——自己标注 100-500 条高质量的领域专属数据,再混入 1000-3000 条开源通用 SFT 数据。纯通用数据训练的模型”什么都会但什么都不精”;纯领域数据训练的模型”只懂这个领域但不会正常聊天”。
2.3 数据清洗:砍掉不合格的”例题”
数据清洗是微调流程中最耗时但回报最高的环节。一位有经验的微调工程师通常会花 40%-60% 的项目时间在数据清洗上,而不是调参或写训练代码。9
以下是经过 2025-2026 年行业实践验证的标准清洗流程,按执行顺序排列:
第一步:格式校验
目标:确保每一条数据在结构上是完整的、可解析的。
- JSON/JSONL 格式合法性:检查括号匹配、逗号遗漏、非法字符
- 必填字段完整性:Alpaca 格式必须有
instruction和output;ShareGPT 格式必须至少有一条user消息和一条assistant消息 - 编码统一:所有文件必须为 UTF-8 编码。全角/半角字符、中文引号/英文引号的知识混用会导致训练时出现不可预期的乱码
- 空白字符规范化:将多个连续空格、制表符、换行符合并为单个,去除首尾空白
生活类比:格式校验就像快递员分拣包裹——先看快递单(JSON 结构)有没有破损、地址(字段)有没有写全、字迹(编码)能不能辨认。如果快递单都看不清,后面再怎么处理都没意义。
第二步:去重
目标:移除重复或高度相似的训练样本。
重复数据在微调中的危害特别大——模型会在重复样本上”过度学习”,产生一种叫过拟合的现象:遇到和训练数据相似的问题时回答得一字不差,遇到稍有变化的问题就不知所云。
三层去重策略:
| 层级 | 方法 | 能检测出的重复类型 |
|---|---|---|
| 精确去重 | 对文本计算哈希值(MD5/SHA256),相同哈希 = 重复 | 完全相同的指令+答案 |
| 近似去重 | 使用 SimHash 算法,计算两条文本的”汉明距离”(Hamming distance),距离小于阈值(通常设为 4-6)视为重复 | “今天天气如何” vs “今天天气怎么样” |
| 语义去重 | 用嵌入模型(Embedding model)将文本转为向量,余弦相似度超过 0.92 视为重复 | “介绍一下北京” vs “说说首都的情况” |
生活类比:去重就像老师出卷子——如果 100 道题里有 20 道是同一道题的换个说法,考出来的分不能代表学生真会了。
第三步:隐私信息(PII)去除
目标:确保训练数据中不包含可追溯到真实个人的隐私信息。
微调数据和预训练数据不同——微调数据通常来自更具体的来源(客服对话、内部文档、用户反馈),隐私泄露风险更高。必须扫描并移除或脱敏以下内容:
- 电子邮箱地址(正则匹配
xxx@xxx.xxx模式) - 电话号码(中国大陆手机号 11 位、固话带区号等)
- 身份证号、护照号
- 信用卡号(符合 Luhn 算法的数字序列)
- IP 地址(IPv4/IPv6)
- 家庭住址
建议的脱敏策略:将检测到的 PII 替换为占位符而不是直接删除整条数据。例如 zhangsan@example.com 替换为 [EMAIL_1],13800138000 替换为 [PHONE_1]。这样保留了数据的结构信息,同时消除了隐私风险。
注意:日期(如”2024年3月”)和普通数字(如”3000元”)不是 PII,不要误删。过度激进的 PII 过滤会破坏数据的语义完整性。
第四步:长度过滤
目标:剔除过短(无信息)或过长(超出模型处理能力)的样本。
- 下限过滤:指令文本少于 10 个字符、或答案文本少于 5 个字符的样本通常是无意义的垃圾数据(如”嗯。""好的。“这类无信息回复)
- 上限过滤:指令+答案的总 token 数不应超过训练时设置的上下文长度上限(通常为 2048 或 4096 token)。超长样本会被截断,导致丢失关键信息
- 特别关注:如果目标场景是简短回复(如客服自动应答),训练数据中混入大量长篇大论的样本会导致模型在实际使用中啰嗦不止——这就是”答案长度分布漂移”的问题
第五步:质量与一致性检查
目标:确保答案正确、风格一致、不包含有害内容。
| 检查项 | 具体做法 | 工具/方法 |
|---|---|---|
| 答案正确性 | 如果任务有客观答案(数学题、翻译),验证答案是否正确 | 规则校验、强模型二次验证 |
| 风格一致性 | 检查所有答案是否遵循统一的格式和口吻 | 人工抽查 50-100 条,定义”风格基准样本” |
| 无毒性/无偏见 | 筛查含有侮辱性、歧视性、暴力、色情内容的样本 | 关键词黑名单 + 毒性分类器 |
| 无语义断裂 | 剔除中途截断、乱码、不同语言混杂的样本 | 语言检测模型 + 困惑度(perplexity)评分 |
| 拒绝回答检测 | 识别”作为AI我无法…”开头的回复,根据场景决定保留或剔除 | 关键词匹配 + LLM 判断 |
核心原则:一致性比完美更重要。一个”每条答案都用项目符号分点列出”的数据集,即使个别答案不是”最完美的”,也比一个”有的用项目符号、有的用段落、有的用列表”的混合数据集训练效果更好。模型通过统计模式学习——模式越统一,学得越快越稳。
2.3.1 清洗流程总览
原始数据
→ 格式校验(JSON有效性、字段完整性、UTF-8编码)
→ 去重(精确去重 → 近似去重 → 语义去重)
→ PII 去除(邮箱、电话、身份证号等脱敏)
→ 长度过滤(剔除过短/过长样本)
→ 质量检查(正确性、一致性、无害性)
→ 清洗后数据集
一个实际经验:在典型的微调项目中,原始数据经过完整的五步清洗流程后,通常会淘汰 20%-40% 的样本。这不是浪费——这是把”沙子”筛掉,留下”金子”。
2.4 数据量经验法则:多少数据才够
“需要多少微调数据”是每个新手最先问的问题。答案是:取决于你的任务类型。2025 年的研究彻底颠覆了”越多越好”的传统认知。
分类任务:100 到 1000 条
让模型学会判断一段文本属于哪个类别(如情感分析:正面/负面/中性,垃圾邮件检测,意图识别)。分类任务是最容易微调的任务类型——模型在预训练阶段已经充分理解了语言的语义,微调只需要教它按你的分类标准做判断。
2025 年的研究表明,仅用约 100 条标注样本微调的小模型,即可在文本分类任务上达到与大通用模型持平的性能。10
推荐起步量:500-1000 条,涵盖所有分类标签的均衡样本。
生活类比:分类任务就像教人区分苹果和橘子——你不需要给他看一千张苹果照片,看几十张他就掌握了”圆的、红的/黄的、有梗的 = 苹果”这个模式。
生成任务:1000 到 10000 条
让模型学会以特定风格、格式或领域知识来生成文本(如撰写特定格式的报告、模仿某种文风、回答特定领域的咨询)。生成任务的难度高于分类,因为模型需要同时掌握”内容”和”形式”两个维度。
LIMA 实验已经证明,1000 条高质量样本就足以产生显著的行为对齐效果。11 如果你的任务是”改变回答风格”(如让 AI 用古文回答),几百条即可看到明显变化。如果需要注入领域知识(如让 AI 回答法律问题),建议 3000-5000 条起步。
2025 年 DEFT 框架的发现:通过多维度筛选(复杂度、质量、知识密度、多样性),6000 条精心挑选的样本就能超越用数万条常规数据训练的效果。12
推荐起步量:1000 条高质量样本作为基线,绘制学习曲线(分别用 500、1000、2000、5000 条训练,观察验证集效果),找到收益递减点。
复杂推理任务:1000 到 10000+ 条,但策略比数量重要
让模型学会多步推理、数学证明、代码调试等需要深度思考的任务。
2025 年一项颠覆性发现:“Data Repetition Beats Data Scaling”研究证明,在相同计算预算下,用 400 条数据训练 128 轮 的效果,竟然比 用 51200 条数据训练 1 轮 高出 12 到 26 个百分点。13
这意味着对于复杂推理任务,重复训练比数据量更重要。模型需要反复”咀嚼”同一个推理过程,才能真正内化思维模式。浅层接触大量不同题目反而效果更差。
推荐起步量:1000-3200 条高质量推理轨迹(包含完整的思维链),配合 4-16 轮的重复训练。
一张表总结
| 任务类型 | 最低起步量 | 推荐范围 | 收益递减点 | 关键策略 |
|---|---|---|---|---|
| 分类/意图识别 | 100 条 | 500-2000 条 | 5000 条以上 | 类别均衡 > 绝对数量 |
| 风格/格式对齐 | 200 条 | 500-2000 条 | 3000 条以上 | 一致性 > 数量 |
| 通用对话生成 | 500 条 | 1000-10000 条 | 50000 条以上 | 多样性 > 数量 |
| 领域知识注入 | 1000 条 | 3000-8000 条 | 20000 条以上 | 准确性 > 数量 |
| 复杂推理/数学 | 200 条 | 1000-3200 条(多轮训练) | 6400 条以上(单轮训练) | 重复训练 > 多数据 |
数据量与模型规模的匹配
一个常见的错误是:用一个很小的数据集去全量微调一个很大的模型。
| 模型规模 | 推荐数据量 | 推荐微调方法 |
|---|---|---|
| < 1B 参数 | 500-5000 条 | 全量微调或 LoRA |
| 1B-10B 参数 | 1000-20000 条 | LoRA(rank=16-32) |
| 10B-70B 参数 | 3000-50000 条 | LoRA/QLoRA(rank=16-64) |
| > 70B 参数 | 5000-100000+ 条 | QLoRA(rank=32-128) |
核心原则:模型越大,越不建议全量微调。大模型的参数多、记忆容量大,用太少的数据全量微调就像用三页教材去改造一所大学的所有课程——要么”根本学不进去”(欠拟合),要么”把所有课都改成了三页教材的内容”(灾难性遗忘)。
2.5 训练集/验证集切分:怎样知道自己做得好不好
微调不是训完就完事——你需要知道模型是”真的学会了”还是”只是背下来了”。这就需要一个不在训练数据中的”考试”来衡量。
标准做法:将清洗后的数据集随机切分为训练集和验证集,比例为 80/20。80% 的数据用于训练(给模型学习),20% 的数据用于验证(考模型,检测学习效果)。如果数据集特别小(少于 500 条),可以用 90/10 的比例,确保训练数据够用。
生活类比:训练集/验证集切分就像老师出两套卷子。一套是平时的练习题(训练集),学生可以反复做、对答案;另一套是期末考试(验证集),学生从没见过,用来检验他到底是真的理解了,还是只背了练习题的答案。
切分时的关键原则:
- 分层抽样:如果数据集有明确的类别(如 8 种任务类型),确保每个类别在训练集和验证集中的比例一致。不要让”数学题”全在训练集里,验证集里只有”翻译题”——那样测出来的效果没有意义。
- 随机但不随意:用固定的随机种子(random seed)做切分,确保每次实验的切分结果一致,这样不同实验之间才能公平比较。
- 验证集永不参与训练:你的眼睛可以看验证集的分数,但模型不能看验证集的数据。这是”考试”和”开卷考”的本质区别。
- 监控过拟合信号:如果训练集的损失(loss)持续下降,但验证集的损失不降反升,说明模型开始”背题”而不是”学会”了——这是过拟合的经典信号,应当提前停止训练。
三、注意事项:常见的坑和认知误区
3.1 数据污染:训练集和测试集绝不能重叠
这是微调中最严重、也最常见的错误。如果验证集中的某些问题已经通过训练集被模型”见过”,那么验证分数就是虚假的——你在用期末考试的真题当练习题,测出来的”高分”毫无意义。
2025 年的研究特别强调:即使是语义层面的近似重复(训练集中有”北京有哪些景点”,验证集中有”北京有什么好玩的地方”)也可能导致污染。14 建议在切分后对训练集和验证集做一次交叉语义去重——删除验证集中与训练集语义相似度超过 0.85 的样本。
3.2 多样性塌缩:不要让模型只学会一种回答方式
如果训练数据中所有答案都遵循完全相同的结构(比如全部以”好的,以下是…”开头,全部以”希望对你有所帮助”结尾),模型会学到一种机械的模板化回复模式——这就是”多样性塌缩”。
对策:在数据收集中有意引入适度的风格变化——同一类问题可以有不同长度、不同结构、不同口吻的答案。微观层面的多样性(token 级别、措辞选择的变化)对最终性能的贡献最为显著。15
3.3 长度偏差:数据中的长度分布会直接影响模型行为
如果你的训练数据中,所有答案都超过 500 字,那么微调后的模型会倾向于给出长篇大论的回答——哪怕用户只问了一个”今天星期几”。同理,如果数据中答案普遍很短,模型会在需要详细解释的场合也敷衍了事。
对策:检查训练数据的答案长度分布是否符合你的预期使用场景。如果目标场景需要简洁回答(如客服FAQ),训练数据中就不该有长篇论述。如果需要深度分析(如法律咨询),训练数据中就不该只有一句话答案。2025 年的最佳实践建议使用长度分层采样(length-binned sampling),确保不同长度的答案在训练中均衡出现。
3.4 灾难性遗忘:微调会削弱模型原有的通用能力
微调的本质是让模型”偏向”某个特定行为模式。偏向得越厉害,原来的通用能力衰减得越严重。用医学数据微调的模型可能变得很擅长回答医学问题,但解释日常现象的能力会明显退化——这就是灾难性遗忘。
对策:
- 在微调数据中混入 10%-20% 的通用数据(如从开源 SFT 数据集中抽取),作为”锚点”防止模型跑偏
- 使用 LoRA/QLoRA 等参数高效微调方法(只修改模型的一小部分参数),比全量微调更不容易遗忘
- 监控验证集上通用任务的表现,而不仅仅是目标任务
3.5 什么时候不应该微调
微调不是万能药。以下场景中,微调可能不是最优方案:
| 场景 | 不用微调,用什么 | 原因 |
|---|---|---|
| 需要实时更新的知识(新闻、股价、天气) | RAG(检索增强生成) | 微调是”固化知识”,无法实时更新 |
| 个人/企业私有知识库(内部文档、规章制度) | RAG + 提示词工程 | 微调无法精确逐字引用文档,可能”编造”知识 |
| 简单的格式/风格要求(让AI用分点回答) | 提示词工程(System Prompt) | 几句话的事,不需要微调一万条数据 |
| 数据量不足 50 条 | 少样本提示(Few-Shot Prompting) | 样本太少,微调无法学到稳定模式 |
| 只需要临时性的一次性任务 | 提示词工程 | 微调的时间成本和数据成本不值得 |
决策口诀:微调改的是行为模式(怎么说、用什么格式说),RAG 加的是事实知识(说什么内容)。二者不互斥——很多人用 RAG 提供知识 + SFT 微调控制输出格式,组合效果最好。
四、关联:在哪里可以继续深入学习
本章讨论的是微调数据的”准备阶段”。以下是本章内容在知识体系中的延伸方向:
-
精选训练数据集 (Curated Training Data) — 从更宏观的视角理解训练数据在整个 LLM 生命周期中的角色,包括预训练数据(FineWeb、Dolma、The Pile 等)的筛选方法论。本章的 SFT 数据清洗流程,很多思想正是从预训练数据筛选中借鉴过来的。
-
全量微调(Full Fine-Tuning) — 了解最传统也最彻底的微调方式:更新模型全部参数。理解全量微调后,你就能更好地理解为什么数据质量对大模型微调如此关键——全量微调中,劣质数据的破坏力是 LoRA 微调的数十倍(因为影响全部参数)。
-
项目四:用 LoRA 微调一个模型 — 一个 45 分钟即可完成的实操项目。当你看完本章的数据准备理论后,可以在这个项目中亲手创建一份 data.jsonl 文件并实际训练一个模型,体验从”数据准备”到”训练完成”的完整流程。
-
11.4 SFT:让模型学会"回答"而不是"续写" — 深入理解 SFT 的训练机制:损失掩码(只在 assistant 部分计算损失)、训练轮数控制、SFT 与 DPO/RLHF 的流水线关系。
-
11.8 常见错误 — 汇总了近两年社区反馈中最常见的微调翻车现场,其中相当一部分根源在于数据准备阶段的疏忽。
上一节:章首页 | 下一节:11.2 全量微调与LoRA
注释
-
Zhou et al., “LIMA: Less Is More for Alignment”, NeurIPS 2023, https://arxiv.org/abs/2305.11206 ↩
-
Xu et al., “Structure Trumps Size: Rethinking Data Quality for LLM Reasoning”, EMNLP 2025 Findings, https://aclanthology.org/2025.findings-emnlp.616/ ↩
-
Dai et al., “DEFT: Difficulty-Aware Data Selection for Efficient Fine-Tuning”, IEEE TASLP 2026 ↩
-
Stanford Alpaca, https://github.com/tatsu-lab/stanford_alpaca ↩
-
LLaMA-Factory Data Preparation Guide, https://llamafactory.readthedocs.io/en/latest/getting_started/data_preparation.html ↩
-
Taori et al., “Alpaca: A Strong, Replicable Instruction-Following Model”, Stanford CRFM, 2023, https://crfm.stanford.edu/2023/03/13/alpaca.html ↩
-
Gao et al., “SDGT: LLMs Fine-Tuning with Seed-Driven Growth Technology Based on GPT-4 Data Expansion”, Neural Networks, 2026, https://www.sciencedirect.com/science/article/abs/pii/S0925231226001633 ↩
-
OpenAssistant, https://github.com/LAION-AI/Open-Assistant ↩
-
Baidu Qianfan Data Cleaning Documentation, 2025, https://cloud.baidu.com/doc/qianfan/s/gmh4sub03 ↩
-
Coling 2025, “Dynamics of Instruction Fine-Tuning for Chinese Large Language Models”, https://aclanthology.org/2025.coling-main.689/ ↩
-
Zhou et al., 2023 ↩
-
Dai et al., IEEE TASLP 2026 ↩
-
Anonymous, “Data Repetition Beats Data Scaling in Long-CoT Supervised Fine-Tuning”, arXiv 2025, https://arxiv.org/abs/2602.11149 ↩
-
Benchmark Decontamination Best Practices, referenced in OpenDataArena framework, 2025 ↩
-
Li et al., “From Macro to Micro: Probing Dataset Diversity in Language Model Fine-Tuning”, AAAI 2026, https://ojs.aaai.org/index.php/AAAI/article/view/40426 ↩