ShareGPT数据集用于Reward Model训练的方法:构建奖励模型的对话数据准备指南

风宇大大_2895

风宇大大_2895

2026-05-24

495人浏览

原创

使用sharegpt训练奖励模型需将对话转为(prompt, chosen, rejected)三元组:一、筛选高质量多轮对话,剔除短于3轮、无质量差异、含敏感内容或格式错误样本;二、提取最后user消息为prompt,选取同一prompt下质量显著差异的两条assistant响应分别标为chosen与rejected;三、标准化清洗文本,统一角色、清理乱码与html,添加分隔符并序列化为指定字典结构;四、通过同义改写、关键信息屏蔽补全及主题过采样增强多样性;五、按对话id哈希划分70%/15%/15%数据集,并人工校验偏好一致性与长度均衡性。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

sharegpt数据集用于reward model训练的方法:构建奖励模型的对话数据准备指南

如果您计划使用ShareGPT数据集训练奖励模型(Reward Model),需将原始对话数据转化为适合偏好学习的三元组格式(prompt, chosen, rejected)。以下是构建奖励模型所需对话数据的具体操作步骤:

一、筛选高质量多轮对话样本

ShareGPT数据集包含大量用户与模型交互的真实对话,但并非所有对话都适用于奖励建模。需剔除短于3轮、无明确回复差异、含敏感内容或严重格式错误的会话,保留具有清晰意图和可比响应质量的样本。

1、下载原始ShareGPT JSONL文件,逐行解析每条对话记录。

2、过滤掉conversations字段中from为"user"的轮次少于2次的对话。

3、排除conversations中任意一条value长度小于10字符或含大量乱码、URL、非UTF-8编码的条目。

4、保留至少包含一对由同一prompt触发、由不同模型或不同温度参数生成的响应,并标注为“好”与“差”的对话片段。

二、构造prompt-chosen-rejected三元组

奖励模型训练依赖成对比较信号,必须从原始对话中人工或半自动识别出同一输入下两个质量可判别的输出,并明确指定哪个更优。ShareGPT未自带偏好标签,需借助启发式规则或轻量标注辅助生成。

1、对每个满足长度与格式要求的对话,提取最后一个user消息作为prompt。

2、若该对话后续存在两条及以上assistant回复(例如来自不同模型版本或重采样结果),且其中一条被社区评分较高或被用户显式点赞,则将其设为chosen。

3、在同一prompt下选取另一条响应,要求其在事实性、连贯性或安全性方面存在明显缺陷,设为rejected。

4、确保chosen与rejected长度差异不超过30%,避免因长度偏差干扰模型对质量的判断。

三、标准化文本清洗与格式对齐

原始ShareGPT数据存在角色混用、换行符嵌套、HTML残留及Markdown符号未转义等问题,需统一清理以保障训练稳定性与tokenization一致性。

快写红薯通AI
快写红薯通AI

快写红薯通AI是一款专为小红书笔记创作和改写设计的 AI 文案工具。

下载

1、将所有conversations中的from字段映射为标准角色标识:仅保留"user"与"assistant",删除"system"、"observation"等非常规角色条目。

2、对每条value内容执行:去除首尾空白、合并连续换行符为单个"\n"、将"
"及" "替换为空格、解码HTML实体(如& → &)。

3、在prompt末尾添加特定分隔符,如"\n\nAssistant:",确保模型能明确区分指令与响应边界。

4、将清洗后的三元组序列化为Hugging Face datasets.Dataset支持的字典结构,字段名为"prompt"、"chosen"、"rejected"。

四、引入多样性增强策略

单一来源数据易导致奖励模型过拟合于特定表达风格或领域分布,需通过可控扰动扩充prompt覆盖范围与响应对比维度。

1、对原始prompt进行同义句改写,使用预训练T5-small模型生成3种语义一致但措辞不同的变体,每种变体分别配对原chosen/rejected响应。

2、在chosen响应中随机屏蔽1–2个关键名词或动词,再用BERT-MaskedLM补全,生成弱化版作为新rejected样本,前提是补全结果在逻辑上成立但信息量下降。

3、按主题聚类(如科技、教育、生活),对低频主题类别下的三元组执行过采样,使各主题在最终数据集中占比不低于5%。

五、划分训练/验证/测试子集并校验偏好一致性

为防止数据泄露与评估失真,需严格隔离不同阶段的数据,并验证每个三元组中chosen确实在人工抽样评估中显著优于rejected。

1、按对话ID哈希值划分:70%用于训练,15%用于验证,15%用于测试,确保同一原始对话的所有衍生三元组归属同一子集。

2、从测试集中随机抽取200个prompt,交由3名标注员独立判断chosen是否优于rejected,要求一致率不低于85%,否则回溯清洗逻辑。

3、检查验证集中chosen与rejected的平均token长度差,若绝对值超过15,则对超长样本进行截断并重加说明性后缀,如"[截断,原文更完整]"。

相关专题

更多
LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

120

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

100

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

80

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

60

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

80

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

280

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

180

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

140

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

80

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习