本篇以mapping 為主)主要是了解大模型mlsys的一些核心組成
原標題:大模型MLSYS學習隨筆- 訓推框架總覽
文章來源:智猩猩GenAI
內容字數:25824字
大模型Mlsys核心組成及挑戰:基于Mapping的學習筆記
本文是作者Bruce仗劍走天涯學模型Mlsys核心組成及當前問題的記錄,主要關注mapping層面。
1. 基礎:計算圖和AI控制流
AI軟件棧的核心是AI圖編譯器,它優化計算圖的調度。計算圖以有向圖表示,節點是操作(ops)和數據。PyTorch和TensorFlow支持跨設備和機器調度,通信作為計算圖上的算子,底層依賴如NCCL庫。ONNX則用于跨框架模型遷移。
2. 大模型執行圖
(原文未詳細展開此部分,需參考原文鏈接)
3. 輸入預處理:Tokenizer和Embedding
Tokenizer是輸入處理的第一步,將文本劃分成token并建立詞表。主流Tokenizer基于subword(字詞),例如BPE、BBPE、WordPiece,兼顧詞表規模和解碼效率。Google的SentencePiece工具包集成了BBPE能力。
Embedding將token映射到向量空間。常見的Embedding方法包括Word2Vec、GloVe、FastText和OpenAI的Embeddings API(text-embedding-ada-002)。生成的Embedding可存儲在向量數據庫中。
4. 輸入預處理:Position Encoding
Position Encoding對輸入序列建模。文章介紹了四種方法:
- Sinusoidal:Transformer原始方法,公式固化embedding,外推能力差。
- Learned Positional Embedding:絕對位置編碼,實現簡單,存在最大position限制。
- RoPE:旋轉式位置編碼,適合attention計算,信息更清晰,但存在遠程衰減。
- ALiBi:在self-attention中增加位置信息懲罰,外推性好。
5. 推理執行優化
文章總結了五類解碼策略:
- 自回歸:greedy、beam、sampling
- 非自回歸:多token并行,但準確性不如自回歸
- Early exiting:根據layer判斷輸出可信度,加速推理但準確性不足
- 投機解碼:多個小模型生成候選,大模型驗證,提升性能
- Cascade inference:根據請求復雜度選擇不同規模模型
6. 架構優化
文章從多個方面探討了架構優化:
- Activation sharing:MQA、GQA、YOCO等方法共享KV,減少顯存占用。
- Attention化簡:Linear Attention降低計算復雜度,但存在精度損失,Streaming-LLM是一種改進方案。
- Conditional computing:MoE和CoE架構,基于routing的條件計算。
- Recurrent Unit:RetNet、RWKV和Mamba等模型重新挑戰Transformer的地位。
- 降低模型配置:降低參數等,但需要保證性能。
7. 量化&模型壓縮
模型壓縮技術包括剪枝和量化(FP32到INT4/8,GPTQ、AWQ、FPTQ等),降低顯存占用并提高計算密度。
8. 顯存管理
Paged Attention解決內存碎片化問題,持久化KV Cache(Mooncake)成為趨勢,Prefix Cache用于提高生產力助手場景的效率。
9. 請求調度
Continuous batching(Orca)提高硬件利用率,Dynamic SplitFuse(DeepSpeed-FastGen)對齊forward sizes,優化吞吐量和延遲。
10. 分離式架構
DistServe、Spliwise和MoonCake等分離式架構將prefill和decode分開處理,提高吞吐量。
11. Kernel 優化
FlashAttention、FlashDecoding等工作優化算子,提高計算效率。與內存管理、分布式并行、變長輸入處理、投機推理和量化相關。
12. 并行計算
文章介紹了Data Parallel(DP)、Tensor Parallel(TP)、Pipeline Parallel(PP)、Expert Parallel和Sequence Parallel等并行方式,以及ZeRO、FSDP等技術。
13. 業界推理框架比較
文章簡要比較了TensorRT-LLM、vLLM、OpenPPL-LLM、RTP-LLM等推理框架。
14. 訓練執行框架
文章介紹了Megatron和DeepSpeed等訓練框架,以及集群管理和異常處理的重要性。
15. Megatron vs DeepSpeed
文章比較了Megatron和DeepSpeed的優缺點,Megatron性能更好但不易用,DeepSpeed易用性更好。
16. 集群相關工作
文章介紹了字節的Megascale工作,包括容錯、并行優化、網絡優化和可分析性等方面。
聯系作者
文章來源:智猩猩GenAI
作者微信:
作者簡介:智猩猩旗下公眾號之一,專注于生成式人工智能。