目录 / 文档-技术白皮书 / 14-EFT.WP.Methods.Inference v1.0
I. 范围与目标
- 给出模型图 Graph、算子 Op 与张量 Tensor 的统一规范,覆盖形状、数据类型、布局、确定性与数值稳定性;定义量化与混合精度策略、核融合与并行语义的合规边界。
- 目标产出:
- ModelCard 与 OpAuditReport 的最小字段与版本策略;
- 新增公设 P41-* 与最小方程 S42-*(数值稳定、量化映射、误差上界);
- 跨精度与量化一致性度量 delta_prec、delta_quant 与门限 gate.inf.numeric。
- 适用读者:模型研发、编译与推理引擎、SRE 与合规团队;与第4章特征接口、第6章一致性、第8章 SLO 的度量口径相互对齐。
II. 术语与符号
- 图与张量:
- Graph = ( V, E ),V 为算子集合,E 为张量边;Op = ( name, domain, attrs );Tensor = ( shape, dtype, layout )。
- shape = ( d1, d2, ... );dtype ∈ {fp32, fp16, bf16, int8, int4};layout ∈ {NCHW, NHWC, TNC, custom};edge(u→v) 表示算子 u 的输出连接到算子 v 的输入。
- 数值与稳定性:
eps_machine(dtype)(机器精度),cond(A)(条件数),range(x) = [ min(x), max(x) ],saturate(x,a,b) = clip(a,b),ulp_err(单位末位误差)。 - 量化与反量化:
scale,zero_point,q = clamp( round( x / scale ) + zero_point, qmin, qmax ),x_hat = ( q - zero_point ) * scale。 - 确定性与并发:
hb(happens-before),TS.*(运行观测指标),fast_math ∈ {on,off},atomic*(原子算子族),rng.seed,rng_family。 - 一致性度量:
delta_prec = ( norm( y_hat_fp32 - y_hat_mp ) / norm( y_hat_fp32 ) ),delta_quant = ( norm( y_hat_fp32 - y_hat_int8 ) / norm( y_hat_fp32 ) ),R_infer = 1 - delta_offon。
III. 公设与最小方程
- P41-6 图等价公设(许可改写下的输出等价)
在固定 EnvLock 与 ModelCard 下,对 Graph 应用许可改写集 R(常量折叠、算子融合、代数重排、死支路删除),若保持数值守恒约束与 hb 不变,则对任一输入 x,输出误差满足 norm( y' - y ) <= eps_num,其中 eps_num 由 dtype 与 fast_math 决定。 - P41-7 确定性执行公设(禁用非确定源)
当 fast_math=off、禁用 atomic* 的非交换聚合、禁用 rng 或固定 rng.seed,并固定调度与内核版本时,对同一输入 x,必有 y_hat_on == y_hat_off 或 norm( y_hat_on - y_hat_off ) <= eps_det。 - P41-8 量化等价公设(经校准的近似等价)
用校准集 D_cal 与量化方案 Q(per_tensor/per_channel,对称/非对称)生成的 Graph_Q,对抽样输入 x ∈ supp(D_cal),满足 delta_quant <= tau_quant,并在第8章给定的 SLO 下通过。 - S42-9 softmax 稳定口径
m = max_i x_i,softmax(x)_i = exp( x_i - m ) / ( Σ_j exp( x_j - m ) );数值实现必须采用减去 m 的稳定式。 - S42-10 logsumexp 稳定口径
logsumexp(x) = m + ln( Σ_i exp( x_i - m ) ),其中 m = max_i x_i。 - S42-11 量化映射与误差
- q = clamp( round( x / scale ) + zero_point, qmin, qmax ),x_hat = ( q - zero_point ) * scale;
- delta_q = ( norm( x_hat - x ) / norm( x ) );门限 delta_q <= tau_q,并报告 SNR = 20 * log10( norm(x) / norm(x - x_hat) )。
- S42-12 线性层误差传播
y = W x + b,混合精度下相对误差上界 delta_y <= cond(W) * delta_x + eps_machine(dtype);当 cond(W) 过大时必须提升精度或采用重标定。 - S42-13 归约的补偿求和
对 sum_i x_i,优先采用 kahan_sum 或分块求和以降低非结合性误差;当使用 atomicAdd 时需声明误差上界 eps_atomic 并纳入验收门限。
IV. 数据与清单口径
- ModelCard 最小字段:
name, version, framework, opset_version, inputs, outputs, layout, dtype_policy, fast_math, determinism, rng_policy, quant_scheme, calib.fingerprint, code_rev, kernel_rev, constraints, parity_thresholds{tau_prec,tau_quant,eps_det}。 - OpAuditReport 最小字段:
op_list(op, domain, kernel, dtype_support, deterministic_flag, uses_atomic, uses_rng),range_guard(输入输出范围)、epsilon_guard、nan_inf_policy、overflow_cases、notes。 - 形状与布局口径:
模型入口与出口必须在 ModelCard 明确 ( shape, dtype, layout );任何 reshape/transpose 必在图内显式呈现,禁止隐式布局变更。
V. 算法与实现绑定
- 新增原型:
- I40-16 audit_graph(graph:Graph) -> OpAuditReport
- I40-17 set_precision_policy(graph:Graph, policy:dict) -> Graph
- I40-18 quantize(graph:Graph, config:dict, calib:any) -> Graph
- I40-19 enforce_determinism(runtime:Runtime, policy:dict) -> Runtime
- I40-20 validate_numerics(graph:Graph, suite:any) -> NumReport
- I40-21 fuse_ops(graph:Graph, rules:list) -> Graph
- I40-22 parity_test(baseline:any, candidate:any, inputs:any, metrics:dict) -> ParityReport
- 契约要点:
- audit_graph 必检测 uses_rng、uses_atomic 与 fast_math;
- set_precision_policy 支持 keep_fp32_layers, amp_whitelist/blacklist;
- quantize 输出 Graph_Q 与 scale/zero_point 字典及 delta_q 报告;
- enforce_determinism 固定 thread_affinity, kernel_algo, rng.seed 并关闭 fast_math;
- parity_test 计算 delta_prec, delta_quant 并与门限比对。
VI. 计量流程与运行图
- Mx-49 图冻结与核版本锁定
固定 opset_version, kernel_rev, fast_math=off,生成 ModelCard 与 fingerprint = hash( graph || kernels || code_rev )。 - Mx-50 数值审计与稳定化
运行 audit_graph 与 validate_numerics,对 softmax/logsumexp/layernorm/reduction 应用稳定口径 S42-9/10/13;生成 OpAuditReport。 - Mx-51 量化校准与评估
用 D_cal 估计 scale/zero_point,生成 Graph_Q;计算 delta_quant, SNR,比较 tau_quant;不通过则回退或调整 per_channel 策略。 - Mx-52 确定性与并发巡检
运行 enforce_determinism,禁用 atomic* 非交换聚合;采样流量执行双跑,要求 norm( y_on - y_off ) <= eps_det。 - Mx-53 跨精度一致性与 SLO 门
对 fp32 与 amp/quant 进行 parity_test,验收 delta_prec <= tau_prec、delta_quant <= tau_quant;与第8章性能门联合判定发布通道。
VII. 验证与测试矩阵
- 最小必测:
- softmax/logsumexp 溢出回归:在 range(x) 极端值上验证 S42-9/10 稳定实现。
- 归约非结合性:比较朴素求和与 kahan_sum,记录 ulp_err 并断言在门限内。
- nan/inf 传播策略:构造异常输入,验证 nan_inf_policy 与告警。
- AMP 一致性:计算 delta_prec,断言 delta_prec <= tau_prec。
- INT8 一致性:计算 delta_quant, SNR,断言 delta_quant <= tau_quant 且 SNR >= snr_min。
- 确定性回归:固定 rng.seed 与调度,要求 eps_det 通过。
- 布局一致性:NCHW ↔ NHWC 转换仅限显式算子;隐式变更即失败。
- 边界与极端:
次正规数、denormals-are-zero 行为差异;bf16 舍入策略;topk 平局打断;convolution 的 im2col 与 Winograd 算法切换;layernorm 在极窄方差下的数值稳定。
VIII. 交叉引用与依赖
- 依赖《EFT.WP.Methods.Repro》第5章之环境与依赖锁定(EnvLock、硬件特征、非确定性源),第3章之度量公设;与本卷第4章之特征一致性 delta_fp、第6章之在线/离线一致性 delta_offon 与时基对齐 ts = alpha + beta * tau_mono 共同构成端到端口径。
- 依赖《Core.Threads》之 TS.* 指标与 hb 语义;依赖《Core.Metrology》之误差与谱口径。
IX. 风险、限制与开放问题
- 硬件专用内核的隐藏近似(例如 fast_exp、近似 tanh)在不同驱动版本间的漂移;需在 ModelCard.kernel_rev 固定并设告警。
- 编译器的激进融合可能破坏数值稳定(如跨层融合导致溢出);必须通过 audit_graph 的白名单策略限制。
- 量化在分布漂移下的退化;需与第7章漂移检测联动,触发再校准或回退 fp16/fp32。
- 随机掩码类算子(dropout、stochastic_depth)在推理时应恒等或显式禁用;否则违反 P41-7。
X. 交付件与版本管理
- 交付件:
ModelCard.json,OpAuditReport.md,QuantConfig.json(含 scale/zero_point 与校准集 fingerprint),DeterminismPolicy.yaml,NumericReport(delta_prec, delta_quant, eps_det, SNR),ParityReport。 - 版本策略:
- 更换算子实现、融合规则、dtype_policy、quant_scheme 或 fast_math 标志,必须提升次版本并触发 Mx-49 → Mx-53 全量回归;
- 任何影响数值口径的改写需更新 fingerprint = hash( graph || kernels || quant || policy ),并在附录C登记变更记录。
版权与许可(CC BY 4.0)
版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。
首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/