Transformers 加速的一些常用技巧

CV技术指南(公众号)發表於2024-05-18

Transformers 是一個強大的架構,但模型因其採用的自注意力機制,雖然能夠有效地處理序列資料並捕獲長距離依賴關係,但同時也容易導致在訓練過程中出現OOM(Out of Memory,記憶體不足)或者達到GPU的執行時限制。

主要是因為

  1. 引數數量龐大:Transformer模型通常包含大量的引數,尤其是在模型層面進行擴充套件時(例如,增加層數或頭數)。這些引數需要大量的記憶體來儲存權重和梯度。
  2. 自注意力計算:自注意力機制需要對輸入序列的每個元素與其他所有元素計算其相互關係,導致計算複雜度和記憶體需求隨著輸入長度的增加而顯著增加。對於非常長的序列,這一點尤其突出。
  3. 啟用和中間狀態儲存:在訓練過程中,需要儲存前向傳播中的中間啟用狀態,以便於反向傳播時使用。這增加了額外的記憶體負擔。

為了解決這些問題,我們今天來總結以下一些常用的加速策略

https://avoid.overfit.cn/post/7240bee210cd408a90ca04279830040e

相關文章