选模型不是找"最强"的那个,是找"刚好够用且最省资源"的那个。

为什么要做这么细的对比?

两个延迟敏感路径:工具选择要求 <100ms,信息提取要求 <500ms。云端 API 的 p99 延迟抖动(500ms+)不可接受。另外本地模型零 API 成本——每天 1 万次工具选择,不用模型 = 每年省 ¥2,800-¥8,500。


实验设计

  • 模型:Qwen2.5-0.5B / 1.5B / 3B + Qwen3-1.7B
  • 设备:CPU (FP32) / GPU (FP26 CUDA)
  • 信息提取:30 条真实电商消息 × 5 种意图
  • 工具选择:50 条标注 query × 10 个工具

信息提取:0.5B 在编造字段

模型设备字段 F1值匹配率p50
Qwen2.5-0.5BGPU0.72370%344ms
Qwen2.5-0.5BCPU0.72370%1.6s
Qwen2.5-1.5BGPU0.78483%570ms
Qwen2.5-1.5BCPU0.78483%4.9s
Qwen3-1.7BGPU0.984100%703ms
Qwen3-1.7BCPU0.984100%5.5s
Qwen2.5-3BGPU0.969100%922ms
Qwen2.5-3BCPU0.969100%9.1s

0.5B 的最大问题不是精度低——而是它在"编造"字段。不该输出任何参数的意图,它硬塞了一个不存在的字段。1.5B 同样有"空 Schema 填充"问题:5 条错误中 3 条是"不该输出却输出了"。


工具选择:3B 的意外登顶

模型设备Top-1p50
Qwen2.5-0.5BGPU56%63ms
Qwen2.5-0.5BCPU58%476ms
Qwen2.5-1.5BGPU92%94ms
Qwen2.5-1.5BCPU92%1.3s
Qwen3-1.7BGPU88%109ms
Qwen3-1.7BCPU88%1.5s
Qwen2.5-3BGPU96%156ms
Qwen2.5-3BCPU96%2.6s

3B 的完全匹配率只有 78%——它倾向于多选(如"我的订单到哪了"同时输出 query-order + check-shipping)。好消息是所有多选 case 的正确答案都在输出中,加一句"只选 1 个"的 prompt 约束即可修复。


CPU vs GPU,加速比的真相

模型信息提取 CPU信息提取 GPU加速比工具选择 CPU工具选择 GPU加速比
0.5B1.6s344ms4.7x476ms63ms7.6x
1.5B4.9s570ms8.7x1.3s94ms13.6x
1.7B5.5s703ms7.8x1.5s109ms13.3x
3B9.1s922ms9.9x2.6s156ms16.4x

结论:本系统必须有一个 GPU。 CPU 上信息提取最快也要 1.6s(0.5B),最慢 9.1s(3B),全部突破 500ms 的延迟红线。工具选择同样——CPU 上 3B 需要 2.6s,是 GPU 的 16 倍。CPU 降级只是"系统还能跑"的兜底,不是正常使用路径。


SFT 微调决策树:不是所有模型都值得微调

选型结果出来了,下一步是"要不要做 SFT"。这是一笔投入产出的账:

场景当前精度SFT 后预期数据量ROI
3B 信息提取F1=0.969, 值匹配 100%0.98-0.99❌ 改 prompt 即可
1.5B 信息提取F1=0.784, 值匹配 83%0.92-0.95200 边界标注✅ ROI 最高
1.5B 工具选择Top1=92%95-97%50 边界标注✅ 数据量小
0.5B 全部不可用不可预期❌ 放弃

决策逻辑

  • 3B 不改:96% Top1、100% 值匹配,天花板够高,SFT 的边际收益几乎为零。问题在 prompt 层面(多选倾向加一句"只选 1 个"即可)
  • 1.5B 是甜点:精度接近 3B 但显存省 2.87G(5.75G → 2.88G)。当前 83% 值匹配的差距主要集中在"空 Schema 填充"——LLM 对不该输出的意图硬塞了参数。这类错误模式固定、边界清晰,200 条标注数据即可覆盖
  • 0.5B 放弃:基础语义理解不够,SFT 无法弥补底层能力缺失

LoRA 参数:1.5B rank=8 alpha=16 ≈2M 参数 ≈8MB 适配器,训练约 20min。

SFT 数据构造方案

如果决定对 1.5B 做 SFT,数据配方如下:

  1. SFT 指令微调:~800 条(200 边界标注 + 500 LLM 蒸馏 + 50 真实日志)
    • 200 条边界标注:从第六篇的错误分析中挑出"空 Schema 填充"“字段名拼错”"误提取不存在的字段"三类 case,人工写标准输出
    • 500 条 LLM 蒸馏:用 Qwen2.5-3B 批量生成(输入→标准输出),筛掉质量差的。成本 ≈ 3B API 调用 500 次,几毛钱
    • 50 条真实日志:线上人工审核过的正确 case,保底不漂移
  2. DPO 偏好对齐:~100 对(进阶,SFT 后再做),同一输入给正确输出和典型错误输出做对比
  3. RLAIF 规则奖励:可选,但 RL 训练不稳定,不推荐在当前阶段引入

部署矩阵

方案配置工具选择信息提取显存
⭐ 最佳单模型Qwen2.5-3B GPU96%100%5.75G
轻量方案Qwen2.5-1.5B GPU92%83%2.88G
极致精度Qwen3-1.7B + 1.5B92%100%6.1G
CPU 兜底Qwen2.5-0.5B58%70%2.59G
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐