15. 小模型(SLM)在什么场景下比大模型更合适?怎么做好取舍?

整理小模型与大模型的取舍逻辑与适用场景。

简单回答

小模型(Small Language Model,通常指 1B~7B 参数)在以下场景比大模型更合适:任务简单且明确(分类、信息提取、格式转换等)、对延迟要求极高(实时交互、流式生成)、部署资源受限(端侧设备、成本敏感场景)、以及请求量极大(成本和吞吐是首要考虑)。取舍的核心逻辑是"任务所需的最小模型能力"——用能完成任务的最小模型,而不是默认用最大的。

详细解释

大模型不是万能的

"越大越好"是一个粗糙的判断。实际上很多生产场景中用 70B 甚至 GPT-4 级别的模型是浪费的——用户只是想让模型做一个简单的分类或提取任务,3B 模型经过微调就能做到 95%+ 的准确率,完全没必要调用一个 API 单次成本高几十倍的大模型。

而且大模型在某些维度上并不比小模型有优势——推理速度、部署成本、隐私控制(本地部署不出数据)这些方面,小模型天然占优。

小模型适合的场景

任务明确且单一。 文本分类(情感分析、意图识别、垃圾邮件检测)、信息提取(从文本中提取日期、金额、人名)、格式转换(JSON 到 XML、代码格式化)——这类任务的输入输出模式固定,不需要模型具备广泛的知识和复杂的推理能力。小模型经过 SFT 微调后,在这些任务上的准确率和大模型差距很小甚至持平。

延迟敏感。 实时对话、代码补全、搜索推荐——用户期望的响应时间是几百毫秒。大模型即使在好的 GPU 上每秒也只能生成几十个 token,小模型可以快几倍到十几倍。

端侧和本地部署。 手机、平板、嵌入式设备上显然跑不了 70B 模型。本地 PC 上如果只有 CPU 或小显存 GPU,也只能用小模型。GGUF 量化后的 3B 模型在手机上就能流畅运行。

成本敏感。 每次 API 调用大模型可能花费几美分,如果每天百万级请求,API 成本会非常高。用自部署的小模型,硬件成本分摊下来每次调用成本可以低两个数量级。

隐私要求。 某些场景不允许把数据发送到外部 API(如医疗记录、金融数据)。本地部署的小模型可以在数据不出域的前提下提供 AI 能力。

Agent 系统中的轻量级判断。 Agent 系统中有很多不需要"强智能"的步骤——比如判断工具调用是否成功、对工具返回结果做简单的分类或提取、判断任务是否完成等。这些用小模型就足够了,不需要每步都调大模型。

小模型不适合的场景

需要广泛的世界知识(如开放域问答、复杂的多跳推理)、需要强大的指令遵循能力(复杂的多约束任务)、需要处理多种语言或多种格式、以及需要很长上下文理解的场景——这些是大模型的优势领域,小模型在这些任务上的表现通常明显逊色。

创意类任务(写作、文案、广告)和需要深度推理的任务(数学、逻辑)也通常需要更大的模型。

怎么做取舍

实际决策的流程通常是:先在业务场景上用大模型(如 GPT-4 或 Claude)跑出一个效果基线。然后用这个大模型生成的数据对小模型做 SFT 微调(知识蒸馏的一种形式)。在评测集上对比微调后的小模型和大模型的效果差距。如果差距在业务可接受范围内(比如准确率降了 2~3 个百分点),就用小模型部署。

另一个常见模式是 Routing(路由)——用一个轻量级的分类器判断每个请求的"难度",简单请求路由给小模型,复杂请求路由给大模型。这样既控制了成本,又保证了复杂任务的效果。这在大模型 Gateway 的设计中很常见。

还有 Cascade(级联)——先让小模型尝试回答,如果小模型的"信心度"低于阈值,再转发给大模型。可以理解为"小模型先过一遍,搞不定的交给大模型"。

当前主流的小模型

Qwen-2.5 系列有 0.5B、1.5B、3B、7B 多个尺寸。Phi-3/Phi-4 系列(微软)在同尺寸下效果很强。Gemma 2(Google)的 2B 和 9B 版本也很有竞争力。LLaMA 3.2 的 1B 和 3B 专门面向端侧场景。DeepSeek 也有小尺寸版本。

这些模型经过微调后在特定任务上的表现往往出乎意料地好——很多人低估了小模型经过 SFT 后的能力。

面试时可以这样答

小模型适合的核心场景是"任务明确、延迟敏感、成本敏感、或资源受限"。文本分类、信息提取、格式转换这类任务,3B~7B 模型微调后效果和大模型差距很小。端侧部署、高并发低成本的在线服务也是小模型的主场。

取舍的方法论是先用大模型跑基线,然后用大模型生成的数据微调小模型做蒸馏,在业务评测集上对比效果差距。差距可接受就用小模型。还有 Routing 和 Cascade 的混合方案——简单请求走小模型,复杂请求走大模型,兼顾成本和效果。

小模型不适合需要广泛知识、复杂推理、长上下文理解的场景。但很多人低估了微调后小模型的能力——在特定任务上 3B 模型的表现经常出乎意料。实际决策中不要默认用大模型,而是用"完成任务所需的最小模型"。

常见追问

  1. 你实际项目中有把大模型替换为小模型的经验吗?效果差了多少?
  2. 模型路由(大小模型混合)的分类器怎么训练?
  3. 知识蒸馏用大模型生成数据微调小模型时,数据质量怎么保证?