FP16

FP16

16位元浮點數,常用於訓練與推論

詳細解釋

FP16(半精度浮點數)是16位浮點數格式,相比FP32(32位)減少一半存儲和帶寬,配合Tensor Core可大幅加速AI計算。

格式對比:

  • FP32:1位符號 + 8位指數 + 23位尾數,約6-9位有效數字
  • FP16:1位符號 + 5位指數 + 10位尾數,約3-4位有效數字
  • BF16(Brain Float):1位符號 + 8位指數 + 7位尾數,範圍同FP32,精度降低

動態範圍:

優勢:

  • 速度:Tensor Core FP16比FP32快2-8倍
  • 記憶體:存儲減半,可訓練更大模型或更大批次
  • 能耗:數據移動減少,能效提升
  • 推理:INT8量化前常用FP16

應用場景:

  • 混合精度訓練(混合精度):權重FP32主副本,計算FP16
  • 推理優化:FP16推理比FP32快且省電
  • 大模型訓練:減少顯存占用
  • 邊緣設備:移動GPU的默認精度

挑戰與解決:

  • 梯度下溢:小梯度變為0 → Loss Scaling
  • 激活溢出:大值變Inf → 動態損失縮放
  • 權重更新精度:FP32主權重副本
  • 累積精度:FP16累積誤差 → 使用FP32累積器

硬體支援:

  • NVIDIA V100、A100、RTX系列:Tensor Core原生FP16
  • Google TPU:BF16優先
  • ARM:部分支持FP16

BF16 vs FP16:

  • BF16:更大範圍(同FP32),適合訓練,無需損失縮放
  • FP16:更高精度,適合推理
  • 趨勢:BF16在訓練中越來越流行

FP16是現代AI加速的關鍵技術。

探索更多AI詞彙

查看所有分類,繼續學習AI知識