高效推理服務MiniMax-M3:解鎖百萬Token上下文與多模態能力,毫無遺憾
Together AI 透過KV塊主稀疏注意力、分頁MSA解碼、最佳化索引評分核心以及基於Rust的多模態預處理閘道器等創新,實現了對MiniMax M3模型的高效服務,在不同併發級別下吞吐量提升81%–125%。
Together AI 與 MiniMax 合作,成為其最新旗艦模型 M3 的首選雲合作伙伴,並將在模型開源後直接為開發者提供端點服務。M3 模型整合了頂尖的編碼效能、智慧體工作流支援和原生多模態推理能力,同時支援高達 100 萬 token 的上下文視窗,且經濟高效。為了高效服務 M3,Together AI 的推理和核心團隊進行了一系列深度最佳化。
M3 的核心創新是 MiniMax 稀疏注意力(MSA),它採用塊稀疏注意力機制,限制每個查詢可關注的 token 數量,從而大幅降低長上下文處理成本。相比前代 M2.7,預填充階段速度提升 9 倍以上,解碼階段提升 15 倍以上。MSA 的計算分為兩部分:分數計算確定每個 KV 組最相關的 K 個塊,然後在這些塊上進行密集註意力。這種設計在 KV 組維度上保持表達能力,同時限制了單個查詢關注的 KV token 數量,使得注意力計算不再隨上下文長度二次增長,非常適合長上下文場景。
針對 MSA 的計算特性,團隊實現了 KV 塊主稀疏注意力核心。在預填充階段,透過交換迴圈順序,將 KV 快取移動次數從每個查詢一次減少到每個 KV 塊一次,顯著提高了計算強度。具體而言,將對映從 {q, kv block} 重組織為 {kv block, q},並重新實現注意力核心,最後基於 Log-Sum-Exp 進行歸約縮放。
此外,團隊還創新性地將 MSA 與分頁注意力整合。在解碼階段,首先基於選定的塊構建頁表,將 KV 組維度展平到批次維度,並利用 KV 快取張量的跨步檢視,使現有支援 GQA 的注意力核心得以直接使用,無需重寫。由於每個查詢的選定塊數量有限,塊到頁的對映開銷極低,這一設計將解碼吞吐量提升了 5%。
在解碼階段,MSA 將大量計算從密集註意力轉移到分數計算和 top-k 索引器上。針對小查詢索引、長鍵索引的形狀,團隊設計了最佳化的 AB 交換 HMMA 佈局核心。該核心使用非同步複製預取下一頁面,以 bfloat16 精度計算點積,並將每個頁面歸約為一個塊分數,避免了傳統 GEMM 方法中的填充和額外開銷。
多模態預處理方面,Together AI 的 SMG(服務模型閘道器)承擔了所有視覺預處理任務。SMG 基於 Rust 實現,位於 OpenAI 相容 API 與推理引擎之間。影像和影片輸入需要下載、解碼、幀取樣、縮放和補丁張量轉換等 CPU 工作。SMG 在閘道器中完成這些處理,使得 GPU 工作節點可直接執行視覺編碼器。對於 M3,SMG 使用 FFmpeg 提取影片幀,基於 FPS 選擇子集,調整大小並歸一化,然後打包為扁平補丁張量和網格後設資料張量,透過 gRPC 訊息傳遞。SMG 的多模態管道基於 Rust traits 設計,使得新增 M3 的多模態支援只需實現特定 traits 和常量,管道本身無需改動,且該架構適用於大多數開源視覺模型。
效能測試顯示,在常見的智慧體流量模式下,Together AI 對 M3 的服務吞吐量在不同併發級別下提升了 81%–125%。核心執行時間分解顯示,MSA 顯著降低了每次迭代中注意力計算所佔比。未來工作包括利用核心代理團隊開發的生產級核心實現更多融合,以及透過 CPU 快取解除安裝實現鍵索引和 KV 快取的分解式載入。Together AI 將繼續最佳化 M3 的推理效能,併為開發者提供穩定高效的端點服務。