---
title: "混合精度訓練（Mixed Precision Training）"
slug: mixed-precision-training
language: zh-TW
source: https://aiterms.tw/terms/mixed-precision-training
updated_at: 2026-04-29
tags: [深度學習, 模型訓練, 最佳化, 神經網路, Python程式, iPAS中級]
ipas_term: false
---

# 混合精度訓練（Mixed Precision Training）

> **你有沒有碰過 GPU 記憶體不夠，模型一放大就爆掉的情況？**
>
> 你可以把混合精度訓練想成，訓練時一部分用高精度、一部分用低精度，藉此省記憶體又加快運算。
> 它重要在於，大模型訓練常常卡在速度和顯存，這招可以同時改善兩邊。
>
> 你可以把它想成一個把抽象概念拉回日常判斷的提示，先知道它解決什麼問題，再看技術細節。

### 容易混淆

> **混合精度訓練 vs 全精度訓練**
>
> 混合精度訓練：同時使用 FP16、BF16 或 FP32。
> 全精度訓練：大多數運算都維持在較高精度。
> 最關鍵的區別：前者更省資源，後者更穩但更吃記憶體。

> **混合精度訓練 vs 模型量化**
>
> 混合精度訓練：多發生在訓練過程。
> 模型量化：多發生在部署或壓縮階段。
> 最關鍵的區別：前者是訓練策略，後者是模型轉換策略。

### 記住這句就好

> 訓練時先省一部分精度，換速度和顯存。

### 實際案例

> **訓練大型語言模型**
>
> 同一張 GPU 能裝下更多參數和 batch，訓練速度也常比全精度更快。

> **影像模型微調**
>
> 原本跑不動的大 batch，開混合精度後可以順利訓練，還能保住大部分準確率。

### 算法與應用

> 常見做法是用低精度做矩陣乘法，用高精度保護累加和關鍵更新。
> 動態 loss scaling 常用來避免梯度下溢。
> 在現代 GPU 上，它幾乎是大模型訓練的標配技巧。

### 情境判斷

> **Q1（情境題）：** 如果開了混合精度後，模型突然不穩，該怎麼看？
>
> → 先檢查 loss scaling、數值下溢和不支援的算子，有些層可能還是要保留較高精度。

> **Q2（情境題）：** 混合精度訓練一定會讓準確率掉很多嗎？
>
> → 通常不會，正確設定下多半能維持接近的效果，同時節省資源。

### 常見問題

> **Q：混合精度訓練只適合 GPU 嗎？**
>
> 主要是，但概念上也可以延伸到其他支援低精度運算的硬體。

> **Q：它和量化訓練一樣嗎？**
>
> 不一樣。混合精度訓練是混著用不同精度，量化訓練則更像把數值壓到更低位元表示。

> **Q：為什麼它能提速？**
>
> 因為低精度運算通常更快、資料搬移更少，GPU 吞吐也會更高。

### 相關術語

> - **模型量化**：理解低精度概念後，很快就能看懂量化。
> - **模型剪枝**：都是在省資源，但手法不同。
> - **分散式訓練**：大模型訓練常常會一起搭配。
> - **圖形處理器**：這個技巧最常在 GPU 上發揮。
> - **模型壓縮**：它們都在解資源瓶頸。

---

來源：https://aiterms.tw/terms/mixed-precision-training
快查頁：https://aiterms.tw/terms/mixed-precision-training
最後更新：2026/04/29
深度解說：https://aiterms.tw/learning/what-is-mixed-precision-training