目录 / 文档-技术白皮书(V5.05) / 14-EFT.WP.Methods.Inference v1.0
I. 范围与目标
- 给出推理服务在生产环境中的运行编排、可观测性度量、SLO 判定、告警到自愈回退的闭环规范,覆盖在线/离线一致性、时间轴对齐与合规模型的审计要求。
- 形成统一 SLI/SLO 口径、错误预算与烧损率判定、告警矩阵与降级链;定义实现绑定 I40-*、计量流程 Mx-6* 与产物清单,支撑第9章卡片化发布与第12章取证。
II. 术语与符号
- SLI:服务级别指标,本文聚焦 TS.latency,TS.thrpt,TS.error_rate,cost.rate,budget.cpu/gpu/mem,budget.power。
- SLO:服务级别目标,例如 p99(TS.latency) <= L_target,TS.error_rate <= epsilon,avail >= 1 - epsilon,cost.rate <= C_target。
- error_budget:epsilon 的资源化表示,在评估窗口 W 内可接受的失败额度:error_budget = epsilon * N_req(W)。
- burn_rate:B = ( observed_error_rate / epsilon );多窗口写作 B_fast 与 B_slow。
- window/stride/watermark:聚合窗口、滑动步长与乱序数据水位;与第4章时间口径一致。
- event/incident/page:告警事件/事故/值班召回;severity ∈ {S1,S2,S3}。
- degrade/rollback:功能降级与版本回退;与第9章 canary/stable/LTS 通道配合。
III. 公设与最小方程
- P41-51 可观测一致性公设
任何 SLI 必须在统一时基下评估:ts = alpha + beta * tau_mono,聚合函数仅在经对齐后的样本上定义,避免时钟漂移导致的伪异常。 - P41-52 多窗口稳健告警公设
告警触发需同时满足快窗与慢窗的烧损判定,以兼顾迅速性与稳健性,降低误报率。 - S42-61 SLI 定义与估计
- 延迟分位:TS.latency_pq = Q_q( { TS.latency_i } ),其中 q ∈ {0.50,0.95,0.99};分位估计使用流式草图 sketch(·),如 KLL。
- 吞吐:TS.thrpt = ( 1 / |W| ) * Σ batch_size_i。
- 错误率:TS.error_rate = ( Σ I[ err_code_i != 0 ] ) / N_req(W)。
- 指数滑动均值:EWMA_t = lambda * x_t + ( 1 - lambda ) * EWMA_{t-1 }。
- S42-62 SLO 达标判定
- 延迟目标:Q_0.99( TS.latency | W ) <= L_target。
- 可用性目标:1 - TS.error_rate >= 1 - epsilon 等价于 TS.error_rate <= epsilon。
- 成本目标:cost.rate = ( Σ cost_i ) / |W| <= C_target。
- 统一判定:meet_SLO = AND( cond_latency, cond_error, cond_cost, ... )。
- S42-63 错误预算与烧损率
- error_budget = epsilon * N_req(W);观察到的失败数 E_obs 给出 burn_rate B = ( E_obs / error_budget )。
- 多窗口触发:trigger = ( B_fast >= τ_fast ) AND ( B_slow >= τ_slow )。典型 τ_fast = 2.0,τ_slow = 1.0。
- S42-64 稳健异常分数
MAD = median( | x - median(x) | );anom_score = ( x - median(x) ) / ( 1.4826 * MAD + eps );当 |anom_score| >= τ_mad 触发告警候选。 - S42-65 资源保护与背压
若 ( budget.cpu/gpu/mem >= τ_budget ) 或 ( TS.latency_p99 > L_hard ),执行工作负载削峰:new_batch_size = max(1, floor( batch_size * k_down ) ),并暂停可选支路算子。
IV. 数据与清单口径
- 事件记录字段(最小必填):
- ts, req_id, trace_id, span_id, route, model_id, version, device_class, batch_size。
- input_bytes, output_bytes, TS.latency_ms, err_code, status。
- cost_item, power_j, cpu_ms, gpu_ms。
- y_hat_meta, confidence, calib_bin(与第7章校准口径一致)。
- clock_align = {alpha, beta}(与第6章一致)。
- 聚合规范:
- 窗口 W = [ t - T, t ),步长 stride;乱序延迟小于 watermark 的样本纳入,否则计入 late_drop 并审计。
- 低基数标签白名单:{ route, model_id, version, device_class };高基数标签必须脱敏或采样(见实现绑定)。
- 审计与追溯:
事件 hash( payload ),与 fingerprint、signature 关联;生成可验证链 anchor → IPC/PC → Runtime → Event。
V. 算法与实现绑定
- 原型
- I40-30 record_infer_event(rt:Runtime, event:dict) -> ack:bool
- I40-31 aggregate_sli(stream:any, spec:dict) -> {sli:dict, sketches:any}
- I40-32 evaluate_slo(sli:dict, slo:dict) -> {meet:bool, details:dict}
- I40-33 alert_engine(state:any, rules:dict, signals:dict) -> AlertSet
- I40-34 execute_runbook(alert:Alert, playbook:dict) -> ActionReport
- I40-35 backfill_and_realign(log:any, reference:any) -> {fixed:int, dropped:int}
- I40-36 sample_and_redact(log:any, policy:dict) -> log
- I40-37 update_degrade_chain(rt:Runtime, policy:dict) -> rt2:Runtime
- 告警决策函数(摘要)
- 输入:B_fast, B_slow, anom_score, TS.latency_p99, budget.*。
- 规则:
- 若 B_fast >= τ_fast AND B_slow >= τ_slow → 触发 S2。
- 若 TS.latency_p99 > L_hard 或 budget.* > τ_budget_hard → 触发 S1。
- 若 |anom_score| >= τ_mad 且 B_slow < τ_slow → 触发 S3 观察告警。
- 行动映射见第 VI 节。
- 运行时降级与回退(有序链)
- 降批并限流:batch_size := ⌊ batch_size * k_down ⌋;parallelism := max(1, parallelism - 1)。
- 切换精度:dtype_policy := fp16 → int8(若 S42-43 保证不劣化校准门限)。
- 算子支路关闭:关闭非关键 postproc 或解释性支路。
- 模型回退:canary → stable → LTS,保持 anchor 可追溯。
- 冻结新流量:对异常 route 应用熔断与重试策略。
VI. 计量流程与运行图(Mx-61 → Mx-68)
- Mx-61 运行编排
依据 IPC/PC 生成 Runtime,注册 record_infer_event 钩子;对 TS.* 与 cost.* 做在线聚合。 - Mx-62 指标聚合与对齐
aggregate_sli 在窗口 W 与步长 stride 上更新 sli 与分位 sketches;乱序通过 backfill_and_realign 修复。 - Mx-63 SLO 判定
evaluate_slo 产出 meet_SLO 与差距向量 gap = { latency_gap, error_gap, cost_gap };写入 ScoreReport(见第8章)。 - Mx-64 告警与降级
alert_engine 计算告警集,映射到 execute_runbook:优先执行资源保护,再执行性能与质量的折中策略。 - Mx-65 回退与解封
若 meet_SLO 连续 K_ok 个窗口为真,按逆序恢复降级;若仍不达标,执行通道回退或停服保护。 - Mx-66 审计与签名
对 sli/slo/alerts/actions 生成 AuditLog,附 fingerprint 与 signature,入库归档。 - Mx-67 事后复盘
汇总 IncidentReport:根因、触发规则、门限建议值、成本影响与改进项。 - Mx-68 弹性回收
夜间或低峰期回收资源:下调保底并合并实例,确保 cost.rate 达标。
VII. 验证与测试矩阵
- 时间轴偏移注入:设置 alpha ≠ 0,beta ≠ 1;验证 backfill_and_realign 后 SLO 判定不受虚假时偏影响。
- 多窗口烧损:构造 B_fast↑, B_slow↓ 与 B_fast↑, B_slow↑ 两类场景,验证仅后者触发实警。
- 尾延迟压测:在固定 TS.thrpt 下注入重尾分布,校验 Q_0.99 估计误差与 L_hard 触发。
- 资源护栏:逼近 budget.gpu 与 budget.power 上限,验证限流与降批的响应次序与恢复门限滞回 hysteresis。
- 误报控制:随机尖峰下 MAD 触发 S3 而非 S1/S2;多次尖峰合并为单次事件。
- 回退正确性:canary→stable→LTS 回退后 delta_offon <= τ_delta 且 TS.error_rate 不升高。
- 合规与脱敏:sample_and_redact 在高基数字段开启后,AuditLog 不含敏感原文,hash(payload) 可重现比对。
VIII. 交叉引用与依赖
- 第5章:算子确定性与精度切换约束;
- 第6章:在线/离线一致性度量 delta_offon 与时间轴对齐;
- 第7章:校准输出与可靠性图在观测面板中的对接;
- 第8章:score 合成与 SLO 门限来源;
- 第9章:IPC/PC 字段与 fingerprint/signature 审计链;
- 《Core.Threads》《Core.Metrology》《Core.Errors》:线程模型、度量方法与错误枚举。
IX. 风险、限制与开放问题
- 分位草图误差在极低基数窗口可能偏高,需要最小样本门限 N_min 与自适应窗口。
- 高基数标签导致聚合爆炸,需强制白名单与配额;过度采样会稀释事故信号。
- 多模型串联的跨边界 SLO 分摊尚未完全形式化,建议引入端到端 SLO.compose = min( SLO_i ) 的保守口径并在附录扩展。
- 资源护栏与质量门限的权衡策略需要与业务 SLA 协调,避免“达标但不可用”的悖论。
X. 交付件与版本管理
- 交付件
- SLISpec.yaml,SLOSpec.yaml:指标定义与目标。
- AlertMatrix.yaml:告警规则、阈值与多窗口策略。
- Runbook.md:降级与回退剧本。
- Dashboards.json:观测面板配置。
- AuditLog.csv,IncidentReport.md:审计与复盘。
- ScoreReport.json:与第8章一致的综合评分。
- 版本策略
- 任何 SLO 目标或告警矩阵的变更均需要更新 PC.meta.parent_fingerprint 并生成新 signature。
- 面板与告警仅影响监控平面,不改变推理平面,但必须在 AuditLog 中登记生效时间窗与 key_id。
- 发布按 canary → stable → LTS 分层,设定观测门 K_ok 与滞回,防止抖动发布。
版权与许可:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(屠广林)享有。
许可方式(CC BY 4.0):在注明作者与来源的前提下,允许复制、转载、节选、改编与再分发。
署名格式(建议):作者:屠广林|作品:《能量丝理论》|来源:energyfilament.org|许可证:CC BY 4.0
验证召集: 作者独立自费、无雇主无资助;下一阶段将优先在最愿意公开讨论、公开复现、公开挑错的环境中推进落地,不限国家。欢迎各国媒体与同行抓住窗口组织验证,并与我们联系。
版本信息: 首次发布:2025-11-11 | 当前版本:v6.0+5.05