25年8月21日,深度求索官网正式对外发布DeepSeek-V3.1。深度求索公司提到 DeepSeek-V3.1 使用了UE8M0FP8Scale 的参数精度。DeepSeek进一步解释称,UE8M0 FP8是针对即将发布的下一代国产芯片设计。它在传统的 FP8(8位浮点数)格式上进行了优化,旨在提升计算效率、降低内存占用,并更好地适配国产 AI 芯片的硬件特性。

一句话点破核心:软件定义硬件!DeepSeek通过一项绝顶聪明的软件层面的工程优化,为算力相对不足的国产AI芯片找到了一条“以巧破力”的捷径,这极大地增强了用国产芯片训练和运行大模型的可能性,从而按下了整个国产算力产业链的“加速键”,这是一场“软件定义硬件”的革命。当我们暂时无法在硬件制造的“硬碰硬”中取得绝对优势时,可以通过软件的智慧,换个赛道,实现换道超车。

打个比方:芯片就像一个工厂车间。原来要完成一个任务,需要几台巨大、精密、昂贵的德国进口机床(浮点计算单元)。现在DeepSeek通过改变任务流程(改变数据格式),使得这个任务可以被几十台小巧、简单、便宜的国产机床(整数计算单元)组成的流水线高效完成。对于国产AI芯片设计公司而言,在有限的芯片面积和先进制程受限下,他们不再需要死磕那些又大又难做的浮点单元,而是可以“堆料” ,在芯片里塞进海量的、更简单的整数单元,用数量优势来弥补质量差距,从而在整体上获得巨大的有效算力提升。 DeepSeek用软件上的前瞻性设计,主动去适配和赋能硬件,为国产芯片的“扬长避短”铺平了道路。这不再是软件等硬件,而是软件拉着硬件(GPU芯片)一起跑!

下面我们来详细了解一下这项技术。

1. UE8M0 FP8 的基本概念

  • FP8(8位浮点数):

    • 传统的浮点数表示(如 FP32、FP16)需要较多的存储和计算资源,而 FP8 仅使用 8 位(1 字节) 来表示一个数值,显著减少了内存占用和计算开销。

    • FP8 的两种主流格式是 E4M3(1位符号+4位指数+3位尾数,精度较高但动态范围较小)和 E5M2(1位符号+5位指数+2位尾数,动态范围较大但精度较低)。

  • UE8M0 FP8 的特殊性:

    • U(Unsigned):无符号(仅表示 0 和正数),不包含符号位,这使得同样的数据位宽可以表示更多的正数值。

    • E8(8位指数):使用 8 位来表示指数,这使得它具有极大的动态范围(可表示约 2^−127 到 2^128 的数值,跨越约 76 个数量级)。

    • M0(0位尾数):没有尾数位,这意味着尾数始终为 1,因此该格式只能精确表示 2^n(2 的 n 次方)形式的数值,例如 2, 4, 8, 16, ...,以及它们的倒数。

    • Scale(缩放因子):Scale 指的是缩放因子技术。它允许在计算过程中动态调整数值的范围和精度,使得 UE8M0 FP8 格式在实际应用中能更好地保持数值稳定性,并适应不同芯片的计算特性。

 2. UE8M0 FP8 的技术原理

UE8M0 FP8 的核心思想是用指数计算替代传统的乘法运算:

  • 在神经网络的计算中,矩阵乘法 是最主要的运算。

  • 由于 UE8M0 格式的数值都是2 ,因此两个这种格式的数相乘 2^m×2^n可以简化为指数相加 2^m+n。

  • 加法运算 在硬件上的实现比乘法运算更简单、更快,并且占用更少的芯片面积。这意味著芯片可以集成更多的计算单元来提升算力。

 3. 为什么 DeepSeek-V3.1 要采用 UE8M0 FP8?

DeepSeek-V3.1 采用 UE8M0 FP8 主要出于以下几方面的考量:

  • 大幅提升计算效率:将乘法简化为指数加法,使得在国产 AI 芯片上进行大规模矩阵乘法的速度显著提升,同时降低了功耗。

  • 显著降低内存占用:

    • 相比 FP32,UE8M0 FP8 的内存占用减少了约 75%(从 4 字节/参数降至 1 字节/参数。

    • 相比 FP16,也能减少约 50% 的内存占用。

    • 这使得在有限的显存(如国产芯片的显存可能不及国际旗舰产品)中能够运行更大的模型(如 128K 上下文长度模型)或更大的批次(Batch Size)。

  • 优化通信带宽:在分布式训练或推理中,数据在芯片间、服务器节点间传输需要带宽。UE8M0 FP8 将数据大小压缩至原来的 1/4 (相较于FP32),显著降低了通信开销,提升了整体集群效率3

  • 契合大语言模型的数据特征:大语言模型的权重分布通常具有长尾特征(大部分数值集中在零附近的一个小范围内,少数数值较大)。UE8M0 FP8 极大的动态范围(76个数量级)可以很好地表示这些分布广泛的权重,从而在语言任务上相比 INT8 量化等方法有更低的困惑度(Perplexity),提升了约 15-20%。

  • 为国产芯片量身定制:

    • 由于一些先进的制程技术可能受到限制,国产芯片需要通过架构和算法优化来提升效能。UE8M0 FP8 通过简化计算(用加法替代乘法),使得国产芯片在同面积下可以集成更多的整数计算单元(ALU)来“堆砌”算力,从而弥补制程上的不足,实现“以算法补硬件”。

    • DeepSeek 官方明确表示 UE8M0 FP8 是针对“下一代国产芯片”设计的,这推动了国产芯片厂商(如华为昇腾、寒武纪、摩尔线程等)对该格式的支持和适配,有助于形成从国产模型到国产芯片的完整生态闭环。

4. 与其它精度格式的对比

下表总结了 UE8M0 FP8 与其它常见精度格式的对比:

特性 UE8M0 FP8 传统 FP8 (E4M3/E5M2) FP16 FP32
位宽 8 bits 8 bits 16 bits 32 bits
组成 U(无符号) + E8(8位指数) + M0(0位尾数) 符号位 + 指数位 + 尾数位 符号位 + 指数位 + 尾数位 符号位 + 指数位 + 尾数位
动态范围 极大 (~76个数量级) 中等 最大
计算效率 极高 (乘法变加法)
内存占用 极低 (1字节/参数) 低 (1字节/参数) 中 (2字节/参数) 高 (4字节/参数)
硬件友好度 对国产芯片优化 需硬件支持通用FP8 广泛支持 广泛支持

 5. 深入理解:Scale(缩放因子)的作用

Scale(缩放因子)是量化技术中的常见概念,但在 UE8M0 FP8 的语境下,它尤为重要:

  • 动态精度分配:Scale 机制允许模型为一组参数(例如32个元素共享一个缩放因子)动态地调整数值的缩放比例1。这就像是一个自动调节的“放大器”和“缩小镜”,确保数值既能适应非常大的范围,又能在需要时保持足够的精度。

  • 稳定训练与推理:通过缩放因子,可以减轻低精度数值表示(尤其是这种无尾数格式)可能带来的舍入误差和精度损失,保持模型的数值稳定性,避免训练发散或推理性能显著下降。

  • 硬件协同:不同的芯片可能在硬件层面实现不同的 FP8 支持方式。Scale 参数提供了一种软件层面的灵活性,使得 UE8M0 FP8 格式能更好地与不同国产芯片的硬件特性进行协同优化。

 6. 对国产AI芯片生态的影响

UE8M0 FP8 的推出不仅仅是DeepSeek-V3.1模型的技术升级,更是对国产AI算力生态的一次有力推动:

  • 硬件适配加速:国内多家芯片厂商(如摩尔线程、华为昇腾、寒武纪、沐曦等)已宣布原生支持或通过软件优化兼容 FP8 格式,以期更好地运行 DeepSeek 等先进大模型。

  • 软硬协同创新:这标志著中国AI产业正在探索一条以软件算法创新带动硬件架构优化的道路,减少对国外硬件技术路线的依赖。

  • 提升商业可行性:更低的算力成本和更高的能效比,使得国产AI解决方案在商业应用(如工业物联网、金融分析、智能客服等)中更具竞争力。例如,海光DCU日均调用DeepSeek模型达4.7亿次,验证了其商业可行性。

7. 挑战与展望

尽管 UE8M0 FP8 优势显著,但也面临一些挑战:

  • 软件栈成熟度:相关的驱动、编译器、算子库等软件生态需要持续完善和优化。

  • 边缘场景应用:在功耗极其敏感的边缘设备上,更为极端的INT8/INT4量化或仍具优势。

  • 跨厂商标准统一:需要推动形成更统一的国产芯片软硬件标准,以降低开发者的适配成本。

未来,随着更多芯片厂商的原生支持以及软件生态的成熟,UE8M0 FP8 有望成为国产大模型与国产AI芯片协同发展的一个重要技术基石。

总结

DeepSeek-V3.1 采用的 UE8M0 FP8 Scale 是一项富有创新性的参数精度技术。它通过无符号、8位指数、0位尾数的独特设计,结合缩放因子机制,实现了:
→ 计算效率的极大提升(乘法简化为加法)
→ 内存和带宽占用的大幅降低
→ 对国产芯片架构的深度优化
→ 对大语言模型特征的良好契合

这项技术不仅是模型层面的进步,更是中国AI产业在构建软硬一体、自主可控的算力生态方面迈出的关键一步。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐