logprob-ab-testing · ZH · 2026-10-24

用一把聚合站 key 的 logprobs 对比各后端的置信度

本文介绍如何通过 LLM API 聚合站使用单一 API key 获取不同后端模型(如 Claude、GPT、DeepSeek 等)的 token 级 logprobs,并基于置信度曲线评估模型在分类任务上的可靠性,帮助开发者选择更适合的模型。

为什么关注 logprobs

在分类任务中,模型输出的概率分布能反映其置信程度。logprobs(对数概率)提供了每个 token 的生成概率,让我们能定量比较不同模型的“自信程度”。聚合站的优势在于,用同一把 API key 即可调用多个后端模型,方便进行横向对比。

获取 logprobs 的方法

并非所有模型都支持返回 logprobs,调用前需确认模型是否开放该参数。以 OpenAI 兼容接口为例,通常在请求体中添加 logprobs: true 和 top_logprobs: N(N 为返回的候选 token 数量)。聚合站会将该参数透传给支持的后端。

示例请求结构(伪代码):

{
  "model": "claude-3-sonnet",
  "messages": [{"role": "user", "content": "分类:这条评论是正面还是负面?"}],
  "logprobs": true,
  "top_logprobs": 5
}

响应中会包含每个生成 token 的 logprob 及 top 候选。

解读置信度曲线

将每个 token 的 logprob 转换为概率(取指数),并绘制随生成位置变化的曲线。对于分类任务,我们更关注关键标签 token(如“正面”“负面”)的概率。

  • 高置信度:标签 token 概率接近 1,曲线平稳。
  • 低置信度:概率分布分散,top 候选间差距小。
  • 波动大:模型在生成过程中犹豫,可能受输入歧义影响。

对比不同模型的曲线,可以直观看出谁更“果断”。

跨模型对比的实践建议

  1. 统一输入格式:确保各模型接收相同的提示词和分类体系,避免因格式差异引入偏差。
  2. 关注关键 token:只提取标签对应的 token 概率,忽略无关 token。
  3. 多次采样:对于非确定性模型,可多次请求取平均,观察稳定性。
  4. 结合准确率:置信度高不一定正确,需在验证集上计算准确率,综合评估。
  5. 注意模型差异:不同模型的 tokenization 可能不同,比较时需对齐标签的 token 表示。

根据置信度选择模型

  • 若某模型在分类任务上置信度高且准确率也高,可优先选用。
  • 若置信度普遍偏低,可能需要调整提示词或考虑其他模型。
  • 对于边界案例,可设置置信度阈值,低于阈值时转人工或使用更强大的模型复核。

通过聚合站的一把 key,你可以低成本地完成这种对比实验,快速找到适合你分类场景的模型。