整数不在场证明:定位INT8量化LLM推理中的跨核发散
摘要
本文测试了CUTLASS和Triton INT8量化GPU内核在LLM推理中使用vLLM的可互换性,发现由于尺度应用和舍入导致输出发散,并提出了一种内核等效的一致性程序。
arXiv:2608.13756v1 公告类型:新
摘要:两个实现相同缩放INT8 GEMM接口的GPU内核通常被视为可互换的。我们测试了这一假设:固定检查点、提示、硬件、推理引擎、解码和量化配置,仅在vLLM中交换INT8线性内核(CUTLASS与Triton)。在1.7B参数下,每个分支在冷重启时逐位重现自身,但在我们运行的任何端到端比较中,分支间没有序列一致(0/8、0/16和0/64)。这不仅仅是基准差异的原因是整数不在场证明:对于在验证的无溢出界限下的共享INT8操作数,INT32点积是精确且顺序无关的,因此累加器不可能是任何差异的来源。通过从Qwen3-1.7B和8B的每个线性层(196和252层)向两个内核提供相同的操作数,我们发现在2的幂尺度下输出逐位相同,确认了固定的预测列表196/196和252/252(1.7B时预注册,8B时固定但不盲),并在检查点真实尺度下观察到最多一个bfloat16间距的差异。这将发散定位到精确累加器后的尺度应用和输出舍入。应用为探测检查点时,相同的干预恢复了端到端的逐位一致性(8/8和16/16序列)。跨实现FP8 GEMM显示不同的特征:差异的普遍性和幅度随归约深度增长,而INT8分数保持在百万分之一以内,并在64倍K范围内保持在一个间距内。教师强制重放将层与令牌关联:翻转集中在小的logit边界处,这在16,384个位置上以ROC-AUC 0.94预测翻转风险。我们将发布预注册、每层预测、包含内核选择证据的清单,以及将这些控制转化为内核可互换性具体检查的一致性程序。
查看缓存全文
缓存时间: 2026/08/17 10:12
# 在INT8量化LLM推理中定位跨内核差异 来源:https://arxiv.org/html/2608.13756 ## 整数不在场证明:在INT8量化LLM推理中定位跨内核差异 Teng\-Ruei ChenThanks:T\.\-R\. Chen 隶属于 Krixvon,位于台湾台北100(邮箱:luka@krixvon\.com;ORCID:0000\-0001\-8995\-334X\)。Thanks:预印本,2026年8月。所有测量均在固定软件栈(vLLM 0\.27\.1 容器摘要版,SGLang 容器摘要版)的单张 RTX 4090 上进行;该方案在任何后端对比测量之前已预先注册,且所有修订均为追加式。构件、预注册内容及每次实验的清单均在构件声明中列出。 ###### 摘要 两个实现相同缩放 INT8 GEMM 接口的 GPU 内核通常被视为可互换。我们测试了这一假设:在保持检查点、提示、硬件、推理引擎、解码和量化配置不变的前提下,我们仅在 vLLM 内部交换 INT8 线性内核(CUTLASS 对比 Triton)。在 1.7B 参数规模下,每个分支在两次冷启动后都能逐位复现自身,但在我们运行的任何端到端对比中(0/8、0/16 和 0/64 序列),两个分支没有任何一条序列达成一致。使这一发现超越基准测试差异的是一个*整数不在场证明*:对于在验证的无溢出界限内共享的 INT8 操作数,INT32 点积是精确的且与归约顺序无关,因此累加器不可能是任何差异的来源。向 Qwen3\-1.7B 和 8B(196 层和 252 层)的每个线性层提供相同的两个内核操作数,我们发现在 2 的幂缩放因子下输出逐位一致,确认了固定的预测列表 196/196 和 252/252(1.7B 版本已预先注册,8B 版本在权威重运行前已哈希固定但非盲测),并在检查点真实缩放因子下观察到最大为一个 bfloat16 间距的差异。这将差异定位到了精确累加器之后的缩放应用和输出舍入步骤。作为探针检查点应用时,相同的干预措施恢复了端到端的逐位一致性(8/8 和 16/16 序列)。跨实现的 FP8 GEMM 显示出不同的特征:差异的普遍性和幅度均随归约深度增长,而 INT8 的比例保持在百万分之一,并且在 64 倍 KK 范围内保持在一个间距以内。教师强制回放将层与令牌关联起来:翻转集中在小 logits 边距处,在 16,384 个位置上,其预测翻转风险的 ROC\-AUC 为 0.94。我们将发布预注册内容、逐层预测、包含内核选择证据的清单,以及将这些控制转化为内核可互换性具体检查的符合性程序。 ###### 索引术语: 量化推理、数值可重复性、GPU 内核、INT8、符合性测试、大语言模型服务。 ## I 引言 支持量化推理的服务引擎通常包含相同线性层接口的多种实现:供应商库路径、编译器生成的路径,以及一个或多个后备方案。运行哪个由加载时的硬件检查、环境变量和启发式方法决定;选择结果仅在调试级别记录,在模型卡、基准测试表以及通常论文中均不可见。其隐含契约是这些实现是可互换的:相同的操作数输入,相同的答案输出,误差可忽略不计。 本文在异常严格的控制下测试了该契约,并发现其以一种特定、可定位的方式失效。在一块 GPU、一个引擎构建版本、一个 INT8 量化检查点和一组提示下,仅交换单个内核(通过一个环境变量将 vLLM 的 CUTLASS INT8 缩放‑MM 换为其 Triton 对应物),改变了我们比较的每一个贪心续写,包括最大运行中的全部 64 个。两个分支都不存在噪声:在 1.7B 参数下,每个分支在两次冷启动后均逐位复现自身(我们未重复 8B 或 64 提示的运行)。这两个分支本质上是两个不同的确定性函数。 张量核心的数值行为本身已被直接表征\[15 (https://arxiv.org/html/2608.13756#bib.bib27)\],推理中 FP8 对比 INT8 的权衡已在格式层面被研究\[40 (https://arxiv.org/html/2608.13756#bib.bib36)\],纯整数推理及其校准是长期确立的\[24 (https://arxiv.org/html/2608.13756#bib.bib35),45 (https://arxiv.org/html/2608.13756#bib.bib29)\],而浮点非结合性是高性能计算和深度学习中不可重复性的已知来源\[37 (https://arxiv.org/html/2608.13756#bib.bib34)\],浮点研究必须使用可重现求和算法或固定归约树来解决\[12 (https://arxiv.org/html/2608.13756#bib.bib48),2 (https://arxiv.org/html/2608.13756#bib.bib49)\],而非诉诸精确性,并且格式格局已扩展到微缩放块\[34 (https://arxiv.org/html/2608.13756#bib.bib51)\]。先前工作已确立了更广泛的现象:名义上确定性的推理在不同平台\[35 (https://arxiv.org/html/2608.13756#bib.bib2)\]、批大小和 GPU 配置\[50 (https://arxiv.org/html/2608.13756#bib.bib3),19 (https://arxiv.org/html/2608.13756#bib.bib4)\]、张量并行大小\[52 (https://arxiv.org/html/2608.13756#bib.bib5)\]以及整个推理后端\[31 (https://arxiv.org/html/2608.13756#bib.bib6)\]之间存在差异,并且差异集中在内核边界的精度变化处\[53 (https://arxiv.org/html/2608.13756#bib.bib7)\]。我们的贡献不在于现象本身,而在于隔离和控制。后端更换会捆绑内核、缓存、图执行和调度器默认值;硬件更换则捆绑更多。而在此处理中,是在固定引擎内部进行单内核替换,并且分析依赖于浮点研究无法获得的控制: > 对于共享的 INT8 操作数,如果任何点积未溢出 INT32,则累加器的值是*精确的*且*独立于归约顺序*。因此,任何跨内核差异必须起源于累加器之后,即在缩放应用和输出舍入阶段。 我们称之为*整数不在场证明*:在已验证的界限下,累加阶段有证据表明它不可能制造差异。这个不在场证明将“内核不一致”转化为可证伪的定位问题,并内置了负控制;它使得一种干预成为可能:如果剩余的嫌疑对象是两个浮点缩放乘法,那么使这些乘法精确化(通过将缩放因子舍入到 2 的幂,这在我们陈述和测试的条件下可与舍入交换)应能恢复逐位相等。事实确实如此,在每一层和端到端均如此。 具体而言,本文贡献了一系列控制和迁移测量,在截至 2026 年 8 月 13 日我们所综述的文献中,我们未曾发现这些已被结合;第 II 节 (https://arxiv.org/html/2608.13756#S2) 讨论了最接近的并行成果: 1. 1\. **仅内核处理,可审计处均已审计**。在这些对比中,检查点、提示、引擎、解码和量化配置是固定的,唯一声明的差异是线性内核。对于最终的教师强制对比,实际选择的内核类别从执行日志中捕获到每次运行的清单中,并通过身份契约进行验证;早期的端到端 token 运行是相同的预期单变量干预,但没有清单级别的内核选择证据(第 IV 节 (https://arxiv.org/html/2608.13756#S4))。 2. 2\. **整数不在场证明作为精确控制**。逐层预测*必须*实现逐位一致的位置,这些预测基于对 INT32 累加器的精确 FP64 模拟,并参照 2^24 float32 可表示性阈值进行,确认为 196/196 和 252/252。1.7B 的列表已预先注册;8B 的列表在权威重运行前已哈希固定,但在此前同一数据的早期结果已知之后,使其成为固定的而非独立的预期复现(第 V 节 (https://arxiv.org/html/2608.13756#S5))。 3. 3\. **受控终章定位**。在相同量化操作数下,真实缩放的跨内核差异在评估的 448 层中的任何一层从未超过一个 bfloat16 间距,并且在 2 的幂探针下消失;边界单元测试精确记录了交换论证失败的位置(次正规数、溢出)(第 V 节 (https://arxiv.org/html/2608.13756#S5)、VI 节 (https://arxiv.org/html/2608.13756#S6))。 4. 4\. **差异特征对比**。精确累加器的 INT8 对比浮点累加器的 FP8,在 64 倍归约深度范围内:在单次未重复扫描中,差异以百万分之一计且无可检测趋势,与百分比级别且在普遍性和幅度上均增长形成对比,后者与一个使用保留折的模型对比下的平方根形饱和度一致(第 VII 节 (https://arxiv.org/html/2608.13756#S7))。 5. 5\. **层到令牌的迁移**。教师强制回放将单步翻转与自回归级联分离;logits 边距以 ROC\-AUC 0.942(基于 64 个提示的聚类 CI)预测翻转,提供了从 ulp 级别差异到序列级别不一致的定量桥梁(第 VIII 节 (https://arxiv.org/html/2608.13756#S8))。 我们并未声称确定性推理的脆弱性是新展示的,INT8 使全模型推理逐位可重现,或 2 的幂缩放是经过验证的部署缓解措施。第 XI 节 (https://arxiv.org/html/2608.13756#S11) 明确说明了这些边界。 我们最终提出的符合性程序属于数值代码的差异和精度测试\[32 (https://arxiv.org/html/2608.13756#bib.bib44),51 (https://arxiv.org/html/2608.13756#bib.bib45)\]以及 GPU 内核等价性检查\[14 (https://arxiv.org/html/2608.13756#bib.bib43)\]的更古老传统,连续张量核心代的矩阵乘法语义现已为 SMT 推理形式化\[39 (https://arxiv.org/html/2608.13756#bib.bib47)\];我们增加的是一组专门针对缩放\-INT8 结构的检查,其中七项中的五项具有可证伪的结果,而非需要调整的阈值。本文其余部分组织如下:第 II 节 (https://arxiv.org/html/2608/13756#S2) 通过处理变量将本研究置于先前工作之中。第 III 节 (https://arxiv.org/html/2608.13756#S3) 推导了使整数不在场证明成立的精确性结构,并说明了其失败的条件。第 IV 节 (https://arxiv.org/html/2608.13756#S4) 描述了软件栈、预注册内容以及使“仅内核不同”成为可审计属性的身份契约。第 V 节 (https://arxiv.org/html/2608.13756#S5) 至第 VIII 节 (https://arxiv.org/html/2608.13756#S8) 报告了层级验证、硬件边界测试、差异特征与归约深度的关系,以及从层差异到令牌的迁移。第 IX 节 (https://arxiv.org/html/2608.13756#S9) 报告了 2 的幂干预的端到端效果,第 X 节 (https://arxiv.org/html/2608.13756#S10) 提取了符合性程序,第 XI 节 (https://arxiv.org/html/2608.13756#S11) 界定了可得出的结论。 ## II 相关工作 与本文相关的工作沿着一个维度划分:*实际变化了什么*,同时其他一切保持不变。我们从最粗的处理变量(平台)到最细的(单个内核)组织这些工作,并在每组内说明其数值路径、观测尺度和可用控制与我们的有何不同。表 I (https://arxiv.org/html/2608.13756#S2.T1) 总结了对比;正文随后按时间顺序跟进每组。 表 I:按处理变量组织的先前工作。最右一列说明本文增加了什么,而非先前工作缺乏什么;其中几项研究隔离了我们所依赖的机制。### II‑A 平台与配置 固定的权重和输入并不意味着在不同部署栈之间进行数值相同的推理。Schlögl 等人\[35 (https://arxiv.org/html/2608.13756#bib.bib2)\]表明,CPU 指令选择和 GPU 卷积算法选择会导致跨平台(有时甚至在平台内部)的非预期输出偏差。Yuan 等人\[50 (https://arxiv.org/html/2608.13756#bib.bib3)\]证明,评估批大小、GPU 数量和类型以及精度会实质性地改变贪心 LLM 结果,将该效应归因于在变化归约顺序下的浮点非结合性,并提出以 FP32 计算同时以 BF16 存储。 ### II‑B 执行模式与引擎 He\[19 (https://arxiv.org/html/2608.13756#bib.bib4)\]区分了在固定形状下的运行间确定性与跨批大小的不变性,并构建了批不变内核(以可测量的吞吐量为代价);TBIK\[52 (https://arxiv.org/html/2608.13756#bib.bib5)\]为同一目的在跨张量并行大小间对齐归约树。静默超参数\[31 (https://arxiv.org/html/2608.13756#bib.bib6)\]固定了权重、解码和硬件,表明交换整个推理后端会使基准分数变化高达两位数。由于引擎更换捆绑了内核、缓存、图执行和默认值,它无法隔离机制,这正是我们的单内核处理所要解决的空白。 ### II‑C 内核边界、审计与契约 HEAL\[53 (https://arxiv.org/html/2608.13756#bib.bib7)\]将异构 GPU 上的 16 位差异归因于内核边界的截断,而非 FP32 内部,并使用教师强制来分离局部偏差与自回归级联;我们在一个具有精确整数控制的 INT8 场景中重用了这两个洞见。Hawkeye\[3 (https://arxiv.org/html/2608.13756#bib.bib8)\]在 CPU 上复现张量核心算术,并在指令级别审计舍入、次正规处理和累加顺序,确立了底层语义是可测试的而非噪声。内核契约工作\[47 (https://arxiv.org/html/2608.13756#bib.bib9)\]提供了词汇表和训练与推理内核间的差异界限;DiFR\[25 (https://arxiv.org/html/2608.13756#bib.bib10)\]无需机制隔离即可通过指纹验证部署。我们经验性地实例化了一个:精确累加器的共享操作数相等性、一个终章容差,以及一个必须恢复相等性的干预措施,每个检查都可在具体内核对上执行。 ### II‑D 量化 GEMM 内核 量化内核研究大多询问哪种实现*最快*,但并非全部如此:Ootomo *等人*\[30 (https://arxiv.org/html/2608.13756#bib.bib24)\]和 Abdelfattah *等人*\[1 (https://arxiv.org/html/2608.13756#bib.bib39)\]转而询问整数精确性在数值上带来了什么,在整数矩阵单元上模拟 FP64 GEMM,并推导了作为累加器宽度函数的可允许归约深度。他们的约束是在对数域而非幅度界限上的同一无溢出条件;两篇工作中的实例化阈值不同,我们声称与 (1 (https://arxiv.org/html/2608.13756#S3.E1)) 共享结构而非数值相同。LiquidGEMM\[21 (https://arxiv.org/html/2608.13756#bib.bib11)\]为服务效率设计了 W4A8 GEMM。Han 和 Qu\[18 (https://arxiv.org/html/2608.13756#bib.bib12)\]使用匹配的 FP16 中间表示来分离运行时比率与组合的内核与量化比率,将该划分视为描述性的而非因果独立的。我们问了一个不同的问题,即在两个这样的实现之间,当保持捕获的 int8 操作数、缩放因子、形状和输出数据类型固定,使得只有缩放\-MM 实现发生变化时,它们是否在数值上*一致*。我们早期的审计\[7 (https://arxiv.org/html/2608.13756#bib.bib1)\]记录了为何为特定格式选择的内核本身就是一个堆栈属性。
相似文章
跨GPU内核的确定性LLM推理:二的幂次INT8量化缩放与基于容差一致性检查的局限性
本文评估了LLM推理中INT8量化的一致性测试套件,发现二的幂次量化缩放能够实现跨内核的位级确定性,而基于容差的检查仅限于预条件和有界性。
开源三值LLM引擎:基于Rust/CUDA,用于消费级GPU上的模型量化、服务与训练,名为Tritium(Apache 2.0)
介绍Tritium,一个开源的Rust/CUDA引擎,用于在消费级GPU上对LLM进行三值(1.58位)量化、服务与训练。它声称在三值模型上推理速度比llama.cpp更快,并引入了一种名为SALT的新量化方法。
ZK-LLM 之下的比特:面向可验证私有 LLM 推理的零知识友好型量化评估
本文首次对大语言模型的零知识友好型量化进行了系统性研究,对该概念进行了形式化定义,并在权重、激活值以及非线性查找表精度三个维度上评估了九个模型(包括 Qwen2.5-14B 和 Qwen3-30B-A3B)。研究发现,激活值精度和 RMSNorm 平方根倒数查找是 ZK 证明成本的主导因素,而传统的低比特量化启发式方法并不能转化为按比例的证明开销节省。
[llama.cpp] 非对称 KV q8/q4 缓存:当前注意事项及 GGML 仓库中的讨论
讨论了在 llama.cpp 中使用非对称 KV 缓存量化时的注意事项,其中不匹配的 q8/q4 类型会导致提示处理在 CPU 而非 GPU 上进行,并提出了通过编译标志进行修复的方案。
发布 Humming:面向量化推理的高性能灵活 Kernel 库(19 分钟阅读)
蚂蚁集团与 vLLM 社区宣布开源 Humming,这是一个面向量化推理的通用高性能 Kernel 库,支持广泛的 GPU 覆盖和多种量化格式,性能超越 Marlin、FlashInfer 和 DeepGEMM 等现有实现。