Qwen2.5-7B-RLRefine

基于 SFT → DPO → GRPO 三阶段 RL 训练的中文电商评论关键词提取模型

该模型由 RLRefine 项目产出,以 Qwen2.5-7B-Instruct 为基座,经过完整的强化学习训练流水线微调,专注于从中文电商评论中提取结构化关键词。


模型简介

项目 详情
基座模型 Qwen/Qwen2.5-7B-Instruct
训练阶段 SFT → DPO → GRPO
主要任务 中文电商评论关键词提取
输出格式 结构化 JSON(含推理过程)
语言 中文
许可证 MIT

训练方案

三阶段训练流程

Qwen2.5-7B-Instruct(基座)
    │
    ▼ SFT  ──  3329 条示范数据,5 epochs,lr=1e-5,LoRA rank=16
    │          训练时长 ~1h 9min,2× H100 80GB,token_acc=79%
    │
    ▼ DPO  ──  ~3697 条偏好对,1 epoch,lr=5e-7,LoRA rank=8
    │          教会模型区分原子化正确提取 vs. 粗糙提取
    │
    ▼ GRPO ──  Schema 驱动奖励函数(F1 50% + 格式 20% + Schema 20% + 推理 10%)
               924 steps,训练时长 ~4h 35min,最终 reward=0.9375,KL=0.00045

硬件环境

  • GPU:2× NVIDIA H100 80GB HBM3
  • 框架:ms-swift 3.11.2 + vLLM 0.13.0
  • 分布式:DeepSpeed Zero2(GRPO 阶段)

模型能力

相比原始 Qwen2.5-7B-Instruct(Zero-shot),本模型的提升:

维度 原始模型 本模型
推理结构 简单 Markdown 列表 系统化五步分析
关键词原子化 常含多词短语 严格≤4字原子级
置信度类型 字符串 "0.95"(类型错误) 数字 0.95(正确)
覆盖率 易遗漏核心词 系统性覆盖
幻觉率 较高 受奖励函数约束,显著降低

使用方法

直接推理(vLLM)

vllm serve xinyuran/Qwen2.5-7B-RLRefine --port 8000

配合 RLRefine 框架使用

from core.processor import RLRefineProcessor
from prompts.prompt_builder import PromptBuilder
from core.config import Config
from core.schema import ExtractionTask

# 使用项目内置关键词提取配置
prompt_builder = PromptBuilder.create_keyword_extraction_builder()
config = Config(...)
processor = RLRefineProcessor(config=config, task=task, prompt_builder=prompt_builder)

results = processor.process_batch([
    {"id": "001", "describe": "电视非常好,画面清晰,系统很智能,更多功能还在摸索中"}
])

输出格式示例

{
  "keywords": [
    ["核心商品主体,评论围绕电视展开", "电视", 0.95],
    ["电视的关键视觉属性,被明确评价为清晰", "画面", 0.85],
    ["直接描述画面质量的正面评价词", "清晰", 0.80],
    ["电视的操作系统,被描述为智能", "系统", 0.85],
    ["直接描述系统特性的正面评价词", "智能", 0.80],
    ["提及但未评价的具体属性", "功能", 0.70]
  ]
}

提取规则

模型经过训练后遵循以下关键词提取规范:

  1. 忠于原文:关键词必须逐字对齐原文,不得改写或归纳
  2. 原子化:每个关键词 ≤ 4 个汉字,对象词和描述词分别输出
  3. 先推理再提取:输出包含完整推理过程后跟 JSON 结果
  4. 幻觉抑制:关键词必须在原文中出现,不得编造
  5. 数量上限:最多输出 15 个关键词,按重要性降序

局限性

  • 当前训练数据聚焦于中文电商评论领域,其他领域(新闻、医疗等)效果未经验证
  • 关键词提取任务存在一定主观性,不同场景下规则可能需要调整
  • GRPO 训练时 frac_reward_zero_std=0.75,存在一定程度的奖励饱和,详见 reward_design.md

引用

如果本模型对你的工作有帮助,欢迎 Star 项目仓库:


License

MIT License — Copyright (c) 2026 xinyuran

Downloads last month
160
Safetensors
Model size
8B params
Tensor type
BF16
·
Inference Providers NEW
Input a message to start chatting with xinyuran/Qwen2.5-7B-RLRefine.

Model tree for xinyuran/Qwen2.5-7B-RLRefine

Base model

Qwen/Qwen2.5-7B
Finetuned
(2570)
this model