使用OpenMythos構建循環深度Transformer:MLA、GQA、稀疏MoE與循環縮放推理
本教程介紹如何利用OpenMythos庫在Google Colab中構建端到端的循環深度Transformer工作流。我們創建了MLA和GQA兩種注意力變體,比較參數量,並通過譜半徑檢查循環注入矩陣的穩定性。在合成組合推理任務(預測數字鏈模固定值的和)上訓練模型,研究循環循環如何使單一模型重用參數進行更深層次的計算。最終展示在推理時增加循環次數如何在不改變參數的情況下提升推理深度。
文章情報
要點
- 使用OpenMythos構建支持MLA和GQA的循環深度Transformer,並比較參數量。
- 通過譜半徑驗證循環注入矩陣的穩定性。
- 在數字鏈模求和任務上訓練模型,研究循環次數對推理深度的影響。
- 推理時增加循環次數可提升模型推理能力,而不改變參數。
為甚麼重要
這條新聞值得關注,因為使用OpenMythos構建支持MLA和GQA的循環深度Transformer,並比較參數量。
技術影響
可能影響模型選型、推理成本、產品能力和評測基準。
在本教程中,我們探索了OpenMythos庫,構建了一個先進的循環深度Transformer工作流,該工作流可在Google Colab中端到端運行。我們創建了MLA(多潛在注意力)和GQA(分組查詢注意力)兩種模型變體,比較了它們的參數量,並通過對循環注入矩陣的譜半徑的檢查,驗證了矩陣的穩定性。
我們首先安裝了OpenMythos庫,並配置了相關依賴。在構建模型時,我們設定了基本配置,包括詞表大小、維度、注意力頭數、最大序列長度、循環迭代次數、專家數量等。對於MLP變體,我們使用了DeepSeek-V2風格的壓縮KV緩存;對於GQA,我們減少了KV頭的數量。通過計算參數量和譜半徑,我們確認了模型設計的正確性。
接下來,我們進行了前向傳播和生成測試,然後轉向一個合成的組合推理任務:模型需要學習預測數字鏈模固定值的和。我們創建了一個數據集,其中數字為0到9,鏈長隨機,目標值為數字總和模一個固定值(如11)。模型接受以特殊標記分隔的序列,輸出為預測的數字。
在訓練過程中,我們記錄了損失曲線,並在驗證集上評估了準確率。我們還測試了模型在更長鏈上的外推能力。實驗結果顯示,隨着循環次數的增加,模型的推理準確率顯著提升,尤其是在處理未見過的長鏈時。這表明,循環深度Transformer能夠通過增加推理時的循環次數,在不改變參數的前提下,實現更深的推理。
最後,我們通過一個定性示例展示了模型在給定數字鏈後正確預測模值的能力。教程的結論強調了OpenMythos如何將循環深度設計、注意力變體、稀疏MoE組件和推理時循環縮放結合成一個緊湊的實驗流程。我們訓練了模型,評估了其分佈內和分佈外的性能,並可視化了準確性隨循環次數變化的情況。這幫助我們看到循環深度如何用額外的推理計算換取更強的推理行為,而無需改變模型學習到的參數。
我們提供了完整的代碼和筆記本,並鼓勵讀者關注我們的Twitter、加入ML SubReddit和訂閲Newsletter。