Skip to content

分散式訓練與高效推論:先找成本在哪裡|CMU 10-423 主題單元

2026年9月30日1 分鐘
TL;DR模型放不下一張GPU,和模型已放得下卻生成太慢,是不同故障。分散式策略重新分配資料、參數與狀態;FlashAttention主要改善attention的記憶體IO;KV cache避免decode時重算歷史K/V。先找成本的位置,再選方法。

查詞與收藏

正在載入查詞工具…

🌏 English version

影片狀態:錄影需登入或課程授權。 影片來源與說明

模型放不下一張GPU,和模型已放得下卻生成太慢,是不同故障。分散式策略重新分配資料、參數與狀態;FlashAttention主要改善attention的記憶體IO;KV cache避免decode時重算歷史K/V。先找成本的位置,再選方法。

先讀哪一篇

總覽的 課程地圖列出完整核心主線;本篇是主題導覽,不是額外課堂。先選你要回答的問題,再去對應的教學篇。

用一個例子看出分界

本站自擬例子:兩個等大的local batch對一個scalar參數算出梯度2與6。data parallel平均後是4;兩張GPU各用同一個4更新,才能保持同步。若不通信,各用2與6會讓參數走向不同值。換到decode,已算好的歷史K/V保留在cache,下個token新增自己的K/V;這不會替你把訓練梯度平均。增加GPU也不會自動消除attention產生的大中間矩陣,需看實際partition與kernel。

自我檢查

兩個batch大小不同,仍可直接平均2與6嗎?

答案與判準

若2、6各是local平均梯度,就要按樣本數加權,否則不等於global batch平均。這個條件與推論cache無關。

怎麼使用這張地圖

先不看答案,用自己的話指出輸入、被改動的部分與輸出,再到上面的教學篇完成變式。如果把兩種機制混在一起,回到資料流,找出哪一步的條件不同。這篇只驗關係與分界;不能用它代替各堂的推導、實作或評估。

本文沿用Spring 2026公開教材;自擬例子不是官方考題或課堂口述。原課程錄影仍須依授權存取。

課程影片來源

Spring 2026 官方課站將錄影導向 SCS Panopto。2026-10-12 匿名讀取回傳資料夾未載入與登入提示,未取得可播放的課堂內容;這是存取限制,不能推論沒有錄影。本文依公開文字教材整理,沒有重建未取得的課堂口述或提供原音逐字稿。

更新紀錄

  • 2026-10-11:重整教學範圍、完整例子與理解檢查,保留原網址及發文日期。

  • 2026-10-10:標註影片狀態,核對錄影來源與取得方式。

  • 2026-10-10:重查影片狀態。確認登入牆屬實(匿名開啟 Panopto 資料夾無影片並提示登入),官方頁面也沒有公開 YouTube 版本,狀態維持不變。

參考資料