---
title: "激活值檢查點（Activation Checkpointing）"
slug: activation-checkpointing
language: zh-TW
source: https://aiterms.tw/terms/activation-checkpointing
updated_at: 2026-06-22
tags: [模型訓練, 最佳化, 神經網路, 深度學習]
ipas_term: false
---

# 激活值檢查點（Activation Checkpointing）

在反向傳播時重新計算隱藏層激活值而非存儲，交換計算時間換取記憶體空間，使訓練更大模型成為可能。

## 完整說明

Activation Checkpointing（也稱為梯度檢查點）是一種記憶體優化技術，在神經網路的某些層設置檢查點，反向傳播時重新計算該層的激活值，而不是在前向傳播時將所有激活值存儲在記憶體中。這樣可以大幅降低訓練記憶體占用，代價是增加計算量，但往往是可接受的權衡。

## 常見問題

### 應該在哪些層應用 Activation Checkpointing？

通常應在計算密集、激活值大的層應用。對於 Transformer，建議在每個 Transformer block（或多個 block）應用一次 checkpoint。一個經驗法則是設置 √N 個檢查點，其中 N 是總層數。例如，100 層模型應設約 10 個檢查點層。位置應選擇在模型主要計算路徑上，避免旁路分支。在實現時，通常每 2-4 個計算層設一個檢查點。

### Activation Checkpointing 與梯度檢查點是同一個東西嗎？

術語略有混淆，但通常指的是同一技術。「Activation Checkpointing」強調重新計算激活值，「Gradient Checkpointing」強調梯度計算的優化。實際上兩者指的是同一個概念：在反向傳播時重新計算激活值而不是存儲。在不同論文和框架中名稱可能不同，但原理相同。

### 如何評估 Activation Checkpointing 的性能影響？

應測量三個指標：1) 記憶體節省百分比（通常 30-60%）；2) 訓練時間增加百分比（通常 20-40%）；3) 最大可用批量增加幅度。評估方法是在相同硬體上分別訓練同一模型，對比記憶體使用和單位時間的訓練步數。通常，記憶體節省超過訓練速度減慢，是值得應用的優化。

---

來源：https://aiterms.tw/terms/activation-checkpointing
快查頁：https://aiterms.tw/terms/activation-checkpointing
最後更新：2026/06/22
深度解說：https://aiterms.tw/learning/what-is-activation-checkpointing