引言
这几年,大模型一个比一个大:从几亿参数的 BERT,到上千亿参数的 GPT-4,再到各种号称“万亿级”的 AI 模型。效果的确 更强了,但问题也随之而来——模型太大,显存不够用,训练和推理速度慢,还得烧掉一大笔电费。
怎么办呢?研究人员一直在想办法让模型“减肥”。于是我们经历了几次精度压缩的浪潮:
- FP32 → FP16:显存省了一半,训练还能照常跑。
- INT8:更进一步,推理速度快了,部署也更省钱。
不过这些方法各有缺点。FP16 在一些超大模型里还是太重,INT8 虽然适合推理,但不太适合训练,而且对模型精度的影响也挺大。
就在大家都在琢磨“还能不能再往下压”时,FP8 出现了。它把数据精度压缩到 8 位,但依然保留了浮点数的“动态范围”特性。简单说,就是既省空间又不容易算崩。NVIDIA 在最新的 H100 GPU 里已经把 FP8 放进了硬件支持,Intel 和 Google 也在推它,俨然有点“下一代 AI 计算标准”的味道了。
这篇文章,我会带你轻松了解:FP8 到底是什么、它为什么重大、工程里怎么用、以及未来可能的发展趋势。如果你对大模型怎么才能跑得更快、更省、更稳感兴趣,那 FP8 绝对值得关注。
什么是 FP8?
我们平时说“模型精度”,实则就是模型内部怎么存数字的问题。
在 AI 里,“浮点数”是最常用的数字表明方式:它由 三个部分 组成——符号位、指数位、尾数位,分别负责表达“正负”、“数量级”和“精细度”。打个比方:
- 符号位 就是“+”还是“-”;
- 指数位 决定你是写“元”、还是“万元”;
- 尾数 就是小数点后能准确到几位。
位数多,量得更细,但存储更重;位数少,轻飘飘但看不够清楚。
FP8 就是把浮点数压缩到 8 位!
目前比较常见的有两种格式:
- E4M3:1 位符号 + 4 位指数 + 3 位尾数
形容一下:能记到角钱,但量不够大 - E5M2:1 位符号 + 5 位指数 + 2 位尾数
像是能记到毛钱,但能涵盖从几分钱到上百万的范围
换个图表看得更直观:
|
格式 |
存储大小 |
动态范围 |
精度 |
适用场景 |
|
FP32 |
32 位 |
极大 |
很高 |
训练&推理 |
|
FP16 |
16 位 |
大 |
中等 |
混合精度训练 |
|
INT8 |
8 位 |
固定范围 |
高(离散) |
只适合推理 |
|
FP8-E4M3 |
8 位 |
中 |
中等 |
激活/参数存储 |
|
FP8-E5M2 |
8 位 |
更大 |
较低 |
梯度、范围敏感场景 |
核心优点:相比 INT8,FP8 多了指数,保留了浮点本质,更适合训练,不容易遇上“数值炸掉”这种尴尬。
最新惊喜:DeepSeek 的自研标准 ——UE8M0 FP8 Scale
最近,国内模型厂商 DeepSeek 推出了自家的新 FP8 格式——UE8M0 FP8 Scale,彻底跳出 NVIDIA 的传统规则之外:
- UE8M0:意为 8 位指数、0 位尾数,连符号位也省了;
- 用“Scale”缩放机制弥补尾数不足,把硬件做得更简单、算得更快。
从技术上说:舍弃尾数,用指数表达范围,再靠动态 scale 来保证数值稳定。
在大模型训练中,这种“极简 + 智能补偿”方式超级适合国产 AI 芯片,能节省硬件成本,还避免因小数位缺失导致的训练不稳定:雪球博客园
这不仅是技术创新,更有 战略意义:DeepSeek 的标准有望成为国产 AI 软硬协同的新支撑,构建独立的生态体系
FP8 的优势
既然 FP8 只有 8 位,那它到底有什么实际好处?为啥 NVIDIA、Intel、DeepSeek 都抢着推?我总结了四大核心优势:
1. 显存立刻省一半
模型里的权重和激活,本来用 FP16 需要 2 个字节,换成 FP8 就只要 1 个字节。
想象一下,你背包里装 16 本大书,换成 8 本薄书,瞬间轻松了。
对于动辄几百 GB 的大模型,这意味着显存和存储需求直接减半。
2. 带宽和速度提升
在 GPU/CPU 上,数据要来回搬运。FP8 每次搬运的数据量少一半,自然更快。
这就像你去超市搬水,原来一次只能搬两箱,目前一次能搬四箱,效率直接翻倍。
训练和推理速度都会因此得到加速。
3. 比 INT8 更适合训练
INT8 没有指数位,表明范围固定,很容易“数值爆炸”或“下溢”,导致训练不稳。
而 FP8 保留了浮点的本质:数值范围大得多。训练中的梯度更新就更平滑,尤其是大模型的反向传播。
所以,FP8 可以同时用在推理和训练,而 INT8 主要还是推理专用。
4. 混合精度很灵活
FP8 并不是“一刀切”。常见做法是 关键部分用 FP16/FP32,其他部分用 FP8:
- 列如注意力机制里保留 FP16,卷积层、全连接层用 FP8;
- 或者参数用 FP8,梯度存 FP16;
- DeepSeek 的 UE8M0 + Scale,更是极端“压缩”,但还能通过缩放策略补回来。
这种灵活的组合方式,让 FP8 既能“瘦身”,又不至于丢掉太多精度。
FP8 的量化方案
说到 FP8,许多朋友第一反应是:“OK,直接把 FP16 转成 FP8 就完事了吧?”
实则没那么简单。不同的数据(权重、激活、梯度)分布差异很大,直接硬转会掉精度,所以需要配套的 量化方案 来保证稳定性。
目前常见的 FP8 量化思路有三种:
1. 静态量化(Static Quantization)
- 方法:先用一批“校准数据”跑前向,统计每一层数值的范围,然后确定 FP8 的缩放因子。
- 优点:推理时速度快,不需要动态计算 scale。
- 缺点:依赖校准数据,不同数据分布差异大时容易出问题。
适用场景:推理部署,模型结构固定、输入分布比较稳定。
2. 动态量化(Dynamic Quantization)
- 方法:在推理或训练过程中,根据每个 batch 的实际分布,动态计算 scale,再把数值转成 FP8。
- 优点:更鲁棒,能适应不同输入分布。
- 缺点:每次计算 scale 会增加一些开销。
适用场景:训练过程,或者推理时输入分布波动大的情况。
3. 混合精度 + 分层量化
- 方法:不是所有层都用 FP8,而是“挑层使用”:
- 参数多、计算量大的层 → FP8
- 对精度敏感的层(列如 LayerNorm、输出层) → FP16 / FP32
- 细粒度策略:
- per-tensor(整层一个 scale)
- per-channel(每个通道一个 scale)
- block-wise(一块参数共享 scale)
这种组合拳方式,在工程里最常见:性能和精度两头兼顾。
4. DeepSeek 的 UE8M0 + Scale
前面说过,DeepSeek 提出了自己的 UE8M0 标准(8 位指数 + 0 尾数)。
他们的量化方案可以总结成三步:
- 所有数值都压成极简的 8 位指数。
- 用 动态缩放因子(scale)弥补尾数的缺失。
- 不同层/不同通道用不同的 scale,保证分布稳定。
这种方式有点像“极限压缩 + 智能补偿”,虽然牺牲了尾数精度,但换来了更简单的硬件实现和更快的计算速度。
小结
- 静态量化:快,但要靠好校准。
- 动态量化:稳,但开销略高。
- 混合精度:最常见的折中方案。
- DeepSeek UE8M0:极简创新,硬件友善,代表国产路线。
一句话:FP8 的量化,不只是“压缩数据”,而是一个“精度、性能、稳定性”的平衡艺术。
FP8 的工程实践:常用框架
FP8 的概念听起来很酷,但如果没有工程落地,它就只是“实验室里的玩具”。好在随着 NVIDIA H100、Intel AMX 等硬件的支持,主流深度学习框架也在逐步拥抱 FP8。下面介绍几个常见的生态工具:
1.NVIDIA Transformer Engine
- NVIDIA 专门为 Hopper GPU 推出的 FP8 库。
- 特点:自动选择 FP8 格式(E4M3 或 E5M2),并动态管理缩放因子。
- 优势:无缝对接 PyTorch,训练 GPT/BERT 级大模型已经比较成熟。
2.PyTorch FP8 支持
- PyTorch 从 2.x 版本开始逐步引入 FP8 支持。
- 核心思路是通过 autocast 自动混合精度,把 FP8 和 FP16/FP32 混合使用。
- 工程上一般配合 NVIDIA Transformer Engine 使用。
3.DeepSpeed & Megatron-LM
- 微软和 NVIDIA 的大模型训练框架。
- 已经集成了 FP8 mixed precision 训练支持。
- 优点:在超大规模分布式训练时,可以稳定地用 FP8,不仅省显存,还能减少通信开销。
4.Intel AMX-FP8
- Intel 在 Sapphire Rapids CPU 上推出的 FP8 指令集扩展(AMX)。
- 用途:主要面向推理,尤其是云端 CPU 部署场景。
- 意义:让 FP8 不只是 GPU 的专利,CPU 侧也能省算力。
5.DeepSeek UE8M0 FP8 Scale
- DeepSeek 自研的 FP8 标准,主打“极简指数 + 动态缩放”。
- 好处:更友善地适配国产 AI 芯片,硬件实现简单,效率极高。
- 潜力:如果形成生态标准,有望让 FP8 在开源和国产硬件上迅速普及。
小结
目前 FP8 的落地还处在 “硬件先行、软件跟进” 的阶段:
- NVIDIA、Intel、Google 在硬件侧发力,推动 FP8 成为新指令标准。
- PyTorch、DeepSpeed、Megatron-LM 等框架逐步把 FP8 引入训练和推理。
- DeepSeek 等厂商在探索新标准,可能会走出一条“国产 FP8 之路”。
一句话:如果你想在工程里尝鲜 FP8,最稳的方式就是用 NVIDIA H100 + Transformer Engine + PyTorch;如果关注国产路线,可以关注 DeepSeek 的 UE8M0。
FP8 的挑战与局限
FP8 听起来很美好:显存减半、带宽翻倍、训练推理两头都能用。
但在实际工程中,它还存在不少问题,需要谨慎对待。
1. 精度损失
- FP8 的尾数位太少(E4M3 只有 3 位,E5M2 甚至只有 2 位)。
- 对于分布尖锐或者变化剧烈的数据,容易丢失细节,导致模型精度下降。
- 在一些小模型或精度敏感任务上,FP8 的损伤比大模型更明显。
2. 训练稳定性
- FP8 的数值范围虽大,但精度有限,需要依赖 动态缩放因子(scale) 来保证训练稳定。
- 如果缩放因子选不好,可能出现梯度爆炸或消失,训练过程震荡。
- 工程上往往要搭配 FP16/FP32 混合精度,不能完全依赖 FP8。
3. 标准不统一
- NVIDIA 推的是 E4M3 / E5M2,
- DeepSeek 则提出了 UE8M0 + Scale,
- Intel 和 Google 也有各自的 FP8 实现。
不同厂商的格式和硬件支持不完全兼容,这让 FP8 生态一度显得“碎片化”。
4. 软件生态还在建设中
- PyTorch 对 FP8 的支持还在逐步完善。
- 编译器、推理引擎(ONNX Runtime、TensorRT 等)对 FP8 的适配还不算完全成熟。
- 工程团队想上手 FP8,需要硬件、驱动、框架三方配合,否则容易踩坑。
5. 对硬件依赖强
- FP8 的性能优势只有在 新一代硬件(如 H100、Sapphire Rapids) 上才能完全释放。
- 老一代 GPU/CPU 缺乏原生支持,靠软件模拟的话性能优势就大打折扣。
小结
FP8 是未来的趋势,但目前还处在一个“过渡期”:
- 能用,但还不够完美。
- 能省,但要付出调优成本。
- 能跑,但需要新硬件的支持。
所以,如果你打算在生产环境里上 FP8,提议先在小规模实验里评估好精度损失,再决定是否全面切换。
FP8 的前沿探索与趋势
虽然 FP8 目前还算“新鲜货”,但业界和学术界已经在不断探索它的边界。未来几年,FP8 很可能会成为大模型训练与推理的新常态。
1. 大模型训练实验
- NVIDIA 已经在 GPT-175B 级别的大模型上测试过 FP8 训练,结果显示 精度几乎不输 FP16。
- 这说明 FP8 不仅能省显存,还能在实际超大规模训练中保持稳定。
- 学术界也在探索如何通过 动态缩放因子 和 分层混合精度 进一步减少误差。
2. 混合精度策略
未来训练大模型时,可能会出现一种常见的组合:
- 主干层:FP8,用来大幅降低存储和计算成本。
- 敏感层(LayerNorm、Embedding、输出层):FP16 / FP32 保证精度。
- 梯度:部分场景下保留 FP16,以避免反向传播不稳定。
这种“精细混搭”的方式,能在 性能与精度 之间找到最佳平衡。
3. 向更低比特浮点发展
FP8 并不是终点。研究社区已经在尝试:
- FP6 / FP4:更小位宽的浮点格式,理论上还能再减存储和带宽。
- 但精度损失和稳定性问题会更严重,需要更多创新算法来兜底。
换句话说,FP8 可能是未来 2–3 年的主流,但 FP6/FP4 可能是 5 年后的探索方向。
4. 标准化与生态
- NVIDIA 主推 E4M3/E5M2,Intel 把 FP8 放进 AMX 指令集,Google TPU v5 也在支持。
- DeepSeek 则提出 UE8M0+Scale,强调硬件极简和国产生态。
未来几年的关键问题是:能否形成统一标准?
如果 FP8 能像 FP16 一样成为“全行业共识”,那么软硬件生态会成熟得更快。
5. 应用落地趋势
- 训练端:超大模型 FP8 化已经在进行中,有望成为默认配置。
- 推理端:FP8 和 INT8 可能长期并存,前者偏向大模型,后者偏向边缘和移动端。
- 国产路线:DeepSeek 的 UE8M0 如果能配合国产 AI 芯片推广,可能在国内形成一个独立生态。
小结
FP8 已经不是“实验室玩具”,而是大模型轻量化的现实路径。未来几年,它可能会:
- 成为 超大模型训练的默认精度;
- 在推理中和 INT8 分工合作;
- 打开向 FP6/FP4 进一步探索的大门。
一句话:FP8 是目前,FP6/FP4 是未来,软硬件标准化是关键。
总结
在大模型越来越庞大的今天,如何让模型跑得更快、更省、更稳,已经成了整个 AI 行业的共同课题。
FP8 的出现,正好踩在了这个需求的平衡点上:
- 比 FP16 更轻:显存占用和带宽压力直接减半;
- 比 INT8 更机智:保留了浮点的动态范围,更适合训练;
- 硬件生态逐步跟进:NVIDIA、Intel、Google 在加码,DeepSeek 也推出了国产标准;
- 未来潜力无限:既能成为训练端的新默认,也可能在推理端和 INT8 并肩作战。
当然,FP8 并不是完美无缺:精度损失、训练稳定性、标准不统一、软件生态不够成熟,都是现实的挑战。但可以预见的是,随着硬件一代代迭代、框架一步步完善,这些问题会逐渐被解决。
一句话总结:
FP8 不是终点,但它极有可能成为未来几年大模型计算的“新常态”。
如果你关心 AI 的效率与落地,那么目前正是关注 FP8 的最佳时机。















暂无评论内容