Memory Layers – Meta 開源不增加算力時增加大模型的參數方法
Memory Layers是Meta推出的一種創新技術,旨在通過可訓練的鍵值查找機制為模型增加額外的參數,而無需增加浮點運算次數(FLOPs)。這種基于稀疏激活的機制能夠有效補充計算密集型的前饋層,以低成本存儲和檢索信息。Memory Layers在大規模語言模型中表現出卓越的實用性,尤其是在處理事實性任務時,顯著提升了模型的性能。
Memory Layers是什么
Memory Layers是Meta研發的技術,采用可訓練的鍵值查找機制來為模型擴展額外的參數,同時不增加計算負擔(即不增加FLOPs)。這種技術通過稀疏激活機制補充計算密集的前饋層,提供了一種經濟的方式來存儲和檢索信息。Memory Layers在大型語言模型中表現出顯著的優勢,尤其在涉及事實性任務時,能夠有效提升模型的準確性和知識獲取能力。
Memory Layers的主要功能
- 參數擴展:允許在不增加計算負擔的前提下擴充模型參數,提高模型的容量。
- 信息存儲與檢索:提供一種專門的機制來存儲和檢索信息。
- 補充密集層:與計算密集型前饋層相輔相成,基于稀疏激活模式提供專用的信息存儲和檢索能力。
- 提高事實準確性:在事實性任務中,顯著提升語言模型的準確性,使模型更有效地記憶和運用訓練數據中的事實。
- 性能提升:在計算和參數配置相匹配的情況下,使模型的性能超過傳統的密集模型和混合專家模型。
Memory Layers的技術原理
- 鍵值查找機制:基于簡單的鍵值查找機制運作,鍵和值都被編碼為嵌入向量。給定查詢向量q和一組鍵K及值V,輸出是根據q與相應鍵的相似度計算得出的值的軟組合。
- 稀疏激活:與傳統注意力機制不同,Memory Layers中使用的鍵和值是可訓練的參數,而非激活值。由于鍵和值的數量通常較多,Memory Layers通過稀疏查找和更新機制,只有與查詢最相似的top-k鍵及其對應值參與輸出計算。
- 產品鍵查找:為了解決大規模記憶中查詢-鍵檢索的瓶頸,Memory Layers采用產品量化鍵(product-quantized keys),用兩組較小的鍵有效進行全鍵集的top-k查找。
- 并行化實現:Memory Layers對內存的需求較大,在多個GPU上并行化嵌入查找和聚合,支持大規模擴展。
- 共享記憶參數:通過共享的記憶參數池,基于多個記憶層提升性能,而不增加參數數量。
Memory Layers的項目地址
- 項目官網:https://ai.meta.com/research/publications/memory-layers-at-scale/
- GitHub倉庫:https://github.com/facebookresearch/memory
- arXiv技術論文:https://arxiv.org/pdf/2412.09764
Memory Layers的應用場景
- 問答系統:在問答系統中,幫助模型記住和檢索大量事實信息,提供準確的回答。
- 語言模型:在自然語言處理領域,增強語言模型的記憶能力,使其在處理長文本和復雜對話時更加高效。
- 推薦系統:在推薦系統中存儲用戶的歷史行為及偏好,以提供更個性化的推薦。
- 知識圖譜:在知識圖譜的應用中,存儲和檢索實體之間的關系,支持復雜的查詢和推理。
- 對話系統:在對話系統中,幫助模型記住對話歷史,使對話更加連貫和自然。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
相關文章
暫無評論...