给定 100 条业务 query,如何计算模型拒绝回答的可接受阈值?

解读

面试官真正想考察的是:

  1. 你是否理解“拒绝回答”在国内合规场景下的双重含义——既包括内容安全红线(涉政、涉黄、涉暴、隐私等),也包括业务安全(幻觉、知识边界、权限隔离)。
  2. 你能否用量化指标把“可接受”翻译成可交付的数字,而不是拍脑袋。
  3. 你是否具备LLMOps 闭环思维:阈值不是一次性算完,而是持续监控-回扫-迭代

知识点

  1. 拒绝类型拆解

    • 硬性拒绝:触碰监管红线,必须 100 % 拒绝,无阈值空间。
    • 软性拒绝:模型因置信度低、知识缺失、权限不足而主动“我不知道”,需要给业务方一个可接受区间。
  2. 评价指标

    • 拒答率(RR) = 拒绝条数 / 100
    • 误拒率(FRR) = 本应回答却被拒绝 / 本应回答总数
    • 漏拒率(FAR) = 本应拒绝却回答 / 本应拒绝总数
      国内落地时,FAR 必须优先压到 0 %,否则应用商店下架、算法备案被驳回;在此硬约束下,最小化 FRR 即为阈值优化目标。
  3. 阈值搜索方法

    • 人工标注黄金集:请 3 名持证内容审核员(具有国家网信办《网络审核人员证书》)对 100 条 query 做“是否该拒”双盲标注,多数表决产生 1 份黄金标签。
    • 模型打标:用待上线模型对同 100 条 query 输出拒绝概率 P_reject
    • ROC 曲线:以 P_reject 为横轴,FRR/FAR 为纵轴,在 FAR=0 % 处读取对应 P_reject,即为业务可接受阈值 θ
    • 置信区间:100 条样本太小,用Clopper-Pearson 精确区间计算 θ 的 95 % 上限,若上限>θ,则补采样至≥300 条再算,避免监管抽检不达标。
  4. 国内合规补丁

    • 若黄金集里出现涉政敏感 query,需单独做敏感子集验证,确保 FAR 仍为 0 %;
    • 阈值上线前,走公司法务、合规、安全三道审批,留档备查。

答案

步骤如下:

  1. 把 100 条 query 交由持证审核员双盲标注,得到“应拒”标签。
  2. 用模型输出每条 query 的拒绝概率 P_reject
  3. 以 P_reject 为决策边界,在 ROC 空间锁定 FAR=0 % 的点,此时对应的最小 P_reject 即为可接受阈值 θ
  4. 若样本量不足,用精确区间估算 θ 的 95 % 上限,高于 θ 则扩样至 300 条再算。
  5. 将 θ 写入模型配置中心,同步到LLMOps 监控看板,上线后每日回扫新增 query,若发现 FAR>0 %,立即回滚并告警

拓展思考

  1. 动态阈值:业务流量放大到 10 万级后,可用群体稳定性指标(PSI) 监控 θ 是否漂移;若 PSI>0.1,触发自动重标+重算
  2. 多模型融合:对硬性拒绝使用敏感词+风控小模型做前置过滤,软性拒绝再用大模型 θ 阈值,分层决策可把 FRR 再降 30 %。
  3. 用户分层:To B 客户签约 SLA 要求“误拒率<2 %”,To C 小程序要求“漏拒率=0 %”,同一份模型可按客户标签动态路由不同 θ,实现阈值个性化