👉在訓練大語言模型(LLM)時,記憶體(VRAM)不足和計算速度慢是兩大難題。為了克服這些挑戰,業界發展出了幾項關鍵技術:DeepSpeed 負責多卡分配、Flash Attention 與 Liger Kernel 負責優化運算過程中的記憶體佔用,而 Quantization 則負責把模型「壓扁」以節省空間。
以下是這四項技術的詳細介紹:1. DeepSpeed:多卡並行與顯存釋放
👉由微軟開發,是目前最主流的分布式訓練框架。其核心是 ZeRO (Zero Redundancy Optimizer) 技術,專門解決多張顯卡之間「資料重複」的問題。
- ZeRO-1/2/3: 傳統並行會在每張卡都存一份完整的優化器狀態和模型參數,非常浪費。ZeRO 會將這些數據切分到不同顯卡上。
- Offload 技術: 當 GPU 顯存真的不夠時,DeepSpeed 可以把暫時用不到的參數「暫存」到 CPU 記憶體甚至 NVMe 硬碟中,讓你用低配顯卡也能跑大模型。
2. Flash Attention:加速注意力機制
👉Transformer 模型最耗時、最佔記憶體的部位就是 Attention (注意力機制)。隨著輸入字數(Context Length)增加,記憶體消耗會呈「平方等級」爆炸。
- 核心原理: 傳統 Attention 會產生一個巨大的中間矩陣(Attention Matrix)。Flash Attention 透過 Tile(分塊) 與 Kernel Fusion(算子融合) 技術,讓運算直接在 GPU 的高速緩存(SRAM)中完成,不產生巨大中間矩陣。
- 結果: 速度提升 2~4 倍,且顯存佔用大幅下降,是訓練長文本(如 32k、128k 窗口)的必備技術。目前已更新至 Flash Attention-3,針對 NVIDIA H100 等新架構進行了極致優化。
3. Liger Kernel:全方位的層優化
👉如果說 Flash Attention 專攻「注意力層」,那麼 Liger Kernel(由 LinkedIn 開源)就是對模型其他層的全面加速。
- 優化對象: 針對 LLM 常用的 RMSNorm、RoPE(旋轉位置編碼)、SwiGLU 激活函數和 CrossEntropy Loss 進行優化。
- 技術特點: 使用 OpenAI 的 Triton 語言重寫了這些運算子(Kernel),實現了算子融合。
- 效益: 記憶體減少約 60%:透過減少中間變數的產生。吞吐量提升約 20%:讓訓練跑得更快。無損精確度:它只是優化計算過程,數學結果與原生 PyTorch 完全一致。
4. Quantization (量化):模型壓縮技術
👉量化是指將模型參數從高精度(如 FP32 或 BF16,每個參數佔 2~4 Byte)轉換為低精度(如 INT8 或 INT4,每個參數僅佔 0.5~1 Byte)。
- 訓練中的應用 (QLoRA): 在微調模型時,我們可以用 4-bit 量化載入模型權重(極省顯存),僅訓練一小部分額外的參數(LoRA Adapters)。這讓一張 24GB 的消費級顯卡(如 RTX 3090/4090)就能微調 70B 規模的大模型。
- 推論 (Inference): 訓練完後,透過量化(如 GGUF、GPTQ 格式)可以讓手機或普通電腦也能流暢執行原本需要伺服器的模型。
🎯總結對比表

🧬















