Kimi AI與kvcache-ai開源AgentENV:為Kimi K3智慧體強化學習訓練提供支援的分散式系統
Moonshot AI的Kimi團隊與kvcache-ai以MIT許可證開源了AgentENV(AENV),這是一個分散式平臺,用於大規模執行智慧體環境。AgentENV為Kimi K3(Moonshot的2.8萬億引數MoE模型)的智慧體強化學習(RL)訓練提供動力。它使用Firecracker微虛擬機器,實現了毫秒級快照、恢復和16路分支,併相容E2B API。
Moonshot AI的Kimi團隊與kvcache-ai近日開源了AgentENV(AENV),這是一個分散式平臺,旨在大規模執行智慧體環境。AgentENV為Kimi K3——Moonshot推出的2.8萬億引數混合專家(MoE)模型——的智慧體強化學習(RL)訓練提供核心支援。該程式碼以MIT許可證釋出。
環境基礎設施為何制約智慧體RL
智慧體RL不僅僅是文本取樣。它要求模型在實際計算機環境中執行操作。每次訓練都需要一個隔離的Linux環境,包含檔案系統、網路棧和即時程序。這一需求帶來了嚴峻的權衡:容器啟動快但共享宿主機核心,針對模型生成程式碼的隔離性較弱;完整虛擬機器隔離性強但啟動緩慢且閒置時佔用記憶體。AgentENV正針對這一缺口,使用Firecracker微虛擬機器,使得閒置、重啟和分支操作足夠廉價,從而支援訓練規模擴充套件。
AgentENV的Firecracker架構解析
每個沙箱都是一個Firecracker微虛擬機器,擁有獨立的Linux核心、檔案系統和網路名稱空間。請求透過Axum HTTP API轉發至編排器,後者管理沙箱生命週期。儲存設計頗具巧思:根檔案系統透過基於overlaybd分層映象的ublk使用者態塊裝置提供服務。只讀基礎層在沙箱間共享,每個沙箱寫入自己的上層。每個虛擬機器內執行一個名為envd的後臺程序,負責命令執行、檔案操作和健康報告(埠49983)。反向代理將客戶端HTTP和WebSocket流量路由至虛擬機器內執行的服務。專案還列出了兩種密度機制:宿主機頁快取在儲存和記憶體快照資料間共享;記憶體氣球回收可回收的客戶機記憶體給宿主機,隨著環境差異擴大,維持超量使用。
快照、暫停、恢復、分支
這四項功能是專案的核心價值。AgentENV增量快照記憶體和檔案系統變化,而非每次都寫入完整映象。報告資料如下:快照支援的環境啟動或恢復低於50毫秒,暫停低於100毫秒。即使在高磁碟修改下,增量快照捕獲也在100毫秒內完成。分支是RL最特定的功能:執行中的沙箱可在同一節點上克隆為最多16個獨立子沙箱。源沙箱在捕獲期間短暫暫停,然後恢復。每個子沙箱繼承源沙箱的檔案系統、記憶體和資源配置。實際效果是昂貴的初始化只需執行一次:團隊可以安裝依賴、克隆倉庫並達到任務狀態,然後該狀態分支為並行rollout。快照持久化至S3相容物件儲存或共享分散式檔案系統。一個值得注意的預設設定:每個沙箱帶有TTL,到期觸發暫停而非刪除。刪除需要在建立API中傳遞autoPause: false。
按需載入與快照倉庫
映象透過overlaybd按需載入。本地磁碟作為有界快取,保留熱資料並驅逐冷資料。這使得叢集級儲存成為可能:節點無需預熱每個映象或持有每個快照的完整副本。因此,可定址映象集可以超過本地磁碟容量,同時叢集範圍內啟動保持快速。快照狀態組織為三層:構建器暫存工作區存放構建期間的構件;已提交快照倉庫是持久化的事實來源;節點本地執行時快取存放啟動時派生的配置。支援兩種倉庫後端:posix_fs(預設)和oss。oss路徑透過共享S3相容客戶端執行,因此需要明確指定區域。一個基於iroh的可選點對點傳輸可向對等節點公告已提交構件,預設停用。文件明確指出P2P不改變已提交快照模型。對於共享儲存,文件要求至少1 Gbps,強烈建議10 Gbps或更高。
E2B相容性作為採用槓桿
AgentENV暴露了相容E2B的HTTP API。將E2B_API_URL指向你的伺服器,官方E2B Python或TypeScript SDK無需修改程式碼即可使用。這是一個刻意的分發選擇:已在E2B上執行智慧體的團隊可以自託管執行時,無需重寫智慧體程式碼。此外還提供了原生aenv CLI,文件建議將其用於AgentENV特定工作流。
部署路徑
前提條件:Linux核心6.8+和/dev/kvm訪問;安裝指令碼額外要求Ubuntu 24.04。aenv CLI支援Linux和macOS的x86_64和arm64架構。伺服器本身僅支援Linux,因為它需要KVM。文件列出了五種路徑:安裝指令碼將伺服器作為systemd服務執行;Docker映象釋出於ghcr.io/kvcache-ai/aenv-server;Docker Compose棧模擬多節點叢集;Kubernetes清單包含閘道器、排程器和節點DaemonSet;從原始碼構建使用Rust工具鏈。多節點部署在:8080新增閘道器,在:9090新增排程器。
關鍵要點
部署涵蓋安裝指令碼、Docker、Docker Compose和Kubernetes;多節點控制平面文件描述為原型。AgentENV將每個智慧體環境作為Firecracker微虛擬機器而非容器執行,因此隔離性達到核心級別。專案報告從快照啟動或恢復低於50毫秒,暫停低於100毫秒。執行中的沙箱可在同一節點上分支為最多16個獨立子沙箱。HTTP API相容E2B,因此現有E2B Python和TypeScript SDK程式碼無需修改即可執行。
請檢視GitHub倉庫和文件。本研究的所有功勞歸專案研究人員所有。
本文首發於MarkTechPost。