跳转到主要内容

数据集指南

您的数据集是训练成功的最重要因素。小而高质量的数据集总是胜过庞大而嘈杂的数据集。

数据集大小问题

这很关键:小模型 + 大数据集 = 过拟合

为什么会这样?

这样想:
  • 小模型 = 小大脑 = 只能记忆这么多
  • 大数据集 = 大量信息
  • 结果 = 模型只是记忆示例而不是学习模式
示例:在完整 Alpaca 数据集(52k 示例)上训练 gemma-3-270m
  • 模型记忆:“当被问及法国首都时,说巴黎”
  • 但不学习:“如何一般性地回答地理问题”

如何修复

在向导中使用 --max-samples
或在 CLI 中:

数据集格式

向导自动检测您的数据集格式。

Alpaca 格式(最常见)

instructioninput(可选)、output 适合:遵循指令、Q&A、完成任务

ShareGPT / 对话格式

适合:聊天机器人、多轮对话

Messages 格式(OpenAI 风格)

适合:API 风格训练、系统提示

Q&A 格式

question/query/prompt + answer/response 适合:简单问答

DPO 格式(偏好训练)

必需用于:DPO、ORPO 训练器

纯文本

适合:持续预训练、领域适应

自动格式检测

向导分析您的数据集并建议转换:

转换的作用

  1. 规范化您的数据为标准格式
  2. 应用正确的聊天模板给您的模型
  3. 处理特殊标记
示例:Alpaca → Gemma 的 Messages 之前:
之后:

使用本地数据

CSV 文件

创建包含示例的 CSV:
然后在向导中:

JSON/JSONL 文件

创建 .jsonl 文件(每行一个 JSON 对象):

文件夹结构

将所有文件放在文件夹中:
然后:

数据集质量技巧

500 个高质量示例胜过 50,000 个平庸示例。每个示例应该:
  • 准确且正确
  • 格式良好
  • 代表您希望模型执行的操作
包含各种示例: - 不同主题 - 不同长度 - 不同风格 - 边缘情况
如果您想要客户支持机器人,在客户支持对话上训练。 如果您想要代码助手,在代码示例上训练。 不要在通用数据上训练并期望特定技能。
删除: - 重复项 - 损坏的示例 - 不一致的格式 - 低质量响应
如果您有类别,尝试每个类别有相似数量。 1000 个类别 A 示例 + 50 个类别 B 示例 = 模型忽略 B。

热门数据集

用于学习/测试

用于特定任务

用于偏好训练(DPO/ORPO)

训练/验证分割

它们是什么

  • Train split:模型学习的数据
  • Validation split:检查模型是否在学习(而非记忆)的数据

何时使用验证

如果以下情况,使用验证分割:
  • 您有 1,000+ 示例
  • 您想检测过拟合
  • 您正在试验超参数
如果以下情况,跳过验证:
  • 您有 < 500 示例(每个示例都很重要)
  • 您正在进行快速测试运行
  • 您将在训练后单独评估

在向导中设置分割

限制数据集大小

用于测试或防止过拟合:
这在以下情况下特别有用:
  1. 首次训练运行:使用 100-500 个样本验证一切正常
  2. 小模型:对于 270M-1B 模型限制为 1,000-5,000
  3. 快速迭代:使用较小数据测试不同设置

列映射

如果您的数据集有非标准列名,向导会询问:

DPO/ORPO 必需列

下一步

SFT 教程

完整的训练教程

数据集格式参考

详细的格式规范