训练站(上)— 数据与微调:上限靠数据,落地靠 LoRA
这一章讲三件事: 为什么原书把数据集排在整条训练路线的第一位; 微调到底在调什么、为什么 LoRA 能把不可能变成可能(一笔算给你看的显存账); 以及 14 个免费 notebook 该怎么选、选通一个之后剩下 13 个还剩多少信息量。 对应原书训练部前三章:数据集、微调资源、微调 notebook。
1. 这一章讲什么
原书训练部导言把这一段称为「从数据准备到模型最佳表现的完整流程」的头三步1。 落到主走查任务上(给公司做文档问答客服),这三步就是:
第一步:把公司文档变成可训练的数据
第二步:挑一个现成模型,在数据上做微调
第三步:拿免费 notebook 把上面两步真的跑通一次
图说:原书这三章的次序不可换——没有第二步的数据,第三步的微调没有意义;
没有第三步的跑通,前两步只是读过的文章。
本章延续上一章的纪律:原书只给「学什么」,机制全部由本拆解补齐。 补得最重的一处是 LoRA 的显存账——这是整条训练路线里「个人能不能上手」的生死判据。
2. 顶层全景:从公司文档到一个能用的模型
公司文档(PDF / 工单记录 / FAQ)
│ ① 整理:抽成「问题—标准答案」对(指令数据集)
▼
几千条指令样本,格式统一:指令 + 输入 + 期望输出
│ ② 微调:在一个训练好的开源模型上,小步调整它的一部分参数
▼
一个「说话方式符合客服场景」的模型
│ ③ 存档:只保存调过的那一小部分参数(适配器),几十 MB
▼
可发布、可回滚、可继续叠新的微调
图说:①②③ 的具体做法都在本节之内;③ 的「只存一小块」是 LoRA 的直接后果,
第 5 节算账。
3. 数据:训练站的第一杠杆
原书为什么把它排第一: 训练一个能听懂人话的聊天模型, 「需要能覆盖多种对话领域与风格的高质量数据」2——模型的上限由数据决定, 方法只是逼近上限。原书开篇还点了一个背景:随着 LLaMA 这类开源(代码公开、谁都能下载改造)底座出现, 训练大模型「不再是资源雄厚公司的专利」,小团队的作品如 Alpaca、Vicuna 也冒了出来3—— 这些作品全是「开源底座 + 好数据」的组合,没有一个是模型架构创新。 这就是杠杆的含义。
数据从哪来:三类来源
原书把数据资源分三节,对应三类活4:
| 类别 | 干什么 | 原书给的例子 |
|---|---|---|
| 数据枢纽 | 拿现成的公开数据集 | HuggingFace 数据集库、LLMDataHub 合集 |
| 指令数据集 | 造「问题—答案」对 | 用 GPT-3.5 生成新闻分类指令数据5 |
| 非结构化(没有统一格式的杂乱文件)处理 | 把它们变成可用文本 | 处理 Excel、Word、PDF、EPUB 等格式6 |
第三类最容易被低估,但对本走查任务最关键:公司文档全是 PDF 和表格, 把它们变成干净的文本,工作量常常超过微调本身。原书把它编入数据章, 等于承认:数据工程是训练站的入场费。
走查:指令数据集怎么造
拿上一章的任务,第 ① 步的具体形状:
输入:公司退货政策 PDF(30 页)
├─ 切成段落,每段问一遍:「这一段能出什么客户问题?」
├─ 用一个现成大模型(如 GPT-3.5)批量生成问答对
├─ 人工抽检 10%,删掉答案与原文不符的
▼
产出:约 2,000 条 {问题, 答案} 样本
(2,000 这个数是为演示编的量级参照:原书资源里的做法通常在几千到几万条,
不是书里给的数字。)
图说:这正是原书清单里那篇「用 GPT 3.5 造指令数据集微调 Llama 2」[^5]的流程形状——
用大模型造数据,再拿去微调小模型,是这一代的通行做法。
4. 微调:在底座上小步调参
解决什么问题: 现成模型(底座)会说话,但不会用你的口吻、 不知道你的业务规矩。原书的定义:「微调让使用者把预训练的大语言模型 适配到更专门的任务上——在一小份任务数据上调,提升该任务表现, 同时保住它原有的通用语言能力」7。
这里必须先修一处术语。 原书说微调的基础是迁移学习(一个任务上学到的东西, 拿去做另一个类似任务的起点)8——这个说法没错。但它同一章还有两处不严谨 (上一章已点过,这里给结论):「某 Google 研究说微调提了 10% 准确率」无出处9; 「参数量已达万亿」是夸大10。读这一章的正文引言要自带过滤器,资源清单本身没问题。
怎么做、为什么有效: 微调用的还是预训练那套「猜下一个词」的机器(第 02 章心智模型三), 只是换了数据、调小步子:在你的几千条样本上继续「猜词—对答案—微调参数」。 为什么小数据够用: 底座已经会语言,你只是在把它输出的各种答法占比(行话叫分布)往你的场景拉一拉—— 原书说这是「以极小代价获得可比性能」的前提,也是「降低训练成本」的来源11。