@charles_irl: 低精度浮点数很奇怪。我一直在推理/训练之外使用它们来建立直觉…

X AI KOLs Following 工具

摘要

一条推文介绍了微缩放/块量化格式(如NVFP4和MXFP4)的可视化工具,解释了这些低精度浮点数的工作原理以及它们在LLM推理中减少内存带宽需求的应用。

低精度浮点数很奇怪。我一直在推理/训练之外使用它们来建立直觉。我和@AAAzzam一起开发了这个用于微缩放/块量化格式(如NVFP4、MXFP4等)的可视化工具。试试看:https://modal.com/llm-almanac/block-quants/nvidia-fp4…
查看原文
查看缓存全文

缓存时间: 2026/06/22 09:33

低精度浮点数的行为很奇怪。我通过在推理/训练之外的环境摆弄它们,逐步建立了直觉。@AAAzzam 和我一起制作了这个面向微缩放/块量化格式(如 NVFP4、MXFP4 及其同类)的可视化工具。试试看:https://modal.com/llm-almanac/block-quants/nvidia-fp4…


什么是 NVFP4?| LLM 工程师手册

来源:https://modal.com/llm-almanac/block-quants/nvidia-fp4

什么是块量化/微缩放浮点格式?

像 FP16 这样的标准格式独立编码每个元素,每个值拥有自己的指数和尾数。而像 OCP MXFP4 这样的微缩放格式,则用这种独立性换取压缩:每 16 个连续元素共享一个缩放因子(以 E4M3 值存储),每个元素仅存储其在块内相对于该缩放因子的相对幅度(使用低精度的 E2M1 值)。

上图中的带状条纹正是块结构可视化的结果。如果一个块同时包含非常亮和非常暗的像素,它必须缩放以适应亮像素,从而将较暗的值压缩到仅有的几个离散级别中。FP4 只有 8 个非负可表示值(0、0.5、1、1.5、2、3、4、6 × scale),因此 FP4 块会“海报化”成最多 8 种颜色。FP6 最多有 28 个非负值,FP8 最多有 240 个,因此在这些精度下退化更不明显。

这些量化格式用于 LLM 推理,以减少对内存带宽 (https://modal.com/gpu-glossary/perf/memory-bandwidth) 的需求(尤其在解码阶段),并利用更高的算术带宽 (https://modal.com/gpu-glossary/perf/arithmetic-bandwidth)(尤其在预填充阶段)。它们通常用于张量核心 (https://modal.com/gpu-glossary/device-hardware/tensor-core),在当代 GPU 中,绝大多数带宽都集中于此。

探索这些格式中单个浮点的编码方式,请访问量化格式 (https://modal.com/llm-almanac/quant-formats) 页面。图像作为张量的可视化技术灵感来源于 quant-jaunt (https://codeberg.org/mailhost/quant-jaunt)。

相似文章