推荐项目方向
7 个推荐的课程项目方向,涵盖数学推理、安全对齐、中文写作、代码推理、领域问答、视觉问答、工具调用智能体
项目方向总览
以下 7 个方向覆盖了本课程的核心后训练技术。每个方向都要求结合至少两种后训练技术,完成完整的"数据准备 → 训练 → 评估"流程。
| 方向 | 技术组合 | 难度 | 推荐模型 | 预计 GPU 时间 |
|---|---|---|---|---|
| 数学推理助手 | SFT + GRPO | ★★★ | Qwen3-1.7B-Base | 8-12h (A100-80G) |
| 安全对齐助手 | SFT + DPO | ★★ | Qwen3-1.7B | 4-6h (A100-40G) |
| 中文写作助手 | SFT + SimPO | ★★ | Qwen3-1.7B | 4-6h (A100-40G) |
| 代码推理模型 | SFT + RLVR | ★★★ | Qwen3-4B-Base | 10-15h (A100-80G) |
| 领域问答系统 | SFT + 量化 + 部署 | ★★ | Qwen3-4B | 4-6h (A100-40G) |
| 视觉问答模型 | 多模态 SFT + DPO | ★★★ | Qwen3-VL-2B | 6-10h (A100-40G) |
| 工具调用智能体 | SFT + 智能体循环 | ★★ | Qwen3-1.7B | 4-6h (A100-40G) |
选择建议:
- 如果你对推理感兴趣且有充足 GPU 资源,选择数学推理助手或代码推理模型
- 如果你偏好应用导向且资源有限,选择安全对齐助手、中文写作助手或领域问答系统
- 如果你想探索前沿方向,选择视觉问答模型或工具调用智能体
方向一:数学推理助手
项目描述
构建一个具备逐步推理能力的数学助手。先用数学指令数据对基座模型进行 SFT 冷启动,再用 GRPO + 可验证奖励进一步强化推理能力。核心挑战在于设计好奖励函数并监控推理行为的涌现过程。
技术要求
-
Stage 1 — SFT 冷启动:
- 在数学推理指令数据上微调 Qwen3-1.7B-Base
- 数据应包含完整的思维链(step-by-step reasoning)
- 使用 QLoRA 微调,约 1-2 个 epoch
-
Stage 2 — GRPO 推理强化:
- 在 GSM8K 或 MATH 训练集上用
GRPOTrainer训练 - 奖励函数:数学正确性(+1/0) + 格式奖励(可选)
num_generations=8,训练 300-500 步
- 在 GSM8K 或 MATH 训练集上用
-
评估:
- GSM8K test set 准确率
- MATH-500 准确率
- 推理链质量分析(是否有逐步计算、自我验证)
推荐数据集
| 数据集 | 类型 | 规模 | 用途 |
|---|---|---|---|
| gsm8k | 小学数学 | 7.5K 训练 + 1.3K 测试 | GRPO 训练 + 评估 |
| MATH | 竞赛数学 | 12.5K 训练 + 5K 测试 | 进阶评估 |
| MetaMathQA | 增强数学 | 395K | SFT 冷启动 |
| NuminaMath-CoT | 思维链数学 | 860K | SFT 冷启动 |
参考基线
| 模型 | GSM8K | 方法 |
|---|---|---|
| Qwen3-1.7B-Base(基座) | ~30% | 无后训练 |
| + SFT 冷启动 | ~55-60% | SFT on math data |
| + GRPO 300 步 | ~65-70% | SFT + GRPO |
| Qwen3-1.7B Instruct(官方) | ~85% | 工业级后训练 |
| DeepSeek-R1-Distill-Qwen-1.5B | ~83% | 蒸馏 |
方向二:安全对齐助手
项目描述
构建一个兼顾有用性和安全性的对话助手。先用通用指令数据 SFT 训练基本对话能力,再用 DPO 在安全偏好数据上进行对齐。核心挑战在于平衡有用性和安全性——避免模型过度拒绝(over-refusal)。
技术要求
-
Stage 1 — SFT 基础对话:
- 在通用指令数据上微调 Qwen3-1.7B
- 确保模型具备基本的指令跟随能力
-
Stage 2 — DPO 安全对齐:
- 构建安全偏好数据(chosen = 安全且有用的回复,rejected = 不安全或过度拒绝的回复)
- 使用
DPOTrainer训练 - 精心调节 参数
-
评估:
- 有用性:MT-Bench 风格评估
- 安全性:有害请求拒绝率(目标 >95%)
- 过度拒绝率:正常请求被错误拒绝的比例(目标 <5%)
推荐数据集
| 数据集 | 类型 | 规模 | 用途 |
|---|---|---|---|
| UltraChat-200K | 通用对话 | 200K | SFT 训练 |
| PKU-SafeRLHF | 安全偏好 | 361K | DPO 训练 |
| BeaverTails | 安全分类 | 330K | 评估 |
| HarmBench | 安全评估 | 510 | 评估 |
方向三:中文写作助手
项目描述
构建一个特定风格的中文写作助手(如小红书文案、学术摘要、新闻报道等)。先用写作指令数据 SFT 训练基本写作能力,再收集写作偏好数据用 SimPO 进行风格对齐。
技术要求
-
Stage 1 — SFT 写作基础:
- 收集或生成特定风格的中文写作数据(可用 Qwen3-32B API 生成)
- 数据应覆盖多种写作场景:标题生成、正文写作、风格转换等
-
Stage 2 — SimPO 风格对齐:
- 对同一写作任务生成多个版本
- 按写作质量/风格匹配度标注偏好
- 使用 SimPO(无需参考模型)进行训练
-
评估:
- 风格匹配度(LLM-as-Judge)
- 写作流畅度和创意
- 与 SFT-only 模型的对比
推荐数据集
数据构建建议:可以用 Qwen3-32B API 对同一写作任务生成多个版本(调节 temperature),然后人工选择最符合目标风格的作为 chosen,其余作为 rejected。建议收集 1000-3000 条偏好对。
方向四:代码推理模型
项目描述
使用代码执行结果作为可验证奖励,训练模型的代码生成和推理能力。先用代码指令数据 SFT,再用 RLVR(代码执行正确性作为奖励)强化。
技术要求
-
Stage 1 — SFT 代码基础:
- 在代码指令数据上微调
- 重点训练模型生成可执行的 Python 代码
-
Stage 2 — RLVR 强化:
- 奖励函数:执行代码 → 检查输出是否与标准答案一致
- 使用沙盒环境(如 subprocess)安全执行代码
- GRPO 训练 300-500 步
-
评估:
- HumanEval pass@1
- MBPP pass@1
- 代码质量分析
推荐数据集
| 数据集 | 类型 | 规模 | 用途 |
|---|---|---|---|
| CodeAlpaca | 代码指令 | 20K | SFT 训练 |
| MBPP | Python 编程 | 974 | RLVR + 评估 |
| HumanEval | 代码生成 | 164 | 评估 |
| CodeContests | 竞赛编程 | 13K | 进阶 RLVR |
安全提醒:代码执行必须在沙盒环境中进行。建议使用 Docker 容器或限制执行时间/内存的 subprocess 调用。绝不要在宿主机上直接执行模型生成的代码。
方向五:领域问答系统
项目描述
在特定领域(如医疗、法律、金融等)数据上微调模型,量化压缩后部署为可交互的 API 服务。重点在于端到端的实用性——从微调到部署。
技术要求
-
Stage 1 — 领域 SFT:
- 收集领域问答数据(可选医疗、法律、金融等)
- 微调 Qwen3-4B 模型
-
Stage 2 — 量化压缩:
- 对微调后的模型进行 GPTQ/AWQ INT4 量化
- 对比量化前后的质量
-
Stage 3 — 部署:
- 使用 vLLM 或 llama.cpp 部署
- 编写简单的 API 接口(FastAPI/Gradio)
- 测量 QPS(queries per second)
-
评估:
- 领域问答准确率
- 部署性能指标(延迟、吞吐量)
- 量化对领域知识的影响
推荐数据集
| 数据集 | 领域 | 规模 | 用途 |
|---|---|---|---|
| CMB | 中文医疗 | 多种 | SFT + 评估 |
| DISC-LawLLM | 中文法律 | 403K | SFT |
| FinGPT | 金融 | 多种 | SFT |
方向六:视觉问答模型
项目描述
微调 VLM 模型的视觉问答能力,并用 DPO 减少视觉幻觉。这是当前多模态 AI 的热门方向。
技术要求
-
Stage 1 — 视觉指令微调:
- 使用 LLaMA-Factory 对 Qwen3-VL-2B-Instruct 做 LoRA 微调
- 在视觉指令数据上训练
-
Stage 2 — DPO 减少幻觉:
- 构建视觉偏好数据(faithful vs hallucinated 回复)
- 使用 DPO 训练减少幻觉
-
评估:
- 视觉问答准确率
- 幻觉率(POPE benchmark)
- 细粒度幻觉类型分析
推荐数据集
| 数据集 | 类型 | 规模 | 用途 |
|---|---|---|---|
| LLaVA-Instruct-150K | 视觉指令 | 150K | SFT |
| RLAIF-V | 视觉偏好 | 83K | DPO |
| POPE | 幻觉评估 | 9K | 评估 |
| MMBench | 多模态综合 | 多种 | 评估 |
计算资源提醒:VLM 的微调因为需要处理图像 token,显存占用比纯文本模型高约 50%。建议使用 A100-40G 或更高配置。使用 QLoRA 可以在 24GB GPU 上运行 VLM-2B 的微调。
方向七:工具调用智能体
项目描述
训练模型的函数调用能力,搭建完整的多步工具调用智能体。从 SFT 训练开始,逐步构建能够在真实场景中使用工具的 AI 助手。
技术要求
-
Stage 1 — 函数调用 SFT:
- 在工具调用对话数据上微调 Qwen3-1.7B
- 训练模型生成合法的 JSON 函数调用
-
Stage 2 — 智能体循环构建:
- 实现完整的 Agent Loop:输入解析 → 工具选择 → 参数生成 → 执行 → 结果整合
- 支持多步工具调用
- 支持错误处理和重试
-
评估:
- 单步函数调用准确率
- 多步任务完成率
- 与 Qwen3-1.7B Instruct 原生能力对比
推荐数据集
| 数据集 | 类型 | 规模 | 用途 |
|---|---|---|---|
| Glaive Function Calling v2 | 函数调用 | 113K | SFT |
| ToolBench | 工具使用 | 126K | SFT + 评估 |
| BFCL | 函数调用评估 | 2K | 评估 |
项目时间规划建议
第 3-4 课间(1 周):确定项目方向和小组成员,初步调研相关数据集和方法
第 4-5 课间(1 周):完成数据收集和预处理,启动 Stage 1 训练
第 5-6 课间(1-2 周):完成 Stage 2 训练和评估,准备演示
第 6 课前 3 天:撰写项目报告,制作演示 PPT,准备 Demo
合作分工建议(3 人组为例):
- 同学 A:数据收集与预处理、训练配置
- 同学 B:模型训练与调优、超参数搜索
- 同学 C:评估框架搭建、报告撰写、演示准备
每位同学都应理解项目全流程,在报告中说明各自贡献。