多查詢注意力
多查詢注意力(MQA)是變壓器注意力的一種節省記憶體的方式,它在所有註意力頭之間共享一組鍵和值。
概述
It dramatically speeds up text generation by shrinking the memory the model must shuffle around.
深入探討
標準的多頭注意力為每個頭提供了自己的查詢、鍵和值投影。在生成過程中,所有過去令牌的鍵和值都必須在每個步驟中快取和重新載入 - 這個 KV 快取成為主要瓶頸,因為從記憶體中讀取它比數學本身慢。多重查詢注意力機制由 Noam Shazeer 在 2019 年提出,它為每個頭保留單獨的查詢投影,但將鍵和值折疊到單個共享頭。這會將 KV 快取縮小到等於磁頭數量的係數,有時小 8 倍到 64 倍。結果是自回歸解碼速度更快,記憶體佔用更輕,品質僅略有下降。中間立場,分組查詢注意力,平衡了權衡。
技術洞察
在 MQA 中,查詢權重仍然產生 H 個獨立的查詢向量,但單一鍵投影和單一值投影在所有頭之間共用。每個頭使用自己的查詢針對相同的鍵和值來計算注意力。由於快取的 K 和 V 張量不再隨磁頭數量縮放,因此解碼期間的記憶體頻寬急劇下降,而影響現代加速器產生速度的是頻寬,而不是計算。
戰略影響
速度與規模
語言工作流程可以在不犧牲一致性的情況下更快地移動。
交通與覆蓋範圍
它擴展了跨語言和溝通方式的訪問。
更明確的決策
團隊可以花更多時間進行判斷,而自動化則可以處理重複。
多查詢注意力的未來
MQA 認為,您可以修剪冗餘的鍵/值頭,而不會造成任何損害,而這種洞察力現在幾乎塑造了所有快速推理法學碩士。該領域在很大程度上集中在 Llama 2/3 和許多其他應用中使用的分組查詢注意力 (GQA),它使用幾個 KV 組而不是一個來恢復質量,同時保持大部分加速。未來的工作將這些想法與 KV 快取壓縮、量化和多潛在註意力相結合,以推動更長的上下文和更便宜的服務。
現實世界的實施
加速聊天助理中逐個令牌的生成,其中 KV 快取(而不是原始計算)限制了吞吐量。
Google 的 PaLM,它使用多重查詢注意力來實現高效的大規模推理。
透過縮小每個請求的 KV 快取內存,在一個 GPU 上為許多並髮用戶提供服務。
Llama 2 70B 和 Llama 3 中的分組查詢注意力機制,是平衡 MQA 速度與全注意力品質的直系後代。
風險與防護欄
幻覺的事實可以悄悄地進入報告、支持流程或研究成果。
及時的敏感性可能會在類似的請求中產生不一致的結果。
如果存取控制薄弱,敏感文字資料可能會暴露。
實施路線圖
在推出之前定義輸出格式、語氣和品質標準。
當準確性很重要時,請使用可信任來源進行地面回應。
為高風險輸出保留人工審查檢查點。
追蹤故障模式並定期重新訓練提示或工作流程。
不斷探索
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Multi-Query Attention quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
常見問題
What is Multi-Query Attention?
多查詢注意力(MQA)是變壓器注意力的一種節省記憶體的方式,它在所有註意力頭之間共享一組鍵和值。它透過縮小模型必須隨機播放的記憶體來顯著加快文字生成速度。
多查詢注意力在所有註意力頭中共享什麼?
MQA 為每個頭保留單獨的查詢,但在所有頭之間共用一個鍵投影和一個值投影。
MQA 在自回歸生成過程中解決的主要瓶頸是什麼?
重新載入大型 KV 快取的每一步都會受到頻寬限制; MQA 縮小快取以加快解碼速度。
MQA 大致透過什麼因素縮小 KV 快取?
由於鍵和值從 H 個頭縮減為 1 個頭,因此快取大約縮小了頭數。
使用 MQA 的主要權衡是什麼?
共享鍵和值會稍微降低表示能力,導致品質小幅下降,但速度會大幅提升。
標準多頭注意力和 MQA 之間哪個變體?
分組查詢注意力(GQA)使用多個 KV 組而不是一個,平衡品質和速度。