核心概念
MemoryFormer 是一種新穎的 Transformer 架構,它透過使用記憶體層和局部敏感雜湊算法取代全連接層,在不犧牲效能的情況下,顯著減少了 Transformer 模型的計算複雜度。
摘要
MemoryFormer: 透過移除全連接層來最小化 Transformer 的計算量
研究目標
本研究旨在解決大型語言模型 (LLM) 計算複雜度高的問題,提出了一種名為 MemoryFormer 的新型 Transformer 架構,透過移除全連接層來減少計算量,同時保持模型效能。
方法
MemoryFormer 使用記憶體層 (Memory Layer) 和局部敏感雜湊 (LSH) 算法來取代標準 Transformer 模型中的全連接層。記憶體層包含一組儲存大量離散向量的雜湊表。它使用 LSH 算法根據輸入詞嵌入動態地從雜湊表中檢索相關的向量子集。然後,將檢索到的向量以不同的權重聚合在一起,形成記憶體層的輸出。這種雜湊和聚合操作的結果提供了對全連接層中矩陣乘法結果的估計。
關鍵發現
- MemoryFormer 在多個自然語言處理基準測試中,與基準 Transformer 模型相比,計算複雜度顯著降低,同時保持了可比的效能。
- 與其他高效 Transformer 方法(如 Linformer、Cosformer 和 Performer)相比,MemoryFormer 在效能和效率方面均表現出色。
- 透過調整 Memory Layer 的超參數,可以在記憶體使用和效能之間取得平衡。
主要結論
MemoryFormer 為減少 Transformer 模型的計算複雜度提供了一種新的解決方案。透過移除全連接層,MemoryFormer 可以顯著降低計算量,同時保持模型效能。這項工作為下一代平行運算平台的硬體設計提供了指導意義,例如更大的匯流排寬度和更高的快取命中率。
意義
MemoryFormer 的提出對於促進大型語言模型在資源受限設備上的部署和應用具有重要意義。它為開發更高效、更輕量級的 Transformer 模型提供了新的思路。
局限性和未來研究方向
- MemoryFormer 的效能仍有提升空間,未來可以探索更先進的雜湊算法和記憶體層設計。
- MemoryFormer 的記憶體使用量仍然較大,未來可以研究如何進一步壓縮模型大小。
- MemoryFormer 目前主要應用於自然語言處理領域,未來可以探索其在其他領域(如電腦視覺)的應用。
統計資料
當序列長度為 2048,隱藏層大小為 2048 時,MemoryFormer 塊所需的浮點運算量僅為基準 Transformer 塊的 19%。
MemoryFormer-tiny、-small 和 -base 模型的雜湊表數量分別為 64、96 和 128。
考慮到雜湊表梯度的稀疏性,MemoryFormer 的學習率設定為基準 Pythia 模型學習率的 3 倍。
在 Memory Block 中,第一個 Memory Layer 的輸出維度設定為 (τ + 2) * K,其中 τ 是每個子向量的位元寬度,K 是雜湊表的數量。
实验结果表明,将 τ 设置为 8 是 MemoryFormer 的一个较好的选择。
引述
"相比於執行矩陣乘法,從記憶體中檢索數據塊是一個更經濟的操作,只需要很少的計算量。"
"這項工作不僅提出了一種不同於現有方法的新 FLOPs 降低策略,還為下一代平行運算平台的硬體設計(例如更大的匯流排寬度和更高的快取命中率)提供了指導意義。"