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

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

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

python 复制代码
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的数据集代码如下:

python 复制代码
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的模型上进行。

相关推荐
威化饼的一隅13 天前
【多模态】DPO学习笔记
大模型·llm·强化学习·rlhf·dpo
OpenBayes15 天前
OpenBayes 教程上新丨仅激活 3B 参数可媲美 GPT-4o,Qwen3 深夜更新,一手实测来了!
人工智能·机器学习·gpt-4o·qwen3·在线教程·长文本理解能力·指令跟随
大千AI助手16 天前
直接偏好优化(DPO):原理、演进与大模型对齐新范式
人工智能·神经网络·算法·机器学习·dpo·大模型对齐·直接偏好优化
桂花饼1 个月前
GPT-4o mini TTS:领先的文本转语音技术
人工智能·语音识别·gpt-4o
大千AI助手1 个月前
OpenAI GPT-4o技术详解:全能多模态模型的架构革新与生态影响
人工智能·深度学习·机器学习·自然语言处理·大模型·openai·gpt-4o
汀、人工智能1 个月前
AI-Compass LLM训练框架生态:整合ms-swift、Unsloth、Megatron-LM等核心框架,涵盖全参数/PEFT训练与分布式优化
人工智能·分布式·sft·swift·大模型训练
微刻时光3 个月前
Python对接GPT-4o API接口:聊天与文件上传功能详解
人工智能·python·机器人·自动化·rpa·gpt-4o·影刀证书
bennybi3 个月前
AI方案调研与实践二:模型训练
人工智能·ai·sft·rag
程序员老周6663 个月前
3. OpenManus-RL中使用AgentGym建立强化学习环境
sft·强化学习·openmanus·openmanus-rl·agentgym·行为克隆·强化学习环境
太空眼睛3 个月前
【LLaMA-Factory】使用LoRa微调训练DeepSeek-R1-Distill-Qwen-7B
lora·微调·sft·训练·deepspeed·llama-factory·deepseek