--- title: "Offline Profiling (LU-KV)" created: 2026-06-18 updated: 2026-06-18 type: concept tags: ["kv-cache", "deployment", "profiling"] sources: ["https://arxiv.org/abs/2602.08585"] --- # Offline Profiling ## 定义 Offline Profiling(离线分析/标定)是 LU-KV 中的三阶段数据驱动协议,用于在实际推理前预计算每个 attention head 的最优预算配置。它将理论上需要未来解码信息的 [[oracle-importance]] 评估搬到了离线阶段,使在线推理只需查表。 ## 三阶段协议 ### 阶段 1:上下文生成(Context Generation) 构造一个合成长上下文 C_syn(约 4,000 tokens),通常为 AI 生成的中文小说节选,与评测集无重叠,模拟真实的 KV Cache 状态。 ### 阶段 2:Oracle 计算(Oracle Computation) - 生成 M = 30 个多样化查询 Q = {q_1, ..., q_M},分别针对不同信息片段 - 对每个 q_i,通过**全注意力解码**(full-attention decoding)计算 ground-truth Oracle 重要性 I_{l,h,j} - 全注意力解码在 profiling 中可接受(离线),但在生产推理中不可行 ### 阶段 3:Profile 聚合(Profile Aggregation) - 在密集的全局压缩率网格 ρ ∈ [0, 1] 上求解每个查询的最优配置 r*_{l,h}(q_i; ρ) - 取平均得到最终静态 profile:Φ(π)(ρ)_{l,h} = (1/M) Σ r*_{l,h}(q_i; ρ) - Φ(π) 成为一个**查表**:给定目标全局压缩率 σ_target → 返回每个 head 的最优局部压缩率 ## 关键经验发现 > 各 head 的最优局部-全局压缩率在不同任务间高度稳定。 如图 2b 所示,问答、长上下文检索等不同场景下的最优压缩率配置高度一致——这意味着**一个静态 profile 可跨任务迁移**。 ## 在线使用 ``` 1. Lookup: {r_{l,h}} ← Φ(π)(σ_target) 2. Budgeting: b_{l,h} = floor((1 - r_{l,h}) * T) 3. Eviction: 每个 head 独立保留 top-b_{l,h} tokens ``` 额外开销可忽略(仅查表 + 整数计算)。 ## 相关概念 - [[oracle-importance]] — Profiling 阶段 2 的 ground truth - [[global-combinatorial-optimization]] — Profiling 阶段 3 求解的优化问题 - [[convex-hull-relaxation]] — 使 profiling 中的优化高效可解的技巧 ## 参考 - [[tang-lukv|LU-KV]] (Tang et al., ICML 2026) — 附录 F.2 有迁移性分析