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

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的模型上进行。

相关文章:

  • 装饰器模式 + 责任链模式:动态增强的流水线处理艺术
  • Modbus TCP协议
  • 【第2章:神经网络基础与实现——2.1 前馈神经网络的结构与工作原理】
  • 亚远景-ASPICE 4.0 与 AI 驱动的汽车软件开发:未来趋势与挑战
  • 力扣第一题 哈希解法 O(n)时间复杂度
  • zyNo.23
  • springcloud集成gateway
  • 将Sqlite3数据库挂在内存上处理
  • 【STM32系列】利用MATLAB配合ARM-DSP库设计IIR数字滤波器(保姆级教程)
  • GPU并行计算的深度学习pyTorch环境搭建
  • WinForm 防破解、反编译设计文档
  • Git 与 Git常用命令
  • SpringBoot
  • 麒麟操作系统-Redis5二进制安装
  • fatal: unable to access ‘https://github.com/xxx/‘: SSL peer certificat
  • 单片机之基本元器件的工作原理
  • pytest测试专题 - 1.2 如何获得美观的测试报告
  • 《OpenCV》——特征提取与匹配方法
  • SQL-leetcode—1407. 排名靠前的旅行者
  • 3.3 学习UVM中的uvm_driver 类分为几步?
  • 陕西一村民被冒名贷款40余万续:名下已无贷款,将继续追责
  • 125%→10%、24%税率暂停90天,对美关税开始调整
  • 英国首相斯塔默一处房产发生火灾
  • 山西省委常委李金科添新职
  • 欧阳娜娜携家人回江西探亲,受聘为江西吉安文化旅游大使
  • 浙江公开征集涉企行政执法问题线索,包括乱收费、乱罚款等