← 回總覽

AI Infra 进阶:如何让大模型输出确定的结果

📅 2026-08-05 17:25 腾讯技术工程 人工智能 2 分鐘 1438 字 評分: 90
AI Infra GPU GEMM vLLM 大模型推理
📌 一句话摘要 本文深入剖析了大模型推理中 Batch Invariance(批次不变性)缺失的底层技术根源,指出 GPU 算子动态调度策略(如 Split-K、BLOCK_K 变化)导致的浮点加法顺序改变是导致结果波动的核心原因,并探讨了在 AI Infra 层面的优化与 Trade-off。 📝 详细摘要 文章从大模型推理的可重复性问题出发,揭示了为何在相同硬件与提示词下,不同批次(Batch)请求会导致输出结果不一致。作者通过分析 GPU 底层 GEMM 算子优化策略(如 Tiling、Split-K、Swizzle),指出浮点加法不满足结合律是根本原因。文章详细拆解了现代推理引擎(

📌 一句话摘要

本文深入剖析了大模型推理中 Batch Invariance(批次不变性)缺失的底层技术根源,指出 GPU 算子动态调度策略(如 Split-K、BLOCK_K 变化)导致的浮点加法顺序改变是导致结果波动的核心原因,并探讨了在 AI Infra 层面的优化与 Trade-off。

📝 详细摘要

文章从大模型推理的可重复性问题出发,揭示了为何在相同硬件与提示词下,不同批次(Batch)请求会导致输出结果不一致。作者通过分析 GPU 底层 GEMM 算子优化策略(如 Tiling、Split-K、Swizzle),指出浮点加法不满足结合律是根本原因。文章详细拆解了现代推理引擎(如 vLLM)中,为了掩盖访存延迟而引入的动态调度参数(BLOCK_K、SPLIT_K 等)如何重塑浮点数累加的归约拓扑,并进一步探讨了 CUDA 与 Triton 编程范式下的性能调优逻辑。最后,文章分析了在不同 GPU 架构(SM8x vs SM90/100)下实现 Batch Invariance 的工程挑战与路径。

💡 主要观点

- 浮点加法不满足结合律是导致结果波动的数学根源。 浮点数运算的顺序改变会直接影响最终结果。在 GPU 推理中,为了追求极致性能,底层算子会根据输入特征动态调整计算拓扑,从而改变了加法顺序。

动态调度策略(如 Split-K 与 BLOCK_K)是 Batch Invariance 缺失的直接诱因。 Split-K 引入了线程块间的并行竞争与原子加法,而 BLOCK_K 的动态调整改变了累加树拓扑,这些优化虽然提升了算力利用率,却牺牲了结果的确定性。
AI Infra 领域在性能与确定性之间存在固有的架构冲突。 现代 GPU 算子调优(如 AutoTune)本质上是寻找访存延迟掩盖与计算吞吐的最佳平衡,这种启发式调度策略与追求严格可复现性的科学实验需求存在天然矛盾。

💬 文章金句

- Reproducibility is a bedrock of scientific progress.

  • 从系统设计的角度来看,导致结果波动的根本原因,不在于信息干扰,而在于系统为了掩盖访存延迟,在底层触发了非确定性的硬件级并行优化。
  • 现代 GPU 的计算单元(Tensor Core)算力增长太猛,远远甩开了显存带宽的增速。这就导致 GPU 大部分时间都在等数据搬运,计算单元由于未能及时获取输入数据,大量时间处于空闲等待状态。

📊 文章信息

AI 初评:90

来源:腾讯技术工程

作者:腾讯技术工程

分类:人工智能

语言:中文

阅读时间:87 分钟

字数:21649

标签: AI Infra, GPU, GEMM, vLLM, 大模型推理

阅读完整文章

查看原文 → 發佈: 2026-08-05 17:25:00 收錄: 2026-08-05 22:00:57

🤖 問 AI

針對這篇文章提問,AI 會根據文章內容回答。按 Ctrl+Enter 送出。