跳到主要内容

LLM 分类器的生产实践:为什么准确率是错误的指标

· 阅读需 12 分钟
Tian Pan
Software Engineer

一个团队上线了基于 LLM 的意图分类器,评估准确率高达 94%。然而上线两周后,客服工单量上涨了 30%——并非因为模型无法分类,而是它以极高的置信度将边缘案例路由到了错误的队列。没有人为"模型判断错误却浑然不知"这种情况设置熔断机制。那个 94% 的数字从未暴露过这种风险。

这种失败模式在内容审核流水线、路由系统和实体提取器中反复出现。LLM 在留出集上得分很高,团队上线,然后生产环境中悄悄出现了问题。

问题不在于准确率是个坏指标,而在于它回答的是错误的问题。生产环境中的分类有一套不同的要求,而大多数评估流水线并不测试这些要求。

准确率忽略的四个约束

当你在生产中将 LLM 用作分类器时,你要求它做的事情与生成文本不同。你需要稳定的输入到标签映射、可预测的延迟、可靠的置信度估计,以及在分布偏移下的稳定行为。准确率只孤立地衡量第一个约束,而忽略了其余所有约束。

校准性:如果一个模型所声称的置信度与其实际准确率相符,则该模型是经过校准的。如果模型说它有 90% 的把握,那么它应该在 90% 的情况下是正确的。对生产 LLM 分类器的研究发现,GPT-4o-mini 的错误集中在高置信度端——当模型报告置信度超过 80% 时,大约 66.7% 的误分类就会发生。对于将置信度作为决策门槛的自动路由系统来说,这是灾难性的:模型在系统最信任它的地方,反而失误最多。

分类别性能:总体准确率掩盖了类别层面的失败。在一个 95%/5% 类别分布的数据集上,一个始终预测多数类的分类器可以达到 95% 的准确率,而对少数类的召回率为 0%。实际上,少数类通常是你最关心的——罕见但有害的内容、低频但业务影响高的意图、不寻常的实体类型。分类别的 F1 分数,而非总体准确率,才能揭示模型是否真正适用于你的用例。

吞吐量和延迟:生产中的分类具有通用 LLM 基准测试无法衡量的 SLO。对话系统中的意图检测需要在 200ms 内完成。流式处理流水线中的内容审核需要每分钟处理数千个条目。LLM 推理比传统逻辑回归分类器慢几个数量级。相关问题不仅仅是"它准确吗?",而是"在这个延迟、这个吞吐量、这个成本下,它准确吗?"

分布稳定性:在一月份留出集上评估的模型,如果输入分布已经发生偏移,在六月份的流量上可能表现不同。模型提供商会推送静默更新,用户行为会改变,话题会趋于热门。某时间点上测量的准确率对于分类器在六个月后的表现毫无说明。

校准性:置信度问题

LLM 校准的核心难点在于置信度机制与分类机制在架构上是分离的。LLM 被训练为生成合理的文本,而不是可靠地估计自身的不确定性。当你要求模型返回一个标签和一个置信度分数时,该置信度分数反映的是模型对自身答案的内部表示,而非可靠的概率。

实际后果是:在高风险应用中,你不能在未经过真实生产数据校准的情况下,将原始 LLM 置信度分数用作自动决策的阈值。生产部署中期望校准误差(ECE)超过 0.10 的情况十分常见——这意味着声称 85% 置信度的模型实际上可能只有 70% 的概率是正确的。

有一些可行的缓解措施。温度缩放(Temperature scaling)无需重新训练即可事后调整输出分布的锐利程度。Platt 缩放(Platt scaling)对模型的原始输出拟合一个 Sigmoid 函数,将其转换为经过校准的概率。集成方法——汇总来自多个模型或多次采样运行的预测——通过平均个体模型的过度自信来提高校准性。这些方法都不是免费的,但都比上线一个路由置信度分数系统性误导的流水线要便宜。

在生产中使用基于置信度的路由的最低实践标准:在你的实际流量标注样本(而非评估集)上评估 ECE。然后要么进行校准,要么重新设计路由,使其完全不依赖于置信度分数。

延迟和吞吐量是第一优先级约束

LLM 推理的延迟特性对分类来说与对生成来说有所不同。在生成中,你可以流式传输 token;延迟是在完整响应过程中感知的。在分类中,你需要完整的标签才能采取行动。每一毫秒的首 token 时间都是阻塞的。

对于实时应用——路由传入请求、在显示内容之前决定是否标记它、在语音界面中检测意图——你通常在 500ms 以内的延迟预算中工作。LLM API 调用,包括网络传输和推理,对于单个同步请求通常需要 800ms 到 2 秒。如果没有仔细的批处理、缓存或模型选择,这会超出预算。

LLM 推理的三难困境在此适用:你可以针对吞吐量(每秒更多请求)、延迟(更快的单个响应)或成本(每 token 更便宜)进行优化——但调整任何一个杠杆都会使其他指标变差。对于分类工作负载,正确的权衡取决于你的流量模式。没有实时 SLO 的批量审核流水线可以积极地批处理并容忍更高的延迟;而面向客户的意图检测则不能。

在生产中行之有效的实际方法:

  • 语义缓存:对高频输入缓存分类结果。生产系统通常能看到 20–40% 的缓存命中率,这既降低了延迟也降低了成本。
  • 模型路由:将简单、高置信度的输入发送给更小、更快的模型(7B 或更小);将不确定或复杂的输入升级到更大的模型。仅此一项就能将推理成本降低 30–60%。
  • 量化推理:4-bit 量化模型的运行速度快 2–4 倍,在大多数分类任务上质量保留率为 95–99%。

分类别测试与混淆矩阵要求

没有混淆矩阵的准确率数字是不完整的评估。在将 LLM 分类器提升到生产环境之前,你需要完整的细分:对于每个类别,模型正确识别它的频率、将其误识别为其他类别的频率,以及完全遗漏它的频率?

混淆矩阵揭示了对运营决策至关重要的失败模式。如果你的内容审核分类器将"骚扰"和"垃圾邮件"混淆——从标记的角度来看两者都是真正的阳性,但它们路由到具有不同人工审核流程的不同队列。如果你的意图分类器将"账单纠纷"误路由为"技术支持",即使分类"几乎是正确的",用户也会被转接并感到沮丧。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates