网站导航内容网站提供了多个分类导航包括数学涵盖信号处理、微分方程、概率等、统计包含专家证词、生物统计学、数据隐私等、隐私如 HIPAA、安全港、差分隐私、密码学、写作博客、RSS 订阅、Twitter、时事通讯、出版物、技术笔记以及关于客户、推荐、团队、服务等方面。还提供了联系电话 (832) 422 - 8646 和联系我们的入口。4 位浮点数 FP4 介绍文章发表于 2026 年 4 月 17 日作者是 John Cook。过去浮点数通常用 32 位存储后来 64 位成标准C 语言用 float 表示 32 位浮点数double 表示 64 位浮点数Python 则用 float 表示 C 语言中的 double。从 32 位到 64 位过渡让程序员受益能解决一些数值问题但并非所有问题都能解决。然而神经网络带来对低精度浮点数的需求开发者不再追求双精度而是转向半精度甚至更低如 FP8 或 FP4。那既然不需要高精度为何不用整数而用浮点数呢用 4 位可表示 0 到 15 的整数引入偏移量还能表示 -7 到 8 的整数但拥有更大动态范围更有用。FP4 格式详解FP4 格式的有符号 4 位浮点数第一位表示符号关键在于如何用剩下 3 位。符号 E _x_ M _m_ 表示一种格式其中 _x_ 是指数位_m_ 是尾数对于有符号 4 位浮点数_x_ _y_ 3 但其他情况这个和可能更大如 8 位有符号浮点数_x_ _y_ 7。4 位有符号浮点数有 E3M0、E2M1、E1M2 和 E0M3 四种可能格式E2M1 最常见且得到英伟达硬件支持。符号位为 _s_、指数为 _e_、尾数为 _m_ 的数值为(−1) _s_ 2 _e_ - _b_ (1 _m_ /2) 其中 _b_ 是偏移量作用是允许使用正指数和负指数而无需为 _e_ 使用有符号数。偏移量影响可能的数值范围但不影响相对间距。E3M0 格式只有指数部分值在对数尺度上均匀分布E0M3 格式只有尾数值在线性尺度上均匀分布E1M2 和 E2M1 格式在对数和线性尺度上分布都不均匀。当 _e_ 0 时将 ( _s_ , _e_ , _m_ ) 转换为实数的表达式有例外_m_ 0 表示 0_m_ 1 表示 ½。值表展示由于 FP4 只有 16 种可能数值列出了 E2M1 格式的数值表包含 Bits、s、exp、m 和 Value 等信息。值得注意的是即使在这种极小浮点格式中也有 0 和 -0 两个零就像全精度浮点数一样。Pychop 库应用Python 库 Pychop 可模拟多种低精度浮点格式还给出了使用 Pychop 创建上述表格的代码。其他格式情况FP4 并非唯一的 4 位浮点格式正在使用的格式数量惊人作者打算在下一篇文章介绍另一种格式。更新提到下一篇文章讨论了 NF4 格式其可表示的数值更符合大语言模型LLM权重的分布。文章导航与评论文章有导航上一篇是牛顿直径下一篇是大语言模型的高斯分布权重。还有关于“4 位浮点数 FP4”的 2 条评论Dithermaster 觉得有趣并指出小错误 E0M1Ross 认为英伟达选择 E2M1 是基于实际应用而非理论选择肯定从模型权重分布或基于该格式的误差速度/漂移传播中学到了有趣的东西。作者介绍John D. Cook 及其同事有数十年咨询经验能帮助企业解决涉及数据隐私、应用数学和统计的复杂问题期待帮助更多公司。