1. 项目背景与核心目标
在当今AI技术快速发展的时代,大型语言模型(LLM)的"对话友好度"已成为关键评估指标。传统模型训练往往只关注事实准确性和任务完成度,却忽视了人类对话中微妙的情感表达和社交礼仪。这正是PPO-RW(Proximal Policy Optimization with Reward Weighting)方法要解决的核心问题——让Qwen3-1.7B这类轻量级模型学会"讨人喜欢"的对话方式。
这个项目的独特价值在于:通过"奖励模型+PPO"的两阶段架构,将主观的人类偏好转化为可量化的优化目标。不同于简单的监督微调(SFT),PPO-RW能让模型在保持原有能力的基础上,动态调整对话风格。具体表现为:
- 更自然的情绪表达(如适当使用表情符号和语气词)
- 更符合社交礼仪的回应(如避免直接否定用户观点)
- 更有层次的信息组织(先总结后细节的"金字塔式"表达)
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构解析
2.1 两阶段训练流程
PPO-RW的核心创新在于其分阶段训练策略:
mermaid复制graph TD
A[原始Qwen3-1.7B] --> B[奖励模型训练]
B --> C[人类偏好数据]
C --> D[PPO微调]
D --> E[优化后的模型]
阶段一:奖励模型(Reward Model)构建
-
使用dpo_zh_demo数据集(包含10万组人类偏好对比)
-
训练一个7层的MLP作为评分器,输入512维的句子嵌入
-
关键技巧:采用Bradley-Terry模型计算偏好概率:
code复制P(prefer A over B) = exp(r_A) / (exp(r_A) + exp(r_B))
阶段二:PPO策略优化
- 冻结原始模型参数,仅更新LoRA适配器
- 设计复合奖励函数:
python复制def reward_function(response): base_reward = RM(response) # 奖励模型打分 kl_penalty = β * KL(θ||θ_old) # 防止偏离原始模型 fluency_bonus = γ * perplexity(response
