讲师中心 微信公众号
AI工具推荐 视频效率加速

ShareGPT数据集用于RLHF训练的方法:基于人类对话偏好优化模型的实践指南

大婷大大_3985

大婷大大_3985

发布时间:2026-05-25 19:54:23

|

437人浏览过

|

来源于php中文网

原创

ShareGPT数据集提供带chosen/rejected标注的多轮对话,可用于RLHF中奖励模型训练:需先解析JSON格式提取prompt与偏好响应,转换为(prompt, chosen, rejected)三元组,再构造成pairwise ranking格式,最后用排序损失微调奖励模型并验证输出一致性。

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

sharegpt数据集用于rlhf训练的方法:基于人类对话偏好优化模型的实践指南

如果您希望利用真实人类多轮对话数据来训练奖励模型并驱动RLHF流程,则ShareGPT数据集提供了高质量、结构化、带偏好标注的对话样本。以下是基于该数据集开展RLHF训练的具体方法:

一、理解ShareGPT数据格式及其在RLHF中的作用

ShareGPT数据集以JSON格式组织,每条样本包含多轮对话历史(human/gpt交替)、一个被人工标记为“chosen”的优质响应,以及一个被标记为“rejected”的劣质响应。这种成对偏好结构是训练奖励模型(Reward Model)的直接监督信号,使模型能学习区分人类偏好的输出质量差异。

1、打开原始ShareGPT数据文件(如sharegpt_html_cleaned.json),确认其顶层结构为包含多个字典的列表。

2、检查每个字典是否含有"conversations"字段,且其中每条记录具有"from"(值为"human"或"gpt")与"value"(文本内容)键。

3、验证样本中是否存在"chosen"与"rejected"两个独立字段,二者均为含"from":"gpt"和"value"的字典,用于构建偏好对。

二、将原始ShareGPT转换为标准偏好训练格式

原始ShareGPT未直接提供可用于奖励模型训练的(prompt, chosen_response, rejected_response)三元组,需通过脚本提取上下文提示并配对响应。转换目标是生成符合Hugging Face datasets库加载要求的"trl"兼容格式。

1、使用cv_sharegpt_1000.py脚本读取输入JSON文件,遍历每个样本的"conversations"列表。

2、将最后一轮"from": "human"的"value"提取为prompt;将其后紧邻的"from": "gpt"响应作为候选响应源。

3、将"chosen"与"rejected"字段的"value"分别与提取出的prompt组合,构造两条独立样本:{"prompt": "...", "chosen": "...", "rejected": "..."}。

4、输出为新JSONL文件,每行一个合法字典,确保无换行符嵌入"value"字段(调用.replace('\n', '')处理)。

三、构建奖励模型训练数据集

奖励模型需接收同一prompt下的两个响应,并输出标量分差。因此必须将单条偏好三元组扩展为两段独立输入:一段含prompt+chosen,另一段含prompt+rejected,标签分别为+1和−1。此过程称为“pairwise ranking format”构造。

1、加载转换后的JSONL文件,使用datasets.load_dataset("json", data_files=...)创建Dataset对象。

2、定义映射函数:对每条样本,生成两个新样本——{"text": prompt + chosen, "label": 1} 和 {"text": prompt + rejected, "label": 0}。

qwencloud-usage
qwencloud-usage

管理账户认证,查询使用量和计费。用于:登录、登出、查询使用量、查看账单、免费套餐配额、编程计划状态、按量付费

下载

3、拼接两组样本,打乱顺序,确保正负样本均衡分布。

4、将"text"字段tokenize为模型输入ID,截断至最大长度(如1024),保留attention_mask。

四、微调奖励模型(Reward Model)

奖励模型通常复用预训练语言模型(如Llama-3-8B、Qwen2-7B)的主干,在其输出层添加回归头,预测标量奖励值。训练目标是最小化chosen样本得分高于rejected样本得分的排序损失(如Pairwise Logistic Loss)。

1、初始化基础模型,冻结所有Transformer层参数,仅启用回归头(single linear layer)可训练。

2、使用Trainer类配置训练参数:学习率2e-5,batch_size8,warmup_ratio0.1,loss为torch.nn.BCEWithLogitsLoss(经logit差分转换)。

3、在训练循环中,对同prompt下的一对样本前向传播,取各自logits,计算差值并应用sigmoid交叉熵。

4、每200步保存一次checkpoint,监控accuracy_on_pairs指标,即chosen得分 > rejected得分的比例。

五、验证奖励模型输出一致性

训练完成后,必须验证奖励模型能否稳定反映人类判断倾向,而非过拟合噪声或格式偏差。验证不依赖测试集准确率,而聚焦于跨样本的相对排序保真度。

1、从ShareGPT验证集中随机抽取50个不同prompt,每个prompt对应3个独立人工标注响应(A/B/C),已知其全序关系(如A>B>C)。

2、将每个prompt与A/B/C分别拼接,送入奖励模型,获取三个raw logits。

3、统计logits排序与人工全序一致的比例;若低于78%,说明模型未有效捕获偏好结构,需检查数据清洗或损失函数实现。

4、对logits做z-score归一化后,观察其数值分布跨度——优质RM应在同一prompt下给出至少3.5分以上的分差(如A:6.2, B:2.7, C:-0.8)。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

相关专题

更多
Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

0

2026.10.15

MySQL 忘记密码怎么办
MySQL 忘记密码怎么办

MySQL忘记密码专题汇集不同版本与系统下的root密码重置方法,覆盖MySQL 5.7、8.0、Mac、Linux及本地集成环境,并提示恢复权限与重新登录的检查步骤。

0

2026.10.15

Vue.js 中 ref 和 reactive 的区别
Vue.js 中 ref 和 reactive 的区别

Vue.js中ref和reactive的区别专题汇集两种响应式API的定义、访问方式、对象解构、侦听与性能取舍等文章,帮助结合实际状态类型选择合适写法。

0

2026.10.15

VS Code 怎么配置开发环境
VS Code 怎么配置开发环境

VS Code开发环境专题汇集编辑器安装、语言扩展、编译器、解释器、终端和调试配置文章,覆盖Java、Python、C++和PHP等常见语言的入门设置。

0

2026.10.15

C++ 开发环境怎么搭建
C++ 开发环境怎么搭建

C++开发环境专题汇集Windows、Linux下的编译器与IDE安装配置教程,涵盖GCC、Clang、Visual Studio、CLion和VS Code,以及编译运行首个程序的步骤。

0

2026.10.15

Python 虚拟环境是什么
Python 虚拟环境是什么

Python虚拟环境专题介绍项目依赖隔离的作用,汇集venv与uv创建、激活、退出及解释器切换的相关文章,并覆盖Windows、Linux和VS Code中的常见配置问题。

0

2026.10.15

Python 怎么安装并配置环境变量
Python 怎么安装并配置环境变量

Python安装与环境变量配置专题汇集Windows、macOS和Linux的安装步骤、PATH设置、pip配置及常见报错排查文章,帮助完成解释器安装并验证命令行可以正常运行。

0

2026.10.15

PHP 连接 MySQL 失败怎么办
PHP 连接 MySQL 失败怎么办

PHP连接MySQL失败专题汇集PDO与MySQLi扩展配置、账号权限、主机端口、套接字和认证方式等排查文章,覆盖连接报错、密码变更与容器环境配置,帮助按错误提示定位原因并修复。

0

2026.10.15

PHP 表单提交后如何获取数据
PHP 表单提交后如何获取数据

PHP表单提交后如何获取数据专题汇集HTML表单提交、GET与POST接收、$_POST和$_GET读取、跨文件传值、单选与下拉字段获取,以及空值和接收失败排查等文章,帮助新手完成从提交到处理的完整流程。

0

2026.10.15

热门下载

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

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn