第六篇:本地模型选型 —— 4 个模型 × 2 种设备 × 2 项任务的全量对比

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

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

两个延迟敏感路径:工具选择要求 <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.5B GPU 0.723 70% 344ms
Qwen2.5-0.5B CPU 0.723 70% 1.6s
Qwen2.5-1.5B GPU 0.784 83% 570ms
Qwen2.5-1.5B CPU 0.784 83% 4.9s
Qwen3-1.7B GPU 0.984 100% 703ms
Qwen3-1.7B CPU 0.984 100% 5.5s
Qwen2.5-3B GPU 0.969 100% 922ms
Qwen2.5-3B CPU 0.969 100% 9.1s

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


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

模型 设备 Top-1 p50
Qwen2.5-0.5B GPU 56% 63ms
Qwen2.5-0.5B CPU 58% 476ms
Qwen2.5-1.5B GPU 92% 94ms
Qwen2.5-1.5B CPU 92% 1.3s
Qwen3-1.7B GPU 88% 109ms
Qwen3-1.7B CPU 88% 1.5s
Qwen2.5-3B GPU 96% 156ms
Qwen2.5-3B CPU 96% 2.6s

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


CPU vs GPU,加速比的真相

模型 信息提取 CPU 信息提取 GPU 加速比 工具选择 CPU 工具选择 GPU 加速比
0.5B 1.6s 344ms 4.7x 476ms 63ms 7.6x
1.5B 4.9s 570ms 8.7x 1.3s 94ms 13.6x
1.7B 5.5s 703ms 7.8x 1.5s 109ms 13.3x
3B 9.1s 922ms 9.9x 2.6s 156ms 16.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.95 200 边界标注 ✅ 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 GPU 96% 100% 5.75G
轻量方案 Qwen2.5-1.5B GPU 92% 83% 2.88G
极致精度 Qwen3-1.7B + 1.5B 92% 100% 6.1G
CPU 兜底 Qwen2.5-0.5B 58% 70% 2.59G
相关推荐
天空属于哈夫克33 天前
企业微信二次开发:精准实现关键词自动回复
架构·企业微信
晨米酱3 天前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent
这个DBA有点耶3 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
VIP_CQCRE3 天前
Coze 接入自定义模型更简单:用 Ace Data Cloud 打通 OpenAI Responses API
openai·api·ai agent·coze·acedatacloud
码流子3 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
一级新生3 天前
Agent Skill 是什么?概念、架构与开发指南
人工智能·ai agent·ai工具·提示词工程·agent skill
moMo3 天前
从固定流程到问题路由:让 LangGraph RAG 按需检索
架构
白远山3 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
LorryJovens3 天前
【LAAP科研】双系统具身AGI范式研究——基于LAAP认知架构与Jev概率决策模型的系统性技术调研与范式验证
人工智能·gpt·安全·架构
JQweryuiop3 天前
中小型游戏陪练工作室数字化管理实践:基于七彩屋电竞护航小程序订单、履约与绩效系统的落地复盘
大数据·游戏·小程序·架构