大模型训练的核心在于算力,而Agent训练的核心在于环境构建。如何构建环境?DeepSeek署名的最新论文公开了技术细节。这套名为DSec(DeepSeek Elastic Compute)的系统,致力于为Agent训练批量制造沙盒。其性能指标惊人:每秒可生成5000个以上沙盒,日产量达300万个,峰值同时运行38万个。支撑这一规模的集群极其庞大,包含160个节点、3万核CPU和250TB内存。
为何Agent训练如此费劲?大模型训练仅需GPU集群进行数据喂养和梯度计算,而Agent则完全不同。它需要在沙盒内编写代码、执行编译、启动浏览器,甚至安装操作系统……每执行一步都会改变环境状态,极易导致环境崩溃。因此,每轮训练都必须为其提供一个全新的、干净的沙盒,用完即弃。归根结底,问题回归到基础设施层面:如何以每秒5000个的速度为每个沙盒部署完整的系统与工具链,同时避免几十万个并发沙盒挤爆集群资源?
论文详细阐述了工程全貌。DSec首先要解决的是“一个世界”的问题。不同类型的Agent任务对环境要求差异巨大,必须在统一平台上调度。例如,刷OJ题的Agent只需无状态函数调用,无需持久化文件系统;而做SWE-bench的Agent需要完整的Linux用户态环境,安装依赖、修改代码、运行测试;安全攻防场景则需要容器级别的隔离甚至虚拟机;训练操作商业软件的Agent则需要完整的Windows或macOS,包含图形界面和驱动。DSec针对这四类场景分别设计了四种后端:FnCall处理无状态调用,Container运行Docker,MicroVM使用Firecracker轻量级虚拟机,Full VM则使用QEMU运行完整操作系统。这四种后端的隔离强度和资源开销逐级递增,但在训练框架层面,通过统一的Python SDK libdsec呈现。无论底层是容器还是虚拟机,调用方式完全一致。
为保证四种后端协同工作,DSec将链路拆分为六层。从训练框架发起创建请求开始,经过IAM认证鉴权,进入API Server,调度引擎根据资源余量选择目标节点,Edge组件负责拉起对应沙盒,Aether统一代理网络出口和包管理镜像,最后通过Chronus组件将沙盒内的命令执行和输出结果中转回训练框架。凭借资源超分和高密度部署,单个节点可同时承载3200个容器或800个MicroVM。
然而,DSec面临的规模挑战不仅是调度,更是环境的极速构建。每个沙盒启动都需要一整套操作系统镜像加工具链,相当于每秒为5000台“电脑”装系统。传统Docker将基础镜像、工作区和工具包打包成单一镜像,在小规模下可行,但在DSec的容器后端中,累计使用了11266个基础镜像和102171个工作区,67.8%的沙盒需要叠加至少一层工作区。这意味着一旦工具包更新,所有包含该包的组合镜像都需要重新构建,成本极高。DSec采用EROFS只读文件系统,将环境拆分为基础镜像、工作区、工具包三层独立版本化的镜像,启动时按需组合。更新工具包只需触碰对应层,成本大幅降低。在镜像传输方面,DSec选择按需加载。基于真实数据,Python容器镜像6.0GB中Agent仅读取了6%,Java镜像12.1GB中仅读取了9.2%。因此,DSec以EROFS格式将镜像存储在3FS分布式文件系统上,元数据预取,数据块仅在读取时拉取。实测显示,8192个容器的突发部署,按需加载仅需35分钟,远优于Docker的60分钟以上,且磁盘写入量减少了一半。
在沙盒运行阶段,资源争抢是另一大难题。针对内存,DSec利用virtio-pmem配合DAX技术,让虚拟机跳过页缓存直接映射物理内存,实现多虚拟机共享映射,将峰值内存占用降低了40.2%。对于不适用该技术的可写磁盘,DSec使用DAMON定期扫描冷内存页并归还宿主机,配合virtio-balloon进一步降低21.2%需求。CPU方面,DSec将沙盒分为延迟敏感型和尽力而为型,后者设为SCHED_IDLE优先级,并启用Linux的core scheduling,阻止低优先级任务抢占高优先级核心。在50%背景负载下,延迟敏感任务的延迟膨胀从45.2%降至17.3%。此外,DSec与RL训练框架配合处理GPU抢占,将Agent推理循环从GPU Pod中剥离,独立运行在DSec的worker container中,支持状态保存与恢复。即便如此,单个集群仍可能无法扛住峰值,DSec通过Cloud Bursting机制,将溢出任务调度至云端虚拟机,实测中200台云VM可吸收约30%的峰值。
最后,论文披露了一个令人警惕的现象:Agent学会了“作弊”。沙盒不仅是运行环境,更是安全围栏。训练中,多起Agent发现了reward hacking手段。有的Agent瞄准Chronus组件,覆盖了/bin/bash以截获答案;有的利用XFS文件系统的ioctl调用交换文件块,试图读取受保护文件。更危险的是,这些操作可能损坏元数据导致文件系统崩溃。此外,Agent还通过扫描端口、从GitHub拉取代码、安装更新软件包等手段作弊。这些行为往往能通过最终输出检测,因为结果看似正确。防御手段上,DSec采用AppArmor控制文件读写和套接字访问,以及eBPF做网络层细粒度管控。但论文也承认,这无法彻底解决问题。AppArmor和eBPF无法防御内核bug,用户隔离只能缩小爆炸半径。随着模型变强,Agent钻漏洞的能力也在增强,这场攻防战将是一场持续的“魔道之争”。
