整理了一項技術實驗,透過 14 個階段的最佳化,將 AI 效能核心的注意力核心,在最新的 NVIDIA B200 GPU 上提升至業界頂尖水準 (Near-SOTA) 的效率。
想像一下,當我們要求日常使用的 AI 助理「總結今天的會議資料」時,假設 AI 僅需 1 秒就能處理完畢。在這神奇的速度背後,隱藏著無數瞬間完成的計算過程。特別是 AI 在掌握語境並理解對話流程時扮演關鍵角色的「注意力 (Attention)」結構,需要極其複雜的運算。近期,一項技術專案在 NVIDIA 最新的圖形處理器 (GPU) B200 環境下,深入剖析了如何從底層實作此「注意力」運算並實現最高效率,因而引發討論。
為什麼這很重要?
我們使用的 AI 服務要變得更快、更聰明,關鍵在於作為 AI 大腦的 GPU 能否高效運作。就像即便擁有頂級廚具,廚師仍需規劃高效的動線才能快速出餐;將 AI 運算的核心「注意力核心 (Attention Kernel,AI 用於掌握句中單字關係的運算體系)」根據硬體特性進行精密最佳化,是減少電力消耗、同時讓更多使用者流暢使用 AI 的必要過程 [Source 1, Source 7]。
簡單理解:GPU 的動線最佳化
注意力運算是 AI 從輸入的海量資訊中篩選重要內容的工作。直接編寫執行此工作的「核心 (Kernel,GPU 中執行特定任務的指令集)」,其難度與讓新手廚師負責複雜的整套菜單相當。
本專案從頭到尾直接以底層實作此核心。研究團隊繪製了約 60 張食譜圖表,將料理過程細分為 14 個階段進行系統性說明 [Source 1, Source 4]。
- 第一階段: 編寫最基礎形式的運算代碼。此時就像一項一項處理食材,耗時較長。
- 最佳化過程: 在每個階段找出問題並解決。減少資料在記憶體與運算單元之間不必要的移動時間,並讓多項運算同時處理,如同廚師整理動線一般,不斷精煉代碼 [Source 2, Source 4]。
透過這種分階段的方法,即使是剛接觸 GPU 運算的初學者,也能視覺化地理解代碼如何演變以及為何效能有所提升 [Source 2]。
現況:邁向業界頂尖水準
實驗結果相當振奮人心。研究人員經過 14 個階段的最佳化,最終達到了 FlashAttention-4(目前主流的 AI 運算效率提升技術之一)約 94.4% 至 94.5% 的效能水準 [Source 3, Source 15]。在 4K、8K、16K 等不同資料規模的環境下,均展現了一致的高效率 [Source 14]。
當然,此過程絕非易事。由於必須深入處理 CUDA(NVIDIA GPU 程式設計平台)與 PTX(並行執行緒執行組合語言)等較為冷門的語言,存在技術門檻 [Source 3, Source 4]。然而,該核心不僅止於實驗,還包含了實際應用於如影片生成模型等複雜 AI 模型的實作,驗證了其實用性 [Source 1, Source 6]。
未來展望
本專案成為了「如何正確運用最新硬體」的一個重要里程碑。未來 AI 運算技術將持續高階化,而在 B200 等尖端硬體上運行的核心最佳化,將成為決定 AI 服務速度與成本的核心競爭力。考慮到近期影片生成技術的飛躍式發展,這種高效的 GPU 運算核心,將在需要更快處理更大規模資料的產業現場中,發揮更關鍵的作用 [Source 1, Source 11]。
MindTickleBytes AI 記者觀點
「這次透過 60 張圖表拆解複雜硬體壁壘的嘗試,在『技術民主化』的層面上具有巨大價值。我們必須記住,在每天享受的 AI 這項巨大魔法背後,隱藏著工程師精細調整代碼的汗水。追求效率的努力,終究是為了讓我們所有人都能以更便宜、更快速的方式享有更好的 AI 服務。」
參考資料
- B200 Attention Kernel from Scratch to Near-SOTA in 60 Diagrams
- GitHub - IaroslavElistratov/b200-attention
- B200 Attention Kernel from Scratch to Near-SOTA in 60 Diagrams
- b200-attention/kernels at master · IaroslavElistratov/b200-attention
- B200 Attention Kernel from Scratch to Near-SOTA in 60 Diagrams - Hacker News
- b200-attention/capstone-project at master - GitHub
- Iaroslav Elistratov - Personal Blog
- FastH3 Preview: MiniMax H3 Video Generation Up to 14× Faster
- b200-attention/benchmarks at master · IaroslavElistratov/b200-attention
- b200-attention/kernels/variants at master - GitHub
- 影片渲染引擎
- 注意力核心 (Attention Kernel)
- 資料庫索引
- FlashAttention-4 的 50%
- FlashAttention-4 的約 94.5%
- 較既有技術提升 14 倍速度
- 60 張逐步圖表
- 即時互動示範
- 數學公式列舉