初始化项目,由ModelHub XC社区提供模型
Model: xinyuran/Qwen2.5-7B-RLRefine Source: Original Platform
This commit is contained in:
148
README.md
Normal file
148
README.md
Normal file
@@ -0,0 +1,148 @@
|
||||
---
|
||||
language:
|
||||
- zh
|
||||
license: mit
|
||||
tags:
|
||||
- 7b
|
||||
- chinese
|
||||
- rlhf
|
||||
pipeline_tag: text-generation
|
||||
base_model:
|
||||
- Qwen/Qwen2.5-7B-Instruct
|
||||
---
|
||||
|
||||
# Qwen2.5-7B-RLRefine
|
||||
|
||||
**基于 SFT → DPO → GRPO 三阶段 RL 训练的中文电商评论关键词提取模型**
|
||||
|
||||
该模型由 [RLRefine](https://github.com/xinyuran/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)
|
||||
|
||||
```bash
|
||||
vllm serve xinyuran/Qwen2.5-7B-RLRefine --port 8000
|
||||
```
|
||||
|
||||
### 配合 RLRefine 框架使用
|
||||
|
||||
```python
|
||||
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": "电视非常好,画面清晰,系统很智能,更多功能还在摸索中"}
|
||||
])
|
||||
```
|
||||
|
||||
### 输出格式示例
|
||||
|
||||
```json
|
||||
{
|
||||
"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](https://github.com/xinyuran/RLRefine/blob/main/docs/reward_design.md)
|
||||
|
||||
---
|
||||
|
||||
## 引用
|
||||
|
||||
如果本模型对你的工作有帮助,欢迎 Star 项目仓库:
|
||||
|
||||
- GitHub: [xinyuran/RLRefine](https://github.com/xinyuran/RLRefine)
|
||||
- HuggingFace: [xinyuran/Qwen2.5-7B-RLRefine](https://huggingface.co/xinyuran/Qwen2.5-7B-RLRefine)
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
MIT License — Copyright (c) 2026 xinyuran
|
||||
Reference in New Issue
Block a user