跳到主内容
快讯直播
AI智模界
AI 词典

ShareGPT 格式:多轮对话微调数据怎么存

一句话定义:ShareGPT 格式(ShareGPT format)是一种用 JSON 描述多轮对话训练数据的写法:一段对话由若干条带角色标记的消息按顺序组成,人类的提问和模型的回答交替排列,微调时模型能一次看到整段上下文。

名字来自早期社区分享 ChatGPT 对话记录的数据集,那套 {"conversations": [...]} 的结构后来被各家微调框架沿用,逐渐成了事实标准。字段名在不同工具里有细微差别,常见的是 from/value(取值 human、gpt、system),也有写成 role/content(user、assistant、system)的,具体以所用框架的文档为准。

一个最小例子长这样:

```json

{"conversations": [

{"from": "human", "value": "帮我改得正式一点:这事儿下周弄不完"},

{"from": "gpt", "value": "该项目预计无法在下周内完成。"},

{"from": "human", "value": "再短一点"}

]}

```

注意最后一轮只有 human,没有 gpt。这类样本在训练时通常会被过滤掉或只用于推理测试,因为没给模型“标准答案”。

打个比方:Alpaca 格式像一叠单题卡片,一张卡上写着“指令、可选输入、期望输出”,一题一练;ShareGPT 像把整段微信聊天记录导出来,谁先说话、对方怎么接、第三句为什么这么问,全都保留。前者适合练“看到任务就照做”,后者适合练“接着上文聊下去”。

两者的核心差异:

维度ShareGPT 格式Alpaca 格式
数据结构conversations 数组,多条消息instruction / input / output 三个字段
轮次原生多轮,上下文完整单轮,一问一答
角色概念有(human/gpt/system)无,只有“指令”和“回答”
多轮场景的代价直接可用拆成多条样本,上下文丢失或需手工拼接
典型用途对话助手、客服、陪伴类应用的多轮微调单轮任务:摘要、抽取、改写、分类

选哪个,看真实使用场景的形状。如果你的产品是聊天式的,用户会追问、纠正、换话题,那训练数据就该长成对话的样子,ShareGPT 更贴近线上分布;如果需求是“给一段文本,输出一个结果”,Alpaca 更省事——字段少、清洗简单、标注成本低,一个人一天能攒不少条。

实践中还有两个细节:一是多轮样本训练时可以选择只对最后一条 gpt 回复算损失,前面的回答当作上下文,这能避免模型把历史回复也当成要模仿的目标;二是两种格式可以混用,很多团队会用大量 Alpaca 式单轮数据打底,再掺入少量高质量 ShareGPT 多轮数据调对话风格。转换脚本各框架基本都有,但字段映射、system 消息处理、空回复过滤这些细节,仍要以官方页面和实际跑通的结果为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。