【NLP高頻面題 - LLM架構篇】LLM為何使用GQA代替MHA?
重要性:★★ 💯
NLP Github 專案:
-
NLP 專案實踐:fasterai/nlp-project-practice
介紹:該倉庫圍繞著 NLP 任務模型的設計、訓練、最佳化、部署和應用,分享大模型演算法工程師的日常工作和實戰經驗
-
AI 藏經閣:https://gitee.com/fasterai/ai-e-book
介紹:該倉庫主要分享了數百本 AI 領域電子書
-
AI 演算法面經:fasterai/nlp-interview-handbook#面經
介紹:該倉庫一網打盡網際網路大廠NLP演算法面經,演算法求職必備神器
-
NLP 劍指Offer:https://gitee.com/fasterai/nlp-interview-handbook
介紹:該倉庫彙總了 NLP 演算法工程師高頻面題
隨著模型規模越來越大,訓練和推理時需要的視訊記憶體越來越多,為了降低大模型的計算量,需要使用快取注意力機制代替Transformer原始的多頭注意力機制,達到既節約時間,又節約視訊記憶體的目的。
最極端的做法是MQA(多查詢注意力),MQA能夠大幅加速採用MHA的Transformer的推理,但是會有明顯的效能損失,而GQA(分組查詢注意力)透過設定合適的分組大小,可以和MQA的推理效能幾乎相等,同時逼近MHA的模型效能。
MQA和GQA對推理的幫助主要是以下兩點:
- 降低記憶體讀取模型權重的時間開銷:由於Key矩陣和Value矩陣數量變少了,因此權重引數量也減少了,需要讀取到記憶體的數量量少了,因此減少了讀取權重的等待時間
- KV-Cache空間佔用明顯降低:KV-Cache會將之前推理過的Key、Value向量儲存在記憶體中,而隨著步長和batch_size的增長,KV-Cache空間佔用越來越高,使得KV-Cache不能被高效的讀寫,而MHA和GQA方式使得KV-Cache需要儲存的引數量降低了head_num倍,從而提高KV-Cache的讀寫效率;另一方面,可以有空間來增大batch_size,從而提高模型推理的吞吐量。
GQA的程式碼實現:
NLP 大模型高頻面題彙總
NLP基礎篇
-
【NLP 面試寶典 之 模型分類】 必須要會的高頻面題
-
【NLP 面試寶典 之 神經網路】 必須要會的高頻面題
-
【NLP 面試寶典 之 主動學習】 必須要會的高頻面題
-
【NLP 面試寶典 之 超引數最佳化】 必須要會的高頻面題
-
【NLP 面試寶典 之 正則化】 必須要會的高頻面題
-
【NLP 面試寶典 之 過擬合】 必須要會的高頻面題
-
【NLP 面試寶典 之 Dropout】 必須要會的高頻面題
-
【NLP 面試寶典 之 EarlyStopping】 必須要會的高頻面題
-
【NLP 面試寶典 之 標籤平滑】 必須要會的高頻面題
-
【NLP 面試寶典 之 Warm up 】 必須要會的高頻面題
-
【NLP 面試寶典 之 置信學習】 必須要會的高頻面題
-
【NLP 面試寶典 之 偽標籤】 必須要會的高頻面題
-
【NLP 面試寶典 之 類別不均衡問題】 必須要會的高頻面題
-
【NLP 面試寶典 之 交叉驗證】 必須要會的高頻面題
-
【NLP 面試寶典 之 詞嵌入】 必須要會的高頻面題
-
【NLP 面試寶典 之 One-Hot】 必須要會的高頻面題
-
......
BERT 模型面
-
【NLP 面試寶典 之 BERT模型】 必須要會的高頻面題
-
【NLP 面試寶典 之 BERT變體】 必須要會的高頻面題
-
【NLP 面試寶典 之 BERT應用】 必須要會的高頻面題
-
......
LLMs 微調面
-
【NLP 面試寶典 之 LoRA微調】 必須要會的高頻面題
-
【NLP 面試寶典 之 Prompt】 必須要會的高頻面題
-
【NLP 面試寶典 之 提示學習微調】 必須要會的高頻面題
-
【NLP 面試寶典 之 PEFT微調】 必須要會的高頻面題
-
【NLP 面試寶典 之 Chain-of-Thought微調】 必須要會的高頻面題
-
......
本文由mdnice多平臺釋出