核心要点

  • 先定 SLO 与业务约束:明确延迟上限(P99)、成本预算、精度下限,由业务场景决定优先级,不能三者都拉满。

  • 用工程手段换取延迟与成本:更小模型/蒸馏、量化(INT8/INT4)、缓存(语义缓存/KV Cache)、批处理。

  • 用级联策略:易例走小模型、难例升级到大模型(路由/置信度兜底),在整体精度可控下大幅降本。

  • 一切收益用 A/B 测试量化:对比精度、延迟、成本与业务指标,确认权衡确实划算再全量。

标准回答

第一步:定约束(SLO 优先)

先问清业务对三者的优先级——这是决策的前提。实时搜索/广告对延迟敏感(P99 < 100ms 是硬约束),离线批处理则更看成本。把延迟上限、成本预算、精度下限写成明确的 SLO,权衡才有标尺。

第二步:换延迟与成本的工程手段

在满足精度下限的前提下,逐项压成本与延迟:

  • 更小模型 / 蒸馏:用大模型产出标签训练小模型,精度损失小而延迟成本大降;
  • 量化:FP16 → INT8/INT4,显存与延迟显著下降,配合校准控制精度损失;
  • 缓存:高频请求做语义缓存,生成场景复用 KV Cache
  • 批处理 / 连续批处理:提升吞吐、摊薄单请求成本。

第三步:级联(cascade)

让大多数「易例」走便宜的小模型,只有低置信度的「难例」才升级到大模型。这样平均延迟和成本由小模型决定,整体精度由级联兜底,是性价比最高的结构。

第四步:A/B 量化收益

每项优化都通过 A/B 测试验证:对比精度、P99 延迟、单位成本和核心业务指标,确认净收益为正再全量上线,并持续监控线上回退。

常见误区

⚠️ 常见踩坑

不先定 SLO 就盲目追求最高精度,往往换来不可接受的延迟和成本;以及只看离线精度,忽略量化/蒸馏后线上真实延迟与业务指标的变化,必须用 A/B 验证净收益。

追问

追问 1级联(小模型+大模型)方案如何决定何时升级到大模型?

常用做法是基于小模型的置信度或不确定性设阈值:高置信度直接返回小模型结果,低置信度才路由到大模型。阈值通过离线数据扫描确定——在「升级比例」和「整体精度」之间找平衡点,比如让 80% 流量留在小模型、20% 难例升级,既保住精度又控制成本。也可以训练一个轻量路由器来判断难易。

追问 2量化会损失精度,如何评估能不能接受?

先在有代表性的评测集上跑量化前后的精度对比(PTQ 训练后量化最快,QAT 量化感知训练精度更好但成本高)。关键看损失是否落在 SLO 的精度下限之上、是否集中在某些重要类别。如果整体掉点小但核心场景受影响,可以混合精度——敏感层保留高精度。最后仍要 A/B 验证线上业务指标无明显回退。

追问 3延迟和吞吐量优化目标冲突时怎么办?

批处理能提升吞吐但会增加单请求排队延迟,两者本质是吞吐-延迟的权衡。做法是根据 SLO 设定最大批大小和最长等待窗口:延迟敏感场景用小批量/连续批处理(请求一到就处理,不等满批),成本敏感的离线场景用大批量。本质是用延迟预算去换吞吐,预算由业务约束给定。

延伸学习

与本题相关的知识库文章、术语、工具与行业资讯。