数据集Alpaca格式和ShareGPT格式

在我们使用和构建数据集的时候,经常会碰到两种格式的数据,分别是Alpaca格式和ShareGPT格式,今天就来介绍一下它们的共同点和不同点。

1、典型数据

首先来看一下Alpaca格式的典型数据:

[{
	"instruction": "将下面句子翻译成英语",
	"input": "我叫张三",
	"output": "My name is San Zhang"
}, {
	"instruction": "将下面句子翻译成英语",
	"input": "我叫李四",
	"output": "My name is Si Li"
}]

然后是ShareGPT格式的典型数据

[{
	"messages": [{
			"role": "user",
			"content": "3加2等于多少,只说数字"
		},
		{
			"role": "assistant",
			"content": "5"
		}
	]
}]

instruction、input、output 是 Alpaca 格式指令微调数据集的三个核心字段,用来让模型学会“看懂指令并给出对应回答”。‌‌

具体来说:

  • ‌instruction(必填)‌:告诉模型要完成什么任务,比如“列出三种交通工具”“解释什么是机器学习”。
  • ‌input(选填)‌:任务需要的辅助信息或上下文。如果指令本身已经说清楚了,这项可以留空字符串 ""。
  • ‌output(必填)‌:模型应该给出的标准回答,也就是“参考答案”。‌‌

数据一般存成 JSON 或 JSONL 文件,每行就是一条样本,例如:

json{"instruction":"列出三种交通工具。","input":"","output":"汽车、火车、飞机。"}
{"instruction":"总结下面这句话的主要观点。","input":"人工智能正在快速发展。","output":"人工智能发展迅速。"}

两种常见格式怎么选

  • ‌Alpaca 格式‌:就是 instruction/input/output,适合单轮问答、任务型指令,也是新手入门首选。
  • ‌ShareGPT 格式‌:用 conversations 列表记录多轮对话(human 和 gpt 轮流发言),适合训练聊天、客服这类多轮对话模型。‌‌

新手做数据集的小建议

‌字段必须是纯文本‌:如果 input 或 output 里出现了数组、字典这类嵌套结构,训练时会报错,需要先转成 JSON 字符串再喂给模型。‌‌

‌先跑通再扩量‌:50–100 条就够验证格式和训练流程没问题;想看到明显效果一般要 500–1000 条;3000 条以上效果才比较稳定。

‌别把知识全塞进微调‌:知识类内容适合用 RAG,微调更适合练回答格式、分析逻辑和风格。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注