指南 12:我该用哪个数据集?完整选择指南

作者: Jakub Rusinowski最后更新 7 分钟阅读Advanced

选对数据集是一次成功微调运行中最重要的单一因素。本指南用一个实用的决策框架帮你拨开困惑。


五大数据集类别

类别它是什么何时使用
预训练海量规模的原始文本(网页、书籍、代码)从零训练模型——需要 1000 亿+ token 和严肃的 GPU 集群
指令教模型遵循指令的提示 + 回复对最常见的微调目标——把基础模型变成助手
偏好用于对齐的选中/拒绝回复对(RLHF/DPO)在 SFT 之后,当你想让回复更有帮助、更安全或风格更对齐时
代码源代码、编程问题及解答构建编程助手或提升模型的编程能力
评测衡量模型能力的基准(不用于训练)测试和比较模型——微调后运行它们以衡量提升

快速决策表:目标 → 数据集

你的目标类别首选
打造有帮助的聊天助手指令Stanford Alpaca、ShareGPT 52K、OpenHermes 2.5
教授复杂推理指令WizardLM Evol Instruct 70k
小而强的助手指令LIMA (1k)、Smoltalk
构建编程助手代码Magicoder-OSS-Instruct、CodeFeedback
预训练代码模型代码The Stack v2
与人类偏好对齐偏好Anthropic HH-RLHF、UltraFeedback
快速本地 DPO 实验偏好DPO Mix 7K
多轮对话质量指令ShareGPT 52K
为你微调的模型做基准测试评测MMLU(知识)、HumanEval(代码)、MT-Bench(聊天)

数据集质量信号

并非所有数据集都平等。以下是承诺采用之前评估一个数据集的方法:

好信号:

  • 高月下载量(>50 万意味着社区信任)
  • 有已发表论文支持,含消融研究
  • 许可证清晰(Apache 2.0 或 MIT 可商用,CC-BY-NC 供研究)
  • 明确记录了去重和质量过滤步骤
  • 数据来源透明(人类撰写 > GPT-3 > 未知 LLM)

警告信号:

  • 未指定许可证
  • "由 GPT-4 生成"却无质量过滤
  • 老数据集下载量极低
  • 无论文、博文或技术文档
  • 含未经许可抓取的受版权保护文本

质量 vs 数量:LIMA 的启示

LIMA 论文(2023)有一个惊人发现:一个仅在 1000 个精心策划的样本上微调的模型,能与在数百万个嘈杂数据集样本上训练的模型相媲美。

关键洞见:表层对齐是浅的。模型在预训练中已具备世界知识。微调教的是格式和风格,而非新事实。一个小而高质量的数据集(200–1000 个样本)常胜过一个大而嘈杂的(10 万+)。

实用规则: 从 500–2000 个特定于你任务的高质量样本开始。只有在高质量样本用尽时才扩大规模。


到哪里找更多数据集


构建你自己的数据集

有时最好的数据集尚不存在。这里有一个最小可行方法:

1. 精确定义你的任务——"某 SaaS 产品的客户支持"胜过"有帮助的助手"

2. 收集 200–500 个样本——真实用户问题 + 理想答案,或用 Claude/GPT-4 合成

3. 使用 JSONL 格式:

jsonl
{"messages": [{"role": "user", "content": "How do I reset my password?"}, {"role": "assistant", "content": "Click 'Forgot Password' on the login page..."}]}
{"messages": [{"role": "user", "content": "Where can I find my invoice?"}, {"role": "assistant", "content": "Invoices are in Settings → Billing → Invoice History."}]}

4. 在失败案例上迭代——一次微调运行后,看模型在哪些类型的查询上出错,为那些情况添加更多样本。

5. 与通用数据混合——将你的自定义数据与 OpenHermes 2.5 之类的通用指令数据集按 50/50 混合,以防灾难性遗忘。