CoRun: Padding is Simple and Efficient for Deterministic LLM Inference

TL;DR

提出CoRun,通过位置不变性实现LLM推理的确定性与高效性,提升15-324%吞吐。

cs.OS 🔴 高级 2026-08-14 49 次浏览
Shiju Zhao Jiacheng Yang Qihang Chen Junhao Hu Jiaqi Zheng Guihai Chen Xusheng Chen
深度学习 大规模模型 GPU优化 推理确定性 CUDA图

核心发现

方法论

本文基于对GPU核函数中位置不变性与批次不变性的分析,提出CoRun系统。通过隔离预填充(prefill)和固定形状解码(decode),结合CUDA图实现高效调度,确保在非批次不变核函数条件下实现推理的确定性。系统利用调度策略控制请求形状,采用请求绑定的随机数状态,避免批次位置依赖,验证了在Qwen、DeepSeek等多架构模型上的有效性。

关键结果

  • 在Qwen-3-235B-A22B模型上,CoRun实现了输出一致性,吞吐提升15-324%,平均减少时间-首字令牌51.8%,输出令牌时间48.6%。在DeepSeek V3与Hy3模型中亦表现出类似优势,显著优于全批次不变核方案。实验显示,系统在保证推理确定性的同时,极大提升了GPU利用率和响应速度。
  • 通过对比标准核函数与批次不变核函数,发现后者在MatMul、Attention等算子上延迟高达36倍,严重影响吞吐。CoRun利用位置不变性特性,避免全批次不变核的性能损失,优化了算子调度与GPU利用率。
  • 系统设计中,隔离预填充确保每个请求保持原始形状,固定形状解码利用CUDA图实现批次调度,结合请求绑定的随机数状态,确保输出一致性。该方案在多模型、多场景下验证了其通用性和高效性。

研究意义

该研究突破了GPU核函数的批次依赖限制,提供一种无需全核批次不变的高效推理方案,极大改善了模型调试、评估和RL训练中的随机性问题。其技术创新为大规模模型的生产部署提供了理论基础和工程实践路径,推动深度学习推理的标准化与高性能发展。未来可拓展至多GPU、多任务场景,助力AI应用的可靠性与效率提升。

技术贡献

本文提出的CoRun系统通过调度策略实现推理的确定性,创新性地利用位置不变性替代全核批次不变,结合CUDA图实现高效调度。系统设计中,隔离预填充、固定形状解码和请求绑定随机数,确保输出一致性,显著降低延迟并提升吞吐。该方案突破了传统核函数优化的局限,为GPU调度和大模型推理提供新思路,具有理论创新和工程实用价值。

新颖性

首次提出基于位置不变性实现非批次不变核的确定性推理方案,突破了以往全批次不变核的性能瓶颈。通过调度控制请求形状,结合CUDA图与请求绑定随机数,实现高效且确定的多请求并发推理。这在学术和工业界具有开创性意义,为大模型推理的高性能与可靠性提供新路径。

局限性

  • 该方案依赖请求形状的严格控制,可能在极端长prompt或特殊算子场景下表现不佳,限制了部分模型的适用性。
  • 系统在多GPU环境中需要额外同步机制,可能引入通信开销,影响大规模部署效率。
  • 对硬件和软件版本的依赖较强,存在迁移和兼容性挑战,未来需优化适应性。

未来方向

未来将探索多GPU环境下的调度优化,增强对不同硬件平台的适应性。同时,研究更复杂的算子支持和动态形状控制,提升系统的泛化能力。还计划结合模型剪枝和量化技术,进一步降低延迟和能耗,推动大模型在实际场景中的高效应用。

AI 总览摘要

在大规模语言模型(LLM)推理中,输出结果的随机性和不确定性一直是制约其应用的重要难题。即使在固定采样参数和随机种子条件下,GPU的动态批次调度依然引入了非确定性,影响模型评估、调试和强化学习训练的稳定性。传统方法试图通过全核批次不变(batch-invariant)核函数实现确定性,但这极大限制了算子的优化空间,导致延迟增加超过2倍,吞吐率下降高达74%。

本文提出的CoRun系统,巧妙利用核函数的“位置不变性”特性,通过调度策略控制请求的输入形状,避免了全核不变的性能瓶颈。系统在预填充(prefill)和解码(decode)两个阶段采用隔离预填充和固定形状解码,结合CUDA图实现高效调度,确保输出的确定性。实验证明,CoRun在Qwen、DeepSeek等多架构模型上,既保证了推理输出的一致性,又将吞吐提升15-324%,显著优于传统全批次不变方案。

该技术突破为大模型的生产部署提供了新的思路,解决了GPU调度中的随机性问题,推动深度学习推理的高效、可靠发展。未来,系统有望扩展到多GPU、多任务场景,进一步优化调度策略和算子支持,助力AI在实际应用中的广泛落地。

深度分析

研究背景

近年来,深度学习模型,尤其是大规模语言模型(LLM),在自然语言处理、生成任务中取得突破性进展。代表性工作如GPT系列、BERT、LLaMA等,通过大规模参数和数据训练,显著提升了模型能力。传统推理系统多采用批次调度以提高GPU利用率,但在多请求环境下,GPU调度的动态变化引入了随机性,影响输出一致性。现有研究多关注核函数优化(如Transformer核、Attention核),但未充分解决GPU调度引入的非确定性问题。全批次不变核虽能保证输出一致,但严重牺牲性能,难以满足工业级需求。

核心问题

核心问题在于GPU调度引入的非确定性,尤其是在动态批次环境中。请求到达时间、长度变化导致批次形状不断变化,影响核函数的执行顺序和浮点运算顺序,从而引入微小数值差异,逐步放大导致输出不一致。这不仅影响模型评估的可靠性,也阻碍了调试和RL训练的稳定性。现有全批次不变核方案虽保证确定性,但性能损失巨大,亟需找到兼顾效率与确定性的方法。

核心创新

本文的创新点在于:1)提出利用核函数的“位置不变性”替代全批次不变性,实现调度控制;2)设计隔离预填充,保持每个请求的原始形状,避免请求间干扰;3)采用固定形状解码,通过CUDA图调度,提升效率;4)请求绑定随机数状态,确保采样一致性。这些创新突破了传统核函数优化的局限,兼顾性能与输出一致性,为大规模模型推理提供新思路。

方法详解

  • �� 分析GPU核函数中的位置不变性与批次不变性,定义核函数的两类不变性属性。• 设计调度策略,将请求在预填充阶段隔离,保持请求原始形状。• 在解码阶段,采用固定形状的CUDA图调度,确保每个请求的输入形状一致。• 利用请求绑定的随机数状态,保证采样过程的确定性。• 结合请求队列管理,动态调度请求,避免批次形状变化带来的核函数调度差异。• 通过数学证明,确保在所有请求、位置、到达顺序下输出一致。• 实现系统在Qwen、DeepSeek等模型上,验证其有效性和性能提升。

实验设计

采用Qwen-3-235B-A22B、DeepSeek V3、Hy3模型,使用真实生产和合成数据集,比较传统全批次不变核与CoRun方案。指标包括输出一致性、吞吐率、时间-首字令牌、输出令牌时间。设置不同请求长度、批次大小,进行压力测试。通过消融实验验证隔离预填充、固定形状解码和随机数绑定的贡献。结果显示,CoRun在保证输出一致的同时,吞吐提升15-324%,延迟降低50%以上,验证了方案的实用性。

结果分析

在多模型、多场景下,CoRun实现了完全一致的输出,显著优于传统方案。具体表现为:平均吞吐提升200%以上,时间-首字令牌减少51.8%,输出令牌时间缩短48.6%。在大模型(如Qwen-3-235B)上,延迟由88.4ms降至32.6ms,性能提升明显。消融实验显示,隔离预填充和请求绑定随机数是保证确定性的关键。系统在多请求并发环境中表现出优异的稳定性和效率,验证了其工程实用价值。

应用场景

该技术适用于大规模模型的生产部署、模型调试、RL训练和模型评估场景。通过确保推理输出的可重复性,提升模型的可靠性和调试效率。尤其适合需要严格复现的科研和工业应用,如自动问答、内容生成、智能客服等。未来可结合多GPU调度和模型剪枝,进一步优化性能和能耗,推动大模型在实际场景中的广泛应用。

局限与展望

系统在极端长prompt或特殊算子场景下可能表现不佳,因请求形状控制难以覆盖所有情况。多GPU环境中,调度同步可能引入通信开销,影响扩展性。对硬件和软件版本依赖较强,存在迁移和兼容性挑战。未来需优化调度策略,增强系统的适应性和鲁棒性。

通俗解读 非专业人士也能看懂

想象你在厨房里做饭,每个厨师(核函数)都有自己的工作方式。有些厨师可以灵活调整烹饪顺序,但这样会导致菜肴味道不一致。为了保证每道菜都一样,厨房里规定厨师必须按照固定顺序操作(全批次不变核),但这样会让做饭变慢。本文提出一种新方法,就像让厨师在保持原有操作顺序的基础上,提前准备好所有食材(隔离预填充),并用统一的工具(固定形状解码)快速完成菜肴。这样既保证了菜的味道一致,又提高了做饭速度。这就像在模型推理中,控制请求的形状和顺序,确保每次输出都一样,同时提升效率。

简单解释 像给14岁少年讲一样

想象你在学校的食堂点餐,每次点的菜都要排队等候。有时候,排队顺序会变,导致你拿到的菜不一样,味道也可能不同。为了让每次都吃到一样的菜,厨师可以提前准备好所有食材,按照固定的菜谱做饭,不管你什么时候来,都用同样的步骤。这样,不管排队顺序怎么变,你吃到的菜都一样,而且速度还快了很多。这就像这篇论文里的方法,控制模型请求的形状和顺序,让每次生成的内容都一样,还能更快完成任务。它就像让厨房变得更聪明、更快,保证每次都能吃到一样的美味!

原文摘要

Despite fixed sampling parameters and random seeds, Large Language Model (LLM) inference exhibits output inconsistency, which undermines downstream tasks such as model evaluation and reinforcement learning. A major source of this nondeterminism is batch-dependent GPU execution: dynamic input shapes change kernel tiling and floating-point reduction orders. Existing systems address this problem with batch-invariant kernels, but these kernels restrict optimized tiling and split reductions, increasing more than 2$\times$ latency and reducing serving throughput by up to 74 %. This paper observes that although most kernels are not batch-invariant, they are position-invariant. Leveraging this property, we present CoRun, a scheduling-based system that achieves deterministic inference without requiring batch invariance. CoRun employs isolated prefill and fixed-shape batched decode to handle the two stages of LLM inference, respectively, leveraging CUDA graphs for efficient execution and simplified implementation. Experiments on LLMs with diverse architectures, including Qwen and DeepSeek, show that CoRun ensures determinism while improving throughput by 15-324 % over batch-invariant approaches, reducing time-to-first-token by 51.8 % and time-per-output-token by 48.6 % on average.

cs.OS cs.PF