目的
为避免一学就会、一用就废,这里做下笔记
内容
在全量预训练(Pre-training)与参数高效微调(PEFT,如 LoRA)两种场景下,对训练集数据规模的要求遵循截然不同的底层逻辑。全量预训练是"从零开始构建知识大厦",而微调是"在已有大厦上做精装修"。以下是针对这两种场景的数据规模要求说明:
1. 全量预训练(Full Pre-training)
目标 :让模型从海量无标注文本中学习语言的统计规律、语法结构和世界知识。
核心原则 :Chinchilla Scaling Law (计算最优定律)
数据要求 :数据规模(Token数)与模型参数量必须成比例,且数据量需极大。
- 量化标准 :根据 DeepMind 的研究,计算最优的训练策略要求 训练 Token 数 ≈ 20 × 模型参数量。
- 7B 模型示例 :对于 7B 参数的模型,理想的训练数据量应达到 约 1400亿 Tokens。
- 逻辑解释:如果数据量远小于此比例(如 7B 模型只训了 1B Tokens),模型无法充分学习语言规律,处于"欠训练"状态,潜力未被挖掘;如果数据量远大于此比例,边际收益递减,训练效率降低。
- 数据质量:允许包含一定比例的噪声数据,通过大规模去重和清洗来保证多样性。
Chinchilla Scaling Law:
- Chinchilla本意是指南美洲安第斯山脉的一种啮齿类动物-毛丝鼠(俗称龙猫),特质是体积小、皮毛柔软浓密而昂贵。谷歌的DeepMind团队以此隐喻其缩放定律的核心思想:小而密的模型,能达到最高的性价比。
- DeepMind团队22年提出此定律,对标修正此前OpenAI提出的Scaling Law。OpenAI此前认为,计算量一定的情况下,扩大模型的参数性价比更高。DeepMind团队指出这只会导致体量庞大,但实际没有吃饱的模型,并用实践效果验证了其正确性。
- 该训练思想价值极大,它揭示了一种单位算力的最高效利用方式
2. 参数高效微调(如LoRA)
目标 :利用少量高质量标注数据,引导预训练好的基座模型适应特定任务(如指令遵循、风格迁移、领域知识注入)。
核心原则 :数据质量 >> 数据数量 ,且受限于低秩参数空间。
数据要求 :千级至万级高质量样本即可,无需追求海量数据。
- 量化标准 :对于 7B 模型使用 LoRA(通常仅训练 0.1%-1% 的参数),推荐数据规模为 1k至 2w条高质量样本 。
- 简单任务(风格/格式):1,000 - 5,000 条。
- 复杂任务(推理/知识):5,000 - 20,000 条。
- 逻辑解释 :
- 参数限制:在 LoRA 微调中,由于可训练参数局限于低秩子空间,其优化动态对数据分布非常敏感。当数据规模远超千级或万级时,低秩适配器可能难以协调海量样本间的细微差异,导致优化过程不稳定;同时,若海量数据中包含大量噪声或矛盾样本,适配器极易被带偏,表现为对训练集噪声的过拟合。因此,LoRA 通常推荐使用小而精的数据集,而非盲目堆砌数据量。
- 引导作用 :微调数据的作用是提供"信号",激活模型已有的知识,而不是让模型重新学习。因此,一条精心构造的指令-回答对的价值远高于一万条低质量文本。
- 数据质量:必须高度纯净、标注准确、格式统一。噪声数据会直接污染适配器,导致模型输出混乱。
对比总结表
| 维度 | 全量预训练 | LoRA 微调 |
|---|---|---|
| 数据规模 | 千亿级 Tokens | 千级至万级 (K) 样本 |
| 数据单位 | Token(字符/词) | 样本(Instruction-Output 对) |
| 核心定律 | Chinchilla Law (D ≈ 20N) | 经验法则(小样本有效) |
| 数据质量 | 允许噪声,重去重 | 必须高质,零容忍噪声 |
| 失败风险 | 数据不足导致欠拟合(学不会) | 数据过多/质量差导致过拟合(学偏) |
| 7B 模型参考 | ~140 B Tokens | ~1k-20k 条 |