当前位置: 首页 > article >正文

GPT-4o微调SFT及强化学习DPO数据集构建

假设,已经标注的训练数据集df包含了提示词、输入和输出三列。

构建微调SFT的数据集代码如下:

data = []
for x in df.values:
    prompt = x[1]
    user_content = x[2]
    assistant_content = x[3]
    
    data.append({"messages": [{"role": "system", "content": prompt}, {"role": "user", "content": user_content},{"role": "assistant", "content": assistant_content}]})
data[0]

import json

# 将数据写入.jsonl文件
with open('sft_train.jsonl', 'w') as f:
    for item in data:
        json.dump(item, f)
        f.write('\n')  # 每行一个JSON对象

假设,已经标注的强化学习数据集df包含用户输入、首选输出、次选输出三列。

构建强化学习DPO的数据集代码如下:

dpo_data = []
for x in sft_df.values:
    user_content = x[1]
    preferred_output = x[2]
    non_preferred_output = x[3]
    dpo_data.append({"input": {"messages": [{"role": "user", "content": user_content}],"tools": [], "parallel_tool_calls": True }, "preferred_output": [{"role": "assistant", "content": preferred_output}], "non_preferred_output": [{"role": "assistant", "content": non_preferred_output}]})
dpo_data[0]

import json
with open('dpo_train.jsonl', 'w') as f:
    for item in dpo_data:
        json.dump(item, f)
        f.write('\n')  # 每行一个JSON对象

注意:强化学习DPO通常在微调SFT的模型上进行。


http://www.kler.cn/a/548411.html

相关文章:

  • windows11+ubuntu20.04双系统下卸载ubuntu并重新安装
  • NCHAR_CS和CHAR_CS,导致UNION ALL 时,提示SQL 错误 [12704] [72000]: ORA-12704: 字符集不匹配
  • Vue2官网教程查漏补缺学习笔记 - Part1基础 - 9事件处理10表单输入绑定11组件基础
  • 一些常用的Yum源
  • 性格测评小程序06用户注册校验
  • 基于角色访问控制的UML 表示
  • qt中实现QListWidget列表
  • 【java】基本数据类型和引用数据类型
  • TCP/IP 协议
  • word分栏使得最后一页内容自动平衡
  • Bandana论文阅读
  • 架构设计系列(四):设计模式
  • 【环境安装】重装Docker-26.0.2版本
  • Excel中不用复杂公式根据指定X列的数值N复制整行数据N行简单方法
  • 1.hadoop3.3.6集群搭建
  • 青少年编程与数学 02-009 Django 5 Web 编程 09课题、视图函数
  • android studio下载安装汉化-Flutter安装
  • C语言:强符号和弱符号
  • vite创建的react18的@路径提示配置
  • Docker中安装MySql方法