第 22 章 LLM可观测性数据漂移

第 22 章 模型可观测性

第 22 章 模型可观测性

学习目标

  • 区分数据漂移与概念漂移,掌握检测方法;
  • 理解异常检测、离群点、分布偏移的工程做法;
  • 理解解释性、归因、审计日志;
  • 掌握 LLM 特有可观测性:Prompt、Token、工具调用、RAG 命中;
  • 建立在线评估与反馈闭环。

22.1 模型为什么会「悄悄变差」

模型上线后最危险的敌人不是故障,是漂移(Drift)——模型权重没变,但现实变了,模型就变差了。两类漂移要分清:

类型 定义 例子 修复
数据漂移(Data Drift) 输入分布变了 用户问法变了、新商品品类上线 重训/微调适配新分布
概念漂移(Concept Drift) 输入→输出的关系变了 政策改了,旧答案全错 更新知识(RAG)/重训
%%{init: {"themeVariables": {"primaryTextColor": "#000000", "textColor": "#000000", "labelColor": "#000000", "nodeTextColor": "#000000", "labelTextColor": "#000000", "scaleLabelColor": "#000000"}}}%%
flowchart LR
    A[输入分布 X] --> B[模型 f]
    B --> C[输出 Y]
    D[数据漂移
X 变了] --> A E[概念漂移
X→Y 关系变了] --> B F[模型退化
f 本身失效] --> B

LLM 场景漂移的特殊性:LLM 的「输入」是 Prompt(含系统提示、历史、RAG 内容)——Prompt 模板变更本身就是一种「人造漂移」,监控要把 Prompt 版本纳入漂移变量。RAG 场景下,知识库更新(索引变化)也会造成「概念漂移」——模型没变,答案来源变了。

22.2 漂移检测方法

22.2.1 输入/输出分布统计

  • 特征分布:对输入的数值特征(长度、领域分布、embedding 分布)做分布对比(KS 检验、PSI);
  • Embedding 漂移:把输入/输出映射到 embedding 空间,看分布重心移动(参考分布 vs 当前分布的质心距离);
  • 输出分布:输出长度、情感、主题分布变化。

22.2.2 与「参考分布」对比

核心是**参考分布(Reference Distribution)**的维护:训练期分布 or 上线初期的稳定分布。对比要小心:

  • 季节性:节假日、促销季的业务输入天然变化,不等于漂移(要按周期对齐比较);
  • 度量窗口:漂移是「慢信号」,用滚动窗口(日/周)看趋势而非瞬时值。
# PSI(Population Stability Index)漂移检测:衡量分布偏移程度
def psi(reference, current, buckets=10):
    # 分桶统计两分布占比,PSI > 0.2 视为显著漂移
    ...

22.2.3 概念漂移的检测

概念漂移没有「输入分布」可看,只能看**「预测 vs 实际」的偏差**:需要标注或延迟标签(用户反馈、结果验证)。RAG 场景的具体信号:忠实度下降、引用失效、答案与检索内容脱节——这些就是概念漂移的可观测代理。

22.3 异常检测、离群点、分布偏移

  • 异常检测:服务层的异常(延迟尖刺、错误突增)用阈值/统计(第 21 章饱和度);模型层的异常(输出突然变成乱码、空响应)用规则 + 抽样;
  • 离群点(Outliers):单条异常输入/输出——记录、抽样分析、加入评测集;
  • 分布偏移(Distribution Shift):比漂移更广的概念,包括上线环境的分布与训练分布不一致——上线前要测「生产流量 vs 训练分布」的偏移(影子流量,第 16 章)。

工程要点:异常检测的价值在「先兆」——漂移与劣化通常有渐进信号(饱和度、质量抽样分、分布距离),在「模型明显变差」之前抓住它。

22.4 解释性、归因、审计日志

传统 ML 的解释性(SHAP、LIME、特征重要性)对 LLM 基本失效——LLM 的「归因」转向了事实层面

需求 LLM 的做法
为什么这么答 RAG 引用溯源(答案关联到检索文档)
答案靠什么依据 引用准确性检查(第 9 章)
出事了找证据 审计日志:输入 Prompt + 输出 + 模型版本 + 检索结果全留痕

审计日志是 LLM 可观测性的底线(第 19 章审计、第 23 章合规都靠它):每次请求的完整上下文(系统提示、历史、检索块、工具调用、输出、模型版本、推理参数)都要可回放。没有审计日志,安全事件、合规审查、质量争议都无从谈起。

22.5 LLM 特有可观测性

第 5 章埋的「LLM 五个新变量」在监控侧落地:

22.5.1 Prompt 可观测性

  • Prompt 版本:当前生效的模板版本、命中分布(灰度期新旧 Prompt 各占多少流量);
  • Prompt 长度:token 数分布(成本与截断风险);
  • Prompt 注入检测:输入中的注入攻击模式计数(第 23 章)。

22.5.2 Token 可观测性

  • 输入/输出 token 分布、总成本(第 17 章成本公式的在线化);
  • Token 效率:每有效回答消耗多少 token(生成废话比例);
  • 截断率:max_tokens 触顶比例(输出被砍,质量受损)。

22.5.3 工具调用可观测性

Agent 场景:工具调用次数、成功率、失败原因、循环检测(死循环告警)、每轮 token 消耗(第 17 章 Agent 成本)。

22.5.4 RAG 命中可观测性

  • 检索命中率:检索结果被模型实际使用/引用的比例(第 9 章 recall 的在线化);
  • rerank 增益:重排前后的质量提升;
  • 引用正确率:答案引用的文档是否正确(抽样检查);
  • 知识时效:检索内容的时间戳分布(陈旧文档命中率)。

22.6 在线评估与反馈闭环

可观测性的终点是闭环:监控发现问题 → 数据回流 → 训练/修复 → 再评估。

%%{init: {"themeVariables": {"primaryTextColor": "#000000", "textColor": "#000000", "labelColor": "#000000", "nodeTextColor": "#000000", "labelTextColor": "#000000", "scaleLabelColor": "#000000"}}}%%
flowchart LR
    A[线上请求] --> B[可观测性
指标+抽样] B --> C[问题识别
漂移/质量/安全] C --> D[数据回流
坏例+偏好+新分布] D --> E[CT 触发
第 19 章] E --> F[评估门禁] F -->|达标| G[发布] G --> A
  • 在线评估(第 9 章):影子流量、小流量 A/B、LLM 裁判抽样打分——持续量化「线上质量」;
  • 反馈回流(第 6 章):用户反馈(点赞/点踩/纠错)→ 标注 → 偏好数据/指令数据 → CT;
  • 坏例回流:监控抓到的异常输出、越狱成功案例 → 评测集与对齐数据。

闭环的度量:模型质量分(在线)随时间曲线、反馈回流的数据量、CT 触发到发布的天数——「可观测性 → 数据 → 模型」的周转速度,就是 LLMOps 的迭代速度。


本章要点回顾

  1. 数据漂移是输入变了,概念漂移是关系变了,模型退化是权重失效;LLM 的 Prompt 版本也是漂移变量。
  2. 漂移检测 = 参考分布对比 + 滚动窗口;RAG 的概念漂移看忠实度与引用失效。
  3. 异常检测要抓「先兆」(饱和度、质量抽样分),别等明显劣化。
  4. LLM 归因 = RAG 引用溯源;审计日志(输入+输出+版本+检索全留痕)是底线。
  5. LLM 特有可观测四件套:Prompt、Token、工具调用、RAG 命中。
  6. 在线评估 + 反馈回流 + CT 构成闭环;周转速度 = LLMOps 迭代速度。

习题

  1. 你的客服模型上线 3 个月后满意度下降。设计漂移检测方案区分数据漂移/概念漂移/模型退化。
  2. 设计 RAG 场景的「引用正确率」抽样评测:样本量、抽取方式、判定标准。
  3. Agent 的死循环怎么检测与告警?给出信号与自动止损设计。
  4. 用户反馈「答案是旧的」(政策已变)。这是哪类漂移?如何从监控到修复走完整闭环?
  5. 审计日志要留哪些字段才能支撑「某用户投诉答案侵权」的调查?

延伸阅读

  • Evidently AI / WhyLabs(漂移检测工具)
  • LangSmith / Langfuse / Arize Phoenix(LLM 可观测性)
  • OpenTelemetry GenAI 语义约定
  • Gama et al., A Survey on Concept Drift Adaptation, 2014

下一章预告

第 23 章可靠性、安全与治理:SLO/SLA/SLI 与错误预算、容量规划与混沌工程、降级熔断限流、对抗攻击与提示注入、差分隐私与机密计算、GDPR/AI Act 与模型卡数据卡审计。