Modal: 解決 AI Agent 的 100,000 個沙盒問題
Modal: 解決 AI Agent 的 100,000 個沙盒問題
從開發者體驗到 Agent 體驗的轉變
Modal 正將其重心從開發者體驗 (DX) 轉向 Agent 體驗 (AX)。其核心論點是,高品質 DX 的益處——例如減少樣板代碼並簡化基礎設施配置——可以直接應用於 AI agent。與其要求 agent 導航數百個未經型別定義的 Kubernetes YAML 檔案,Modal 允許 agent 透過代碼中的裝飾器 (decorators) 進行更改,從而實現一個自我配置的運行時環境,讓 agent 可以即時看到變更的實際效果。
隨著 agent 越來越多地編寫代碼,人類的角色轉向了可觀測性 (observability)。雖然 agent 可以使用 CLI 進行調查,但人類仍需要解釋儀表板並做出高層次的判斷。因此,高品質的可觀測性工具現在比閱讀底層代碼的能力更為關鍵。
為什麼傳統雲端基礎設施無法滿足 AI 工作負載
Kubernetes 和傳統雲端提供商是為穩態 Web 伺服器使用場景和緩慢擴展而設計的。然而,AI 工作負載的特點是極端的「爆發性」以及對專用計算資源 (加速器) 和自定義鏡像的需求。
Modal 透過以下方式解決這些差距:
- Elastic Inference: 能夠在不同區域之間從零快速擴展到數千個 GPU,以匹配不可預測的流量模式。
- Serverless Primitives: 一個運行時環境,允許計算密集型工作負載在不具備傳統集群管理開銷的情況下進行爆發式增減。
- Multi-Cloud Capacity: 一種「超雲 (supercloud)」策略,橫跨 17 種不同的雲端提供商,允許 Modal 透過在各種 NeoClouds 之上建立軟體定義的可靠性層,來優化數據本地化、延遲和可靠性。
解決 100,000 個沙盒問題
對於特定的 AI 工作負載,特別是強化學習 (RL) 的展開 (rollouts),基礎設施需求是龐大且高度波動的。Akshat Bubna 指出,RL rollouts 可能需要同時運行多達 100,000 個沙盒。
為了支持這點,Modal 開發了幾項關鍵的技術原語 (primitives):
- GPU Snapshotting: 透過對 GPU 狀態進行快照 (例如 torch compiler model snapshots),Modal 顯著降低了冷啟動時間,允許在爆發式推理或訓練運行時進行更快速的擴展。
- Networked Sandboxes and Sidecars: Modal 支持「sidecars」,允許沙盒成為一個包含多個容器的 pod。這對於運行用於日誌記錄或控制出口網絡的 man-in-the-middle 代理對於至關重要。
- Private IPv6 Overlay (I6PN): 一個覆蓋網絡 (overlay network),允許同一工作區內的容器使用私有 IPv6 地址互相通訊,這對於分佈式訓練至關重要。
- RDMA Networking: 為了繞過 TCP 網絡棧並在節點之間更快地傳輸內存,Modal 提供 RDMA 網絡 (最高可達每秒 3 terabits),這對於中型模型的多節點後訓練至關重要。
使用 DeFlash 提升推理性能
Modal 不僅僅是部署的「黑盒」,它正在優化模型層本身。一個主要的焦點是透過投機性解碼 (speculative decoding) 來增加推理速度。
Speculative Decoding and DeFlash
Speculative decoding 使用較小的「草稿模型 (draft model)」來預測 token,然後由較大的模型進行批次驗證。這種方法更有效率,因為它利用了計算能力而非受限於內存帶寬。
Modal 開源了 DeFlash,一個基於塊 (block-based) 的投機器 (speculator)。雖然內核優化 (kernel optimizations) 僅提供邊際的百分比增益,但增加「接受長度 (accept length)」(即大模型接受草稿模型預測的 token 數量) 可以讓速度在不犧牲品質的情況下實現 2x 到 4x 的倍增增益。
Auto Endpoints
為了讓尖端級別的性能可以被獲取,而不需要深厚的專業知識,Modal 引入了 Auto Endpoints。這些允許用戶透過 UI 或 CLI 創建經由 DeFlash 和其他優化手段內建的優化端點,同時保持透明度;用戶可以切換到完整的 Modal 體驗來微調模型或微調配置。
AI 基礎設施的未來:自動化研究與 CI
Modal 開發正在擴展到「自動化研究 (auto-research)」,在這種情況下,agent 會被賦予 GPU 並根據模型直覺進行超參數掃描 (hyperparameter sweeps)。這比傳統的網格搜索 (grid searches) 更更有效率,並允許 agent 自主地微調配置、運行分析器 (profilers) 並切換 GPU 型號 (例如,從 H200 到 B200) 以尋找最佳性能。
此外,Modal 也看到了 CI (持續集成) 市場的重大機會。隨著編碼 agent 增加 CI 運行的數量,目前準備依賴項和構件件 (artifacts) 的過程是非常浪費的。Modal 認為像內存快照和恢復功能等原語可以讓 agentic workflows 讓 CI 成為顯著更效能的 agentic workflows。