当前位置: 首页 > news >正文

一次讲清 FP32 / FP16 / BF16 / INT8 / INT4

一次讲清 FP32 / FP16 / BF16 / INT8 / INT4

目标:让你3 分钟读懂格式原理,5 分钟学会选型
只记一句:“指数定范围,尾数定精度;位宽定显存,硬件定成本”


1 | 为什么要有这么多格式?

时代典型位宽驱动力
早期科学计算FP32精度第一
深度学习训练FP16 / BF16显存 & 带宽瓶颈
推理上云 / 上端INT8降本、提速
边缘 & 移动INT4极限压缩,离线运行

2 | 浮点格式:尺子比喻

┌─符号(S)──┬─────指数(E)─────┬──────────尾数(M)──────────┐决定正负      决定“尺子长度”            决定“刻度密度”
格式总位指数位尾数位范围大小*刻度数量**
FP3232823★★★★★★★★★★
BF161687★★★★★★★☆
FP1616510★★★★★★
INT888 (补码)取决于缩放★★
INT444同上

* 归一化可表示的最大/最小值(Dynamic Range)
** 一个数量级内可分多少格(Precision)

口诀

  • FP16 = “刻度更密,尺子变短”
  • BF16 = “舍刻度,保尺子”
  • FP32 = “密+长,最豪华”
  • INT8/4 = “把刻度记成整数,再配一支比例尺(缩放因子)”

3 | 每种格式到底什么时候用?

场景首选理由
预训练 / 大梯度BF16与 FP32 同范围,梯度不溢出;显存减半
显存吃紧训练 (LoRA、SFT)BF16 + FP32 累加省显存又保稳定
云端推理(>=20 GB GPU)FP16硬件 TensorCore 2× 加速;误差可接受
成本敏感推理(<10 GB)INT8量化后体积 ↓75%,吞吐 ↑2‑3×
移动 / 浏览器INT4 + GPTQ/AWQ模型 < 2 GB,可跑在 Mac M‑series / Android
科学模拟 / 金融回测FP32需极高累计精度

4 | 硬件支持一览

芯片FP32FP16BF16INT8INT4
NVIDIA A100✅ TensorCore
NVIDIA H100✅ TensorCore🚧 (B100)
Google TPU v4✅ 原生
AMD MI300
Apple M3软件模拟✅ (MetalLLM)

5 | 精度 & 性能实测示例(Llama‑2‑7B, Alpaca Eval)

格式ppl ↓BLEU ↑推理 tokens/s (A100)显存
FP325.8528.64514 GB
BF165.8628.5907 GB
FP165.8728.5927 GB
INT8 (RTN)6.0228.11304 GB
INT4 (GPTQ)6.2527.81602.3 GB

差距 < 0.2 ppl / 1 BLEU 在多数应用感知有限


6 | 快速选型流程(训练 / 推理)

① 你正在做什么?

  • 训练
  • 推理

▍训练路线

梯度是否容易溢出?建议精度说明
是(频繁出现 Inf/Nan)BF16 + GradScaler保留 FP32 级范围,显存减半
否(训练稳定)FP16半精度省显存、TensorCore 加速

▍推理路线

显存预算能接受 ≤ 1‑2 % 精度损失?建议精度
≥ 16 GB——FP16(或 BF16)
< 16 GBINT8 / INT4
FP16

额外提示

  • 移动 / 浏览器:优先 INT4(GPTQ / AWQ 量化)。
  • 高精度金融 & 科研:仍用 FP32 或混合 BF16+FP32。
  • INT 量化后如指标下降,可用 LoRA 微调追回。

7 | 常见误区 Q&A

问题正解
FP16 ≈ BF16?No. FP16 精度高但范围窄;BF16 范围大但刻度粗。
INT8 总会掉精度?用 GPTQ / AWQ + 校准数据,掉点 < 1%;对话模型体感差异极小。
手机真能跑 INT4 LLM?M2/M3、骁龙 X Elite 已实测 7B INT4 达 10‑20 tokens/s。
训练一定要 FP32?混合精度早已主流。BF16 TensorCore 训练可比 FP32 快 2‑3×。

8 | 记忆三板斧

  1. 指数位 = 尺子长度
    ‑ 大梯度就要长尺子(8 bit) → BF16
  2. 尾数位 = 刻度密度
    ‑ 推理要细腻回答 → FP16
  3. 位宽 = 钱包厚度
    ‑ 显存贵但要求快 → INT8 / INT4

结语

格式选对,显存省一半,速度翻一番。

  • 训练:优先 BF16;显存充足再混 FP32 累加器。
  • 推理:优先 FP16;显存不足进 INT8;边缘 & 移动用 INT4。
  • 永远记得:先测指标,再定精度。

至此,FP32/FP16/BF16/INT8/INT4 的来龙去脉、优势劣势、硬件匹配与典型场景已全部说清。祝你的模型 又准又快又省钱

相关文章:

  • MySQL 8.0 OCP(1Z0-908)英文题库(31-40)
  • UI-TARS Desktop:用自然语言操控电脑,AI 重新定义人机交互
  • YOLO11解决方案之物体模糊探索
  • 自然语言生成在商业智能中的应用实践
  • 【工作记录】Kong Gateway 入门篇之部署及简单测试
  • 基于javaweb的SpringBoot爱游旅行平台设计和实现(源码+文档+部署讲解)
  • 【github】主页显示star和fork
  • STM32 __rt_entry
  • 详解注意力机制
  • RustDesk:开源电脑远程控制软件
  • Datawhale 5月coze-ai-assistant 笔记1
  • 水滴Android面经及参考答案
  • 系统稳定性之上线三板斧
  • Spark的缓存
  • 青少年编程与数学 02-019 Rust 编程基础 10课题、函数、闭包和迭代器
  • Django 中时区的理解
  • springboot配置tomcat端口
  • nginx配置负载均衡
  • 基于自动化工具autox.js的抢票(猫眼)
  • 华为0507机试
  • 优秀网站设计分析/公司软文
  • 专业网站设计方案公司/网络网站推广
  • 信息网站开发合同/网站优化助手
  • 简阳建设网站公司/网页优化seo公司
  • 电子商务网站建设与运营/推广普通话的意义50字
  • 石家庄网站建设推广公司/sem网络营销