✨ 要点🔬 技术摘要
想象一下,你正试图在一块超高速计算机芯片上解决一个规模巨大、极其复杂的数学问题(即乘法运算巨大的数字矩阵)。问题在于,这块芯片有两种类型的工人:
“精度”工人: 他们动作缓慢,但极其精确。他们能够完美地处理微小的细节。
“速度”工人: 他们快如闪电,但只能处理简单的、粗略的计算。他们就像一辆赛车,一旦遇到颠簸的路面就会失控撞车。
科学家们开发了一个聪明的技巧,叫做 Ozaki 方案 ,旨在利用这些“速度工人”来完成“精度工人”的工作。这就像是使用一支快速但粗略的估算团队来建造一座完美的摩天大楼。他们通过将大问题分解成更小的部分,快速求解,然后使用一种被称为中国剩余定理 (CRT) 的数学魔术将答案缝合在一起。
问题:“快速模式”缺陷
Ozaki 方案有两种准备数据的方式,以便交给这些“速度工人”:
精确模式: 它会先对数字进行缓慢、仔细的观察,以确定精确的缩放比例。这种方式安全,但速度慢。
快速模式: 它使用一种快速的捷径(一种名为柯西-施瓦茨不等式的数学规则)来猜测缩放比例。这非常快,但作者在这篇论文中发现了一个隐藏的缺陷。
缺陷:“橡皮筋效应” 作者发现,“快速模式”公式就像一根会根据拉力大小改变尺寸的橡皮筋。
当数字变得太大时: 公式会降低精度,导致结果变得粗糙且不准确。
当数字变得太小时: 公式会将数字过度拉伸,以至于破坏了“缝合”规则(CRT)。在这种情况下,最终结果不仅仅是出现轻微偏差,而是会彻底崩溃,导致计算机无法恢复结果。
简而言之,旧的“快速模式”并不一致。它有时表现良好,但如果你改变数据的规模,它就会发生惨烈的失败。
解决方案:一个全新的、不可破坏的公式
作者提出了一种新公式 来替代原有的“快速模式”。
把旧公式想象成一个根据匆匆一瞥来猜测你衬衫尺寸的裁缝。有时他能猜对,但如果你稍微胖了一点或瘦了一点,衬衫可能就不合身了。
新公式则像是一位使用固定且不可破坏的规则 (源自“缝合”要求)的裁缝。
尺度不变性(Scale Invariance): 无论你如何缩放输入数字(拉伸或收缩),新公式都能完美调整,确保“衬衫”始终合身。无论数字是巨大还是微小,精度都能保持恒定。
安全保证: 新公式在数学上保证了数字永远不会大到破坏缝合规则。它防止了旧版本中出现的“崩溃”现象。
无速度损失: 最棒的是,这个更安全的公式计算所需的时间与原来的风险公式完全相同。这就像是在不减慢车速的情况下,免费为你安装了一个安全带。
结果:两全其美
研究人员在强大的 NVIDIA GH200 GPU(一种超级计算机芯片)上测试了这种新方法。
准确性: 新方法的准确度与缓慢但谨慎的“精确模式”一样高。它修复了旧版“快速模式”在缩放数字时出现的错误。
速度: 它依然保持了原版“快速模式”的高速。
权衡: 在过去,你必须在“快但有时出错”和“慢但始终正确”之间做出选择。而这种新方法让你既快又准 。在许多场景下,它的表现优于标准的、高精度的软件(cuBLAS),同时提供了更高的速度和更好的准确性。
总结
这篇论文修复了一个高速数学技巧中的漏洞。旧的技巧在改变数字规模时会失效,甚至会导致崩溃。作者发明了一个对规模变化免疫的新版本,确保它永不失效,同时保持了同样的闪电般的速度。这使得超级计算机能够更快、更可靠地进行高精度数学运算。
技术摘要:改进 Ozaki Scheme II 中 Fast Mode 的缩放机制
问题陈述 Ozaki Scheme II 是一种基于中国剩余定理(CRT)的方法,旨在利用低精度整数硬件(如 INT8 Tensor Cores)来模拟高精度矩阵乘法(如 FP64/FP32)。该方案要求将高精度输入矩阵缩放为整数矩阵,使得这些整数的乘积在通过 CRT 重构时不会超过特定阈值(P / 2 P/2 P /2 )。如果超过此阈值,CRT 恢复将会失败,导致灾难性的精度损失。
该方案提供了两种确定缩放因子(μ \mu μ 和 ν \nu ν )的模式:
准确模式(Accurate Mode): 使用辅助的 INT8 矩阵乘法(GEMM)来估计缩放因子,确保高精度,但会产生显著的计算开销。
快速模式(Fast Mode): 使用柯西-施瓦茨不等式(Cauchy–Schwarz inequality)来估计缩放因子,无需辅助 GEMM,具有更高的吞吐量,但在历史上精度较低。
本文指出了现有 Fast Mode 缩放公式中的一个关键缺陷:它缺乏尺度不变性(scale invariance) 。当输入矩阵乘以标量常数 α \alpha α 时,所得缩放整数矩阵的有效位宽会发生不可预测的变化。
对于较大的 α \alpha α ,有效位宽会减小,导致精度下降。
对于较小的 α \alpha α ,缩放后的整数乘积可能会超过 CRT 阈值(P / 2 P/2 P /2 ),从而导致完全的恢复失败。 在全 1 矩阵和随机矩阵上的数值实验表明,对于某些标量范围,Fast Mode 无法恢复正确结果,而 Accurate Mode 则保持稳定。
方法论 作者提出了一个修订后的 Fast Mode 缩放公式,该公式直接通过柯西-施瓦茨不等式从 CRT 唯一性条件中推导而来。
理论推导: 作者重新构建了缩放因子 μ i \mu_i μ i 和 ν j \nu_j ν j 的条件。不同于之前的启发式方法,他们定义了一个充分条件,其中:2 μ i ∥ a i , : ∥ 2 ∥ b : , j ∥ 2 ν j ≤ P − 1 2\mu_i \|a_{i,:}\|_2 \|b_{:,j}\|_2 \nu_j \leq P - 1 2 μ i ∥ a i , : ∥ 2 ∥ b : , j ∥ 2 ν j ≤ P − 1 通过使用基 2 对数并考虑 GPU 数学 API 提供的 log2f 函数的绝对误差界限,他们推导出了新的公式:μ i : = 2 ⌊ P p r o p ′ − 0.5 ⋅ ( log 2 ^ ( ∑ a i h 2 ) + 4 u 32 ) ⌋ \mu_i := 2^{\lfloor P'_{prop} - 0.5 \cdot (\widehat{\log_2}(\sum a_{ih}^2) + 4u_{32}) \rfloor} μ i := 2 ⌊ P p r o p ′ − 0.5 ⋅ ( l o g 2 ( ∑ a ih 2 ) + 4 u 32 )⌋ 其中 P p r o p ′ P'_{prop} P p r o p ′ 是预计算常数,log 2 ^ \widehat{\log_2} log 2 是对数函数的有界近似。
尺度不变性证明: 作者从解析上证明了新公式具有尺度不变性。如果输入矩阵 A A A 被缩放 α = 2 s \alpha = 2^s α = 2 s ,则 log 2 ( α ) \log_2(\alpha) log 2 ( α ) 项会在计算缩放整数矩阵的有效位宽时相互抵消。因此,无论输入幅度如何,位宽都保持不变,从而防止了在原始 Fast Mode 中观察到的精度下降和 CRT 失败问题。
实现: 所提方法(OS II-prop)替换了 GEMMul8 库中 Fast Mode 的缩放公式。它保留了原始 Fast Mode 的 $O(mk)和 和 和 O(kn)$ 计算复杂度,与原始 Fast Mode 相比未引入额外开销,并且仍然比 Accurate Mode(需要额外的 GEMM)更快。
核心贡献
识别局限性: 本文证明了现有的 Fast Mode 缩放公式缺乏尺度不变性,导致在特定的输入缩放情况下会出现精度下降和 CRT 恢复失败。
修订公式: 提出了一种新的缩放公式,该公式保证了尺度不变性,并确保始终满足 CRT 唯一性条件。
零开销: 新公式相对于原始 Fast Mode 引入了零额外的计算成本。
全面评估: 该方法在 NVIDIA GH200 GPU 上针对双精度(DGEMM)和单精度(SGEMM)矩阵乘法进行了评估。
结果 实验使用具有不同元素量级跨度(ϕ \phi ϕ )的随机矩阵以及矩阵维度(k ∈ { 1024 , 16384 } k \in \{1024, 16384\} k ∈ { 1024 , 16384 } )进行。
精度: 所提方法(OS II-prop)在所有 ϕ \phi ϕ 值下均实现了与 Accurate Mode(OS II-accu)相当的精度。相比之下,原始 Fast Mode(OS II-fast)在较大的 ϕ \phi ϕ 值(病态情况)下表现出明显的精度下降和失效。
吞吐量: OS II-prop 保持了与原始 Fast Mode 相当的吞吐量。虽然在模数较少(由于缩放整数中的零元素较少)的特定场景下,OS II-prop 比原始 Fast Mode 略慢,但其吞吐量显著优于 Accurate Mode。
权衡: 在精度-吞吐量权衡分析中,OS II-prop 优于 OS II-accu(在相同精度下具有更高吞吐量),并克服了 OS II-fast 的精度限制。它是唯一能够在广泛条件下同时在精度和吞吐量方面超越 cuBLAS 的方法。
意义 论文声称,所提方法解决了 Ozaki Scheme II 中 Fast Mode 的根本精度局限性,且没有牺牲其性能优势。通过确保尺度不变性,该方法保证了无论输入缩放如何,CRT 恢复都能成功,从而提供了精度与性能的卓越平衡。这使得用户能够利用 Fast Mode 的速度和 Accurate Mode 的可靠性,在低精度硬件上获得高精度结果,有效地克服了 Accurate Mode 的吞吐量约束和原始 Fast Mode 的精度约束。
作者指出,虽然目前的工作侧重于用于 DGEMM 和 SGEMM 的 INT8 矩阵引擎,但该方法同样适用于 FP8 引擎和复数矩阵乘法(ZGEMM/CGEMM),这些内容已作为未来工作予以保留。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。