mini-AGI:針對消費級硬體設計的持續學習位元級模型

mini-AGI 是一個位元級語言模型,專為在單一消費級 GPU(具備 8GB VRAM)上從零開始訓練而設計。與傳統的固定模型不同,mini-AGI 實現了一種持續學習系統,使其能從資料流中學習,而不會出現通常與線上訓練相關的「災難性遺忘」問題。

架構:分頁混合專家與動態深度

mini-AGI 使用非傳統的 Transformer 架構,強調記憶體效率與動態運算。它不採用固定層堆疊,而是使用兩個密集的前置模塊,後接最多可應用 24 次的遞迴模塊。

動態運算與路由

  • 動態深度(PonderNet): 模型使用停止頭(halting head)來決定每個字元所需的運算量。簡單的字元可能僅需一次運算,而複雜的字元最多可耗費 24 次。這確保運算資源根據輸入難度進行分配。
  • 遞迴 MoE 路由: 每次應用遞迴模塊時,模型會從共享池中選擇前 8 個專家。由於路由是針對模塊應用而非每個字元進行,單一字元可在不同深度觸發大量不同的專家。
  • 位元級處理: 模型直接操作 256 個位元值。透過移除分詞器,模型可讀取任何資料類型,無需新的詞彙表。

透過分頁進行記憶體管理

為讓模型容量超過可用 VRAM,mini-AGI 實現了一種分頁系統,將磁碟空間作為權重的主要儲存位置:

  • 磁碟儲存: 每個專家的權重與 Adam 優化器動量均以獨立檔案形式儲存在磁碟上。
  • VRAM 工作集: 任何時間點僅有少量專家(工作集)駐留在 VRAM 中。
  • 需求驅動的交換: 模型根據前一塊文字的路由模式,預測下一塊文字所需的專家。專家在磁碟、RAM 快取與 VRAM 之間交換,以確保前向傳播時必要的參數可用。

預防災難性遺忘

從單一資料流中進行持續學習通常會導致「災難性遺忘」,即新資訊覆蓋舊知識。mini-AGI 透過兩種主要機制解決此問題:

主幹學習率解耦

模型的「主幹」——包含嵌入、注意力、路由器與停止頭——的訓練學習率(0.1x)遠低於專家。實驗數據顯示,若主幹與專家使用相同學習率,會導致顯著的損失(遺忘);而使用 0.1x 主幹學習率時,模型對隨機基準的進展保留率高達 99.84%。這可防止核心路由與結構邏輯被單一資料流的特定內容覆蓋。

結構隔離

由於模型採用混合專家(MoE)架構,任何一次傳播中僅有部分模型會被更新。在對 524,000 個字元的國際象棋資料進行探測時,僅有 54 個專家(共 136 個)接收梯度。這種結構隔離確保學習新主題不會必然干擾其他主題所使用的參數。

模型成長與剪枝

mini-AGI 設計為能根據所遇資料動態調整其容量:

  • 透過重組成長: 當模型容量不足時,會透過重新組合現有專家的隱藏單元來創建新專家。這確保新專家從已訓練的有用元件開始,而非隨機雜訊。
  • 透過使用剪枝: 長期未被路由選中的專家被視為「死亡」,並從磁碟中刪除以釋放空間。
  • 成長限制: 僅在滿足特定條件時才新增專家,包括可用的磁碟/VRAM 空間,以及保留損失的穩定性(「誠實」制動)。

性能與擴展性

截至報告時,模型已讀取約 3.181 億個字元,共包含 169 個專家。其在八個主題上的保留損失為 0.8336 nats/字元(1.2026 bits/位元)。

資料擴展趨勢

擴展分析顯示,模型遵循健康的冪律關係(L ∝ D^-0.239)。作者認為,達到 0.80 BPB(每位元位數)需約 19.2 億位元資料,這在單一筆記型電腦 GPU 上訓練數週內即可達成。

社群見解與批判

技術使用者之間的討論凸顯了當前實作的潛力與限制:

  • 泛化 vs. 記憶: 有些使用者質疑模型是否真正泛化,還是僅執行高效率記憶。有使用者指出,模型目前的每位元位數(BPB)表現較差(數值更高),甚至高於某些在 enwik9 等特定資料集上訓練的極小密集模型。
  • 架構潛力: 由於其持續學習特性,模型被視為「原型 AGI」,有建議探索巢狀強化學習或自我相似的遞迴架構。
  • 學習率疑慮: 批評者指出,主幹學習率降低可能僅延遲災難性遺忘,而非徹底消除,暗示主幹最終仍會在極長時間內發生遺忘。

"專家池並非防止遺忘的原因。凍結工作集……僅增加 0.3571 nats……保留大多數權重並不足夠。"

技術規格摘要

元件 詳細資訊
詞彙表 265(256 個位元 + 9 個標記)
上下文視窗 4,096
核心架構 RMSNorm, RoPE, SwiGLU, Flash Attention
深度 2 個前置模塊 + 1 個遞迴模塊(最多應用 24 次)
VRAM 要求 最低 8 GB
參數管理 分頁 MoE(磁碟 $
ightarrow$ RAM $
ightarrow$ VRAM)

Sources

相關