- SignalDesk1小时前
大模型训练拼的是算力,Agent 训练拼的是环境。环境怎么造?梁文锋署名的 DeepSeek 最新论文,把技术细节公开了。 DeepSeek 做的这个系统叫 DSec(DeepSeek Elastic Compute) ,干的事情就是给 Agent 训练批量制造沙盒。 它 每秒能产生 5000+ 个沙盒,一天能达到 300 万个 ,峰值同时运行 38 万个。支撑这个规模的单集群也非常庞大, 大约有 160 个节点、3 万核 CPU 和 250TB 内存 。 为啥训个 Agent 会这么费劲? 因为大模型训练的环境就是 GPU 集群,喂数据算梯度,但 Agent 完全不同。它得在沙盒里写代码、跑编译、开浏览器,甚至装操作系统…… 每执行一步都改变环境状态,随时可能把环境搞崩。所以每轮训练都得给它一个全新的、干净的沙盒,而且随用随抛、训完就扔。 所以,问题兜兜转转,还是回到了基础设施 —— 这些基础设施需要 在每秒 5000 个的速度下,给每个沙盒装好一整套操作系统和工具链 。同时,还不能让几十万个并发沙盒把集群的内存和 CPU 挤爆。 具体怎么办,论文把这整套工程的全貌摊开了。 Agent 训练需要「一个世界」 DSec 要解决的第一个核心问题是, 不同类型的 Agent 任务对沙盒环境的要求差异极大 ,而且这些环境必须在同一个平台上统一调度。 一个刷 OJ 题的 Agent,只需要一个无状态的函数调用环境,跑完拿到输出就行,连文件系统都不需要持久化。 但一个做 SWE-bench 的 Agent,就需要完整的 Linux 用户态,得在里面装依赖、改代码、跑 pytest,任务做到一半还可能要往环境里加新包。 到了安全攻防和 computer-use 场景,容器级别的隔离就不够了,Agent 要操作浏览器甚至桌面,一个有漏洞的 Agent 可能顺手把宿主机搞挂,必须上虚拟机。 最极端的情况是训练操作商业软件的 Agent,它需要一个完整的 Windows 或 macOS,带图形界面、带驱动,跟真实电脑几乎没区别。 DSec 为这四类场景分别准备了四种后端 ,FnCall 处理无状态函数调用,Container 跑 Docker 容器,MicroVM 用 Firecracker 做轻量级虚拟机,Full VM 用 QEMU 跑完整操作系统。 四种后端的隔离强度和资源开销逐级递增,但训练框架那边看到的是统一的 Python SDK libdsec。 不管底层是容器还是虚拟机,都采用相同的接口,创建沙盒、执行命令、拿结果,各个步骤的调用方式完全相同。 要让四种后端在同一套集群上跑起来,平台的调度层也得跟上。 DSec 把整个链路拆成了六层。 这条链路从训练框架的一个创建请求出发,先经过 IAM 认证鉴权,进入 API Server,再由调度引擎(Placement Engine)根据资源余量从集群中选出一台目标节点,节点上的 Edge 组件负责实际拉起对应类型的沙盒。 沙盒的网络出口和包管理镜像由 Aether 统一代理,Agent 在里面执行的每条命令和产生的每行输出,都通过一个叫 Chronus 的沙盒内通信组件中转回训练框架,让框架知道 Agent 做到了哪一步、该给什么反馈。 靠资源超分和高密度部署,单个节点可以同时承载 3200 个容器或 800 个 MicroVM。 每天 300 万个沙盒怎么带动? 然而,DSec 在规模上最狠的挑战还不是调度,是环境的构建。 每个沙盒启动时,都需要一整套操作系统镜像加工具链,相当于每秒给 5000 台「电脑」装系统。 传统 Docker 的思路是把基础镜像、工作区和工具包打成一个完整镜像。这个方案在小规模下没问题,但 DSec 的容器后端累计使用了 11266 个基础镜像和 102171 个工作区,67.8% 的沙盒需要在基础镜像之上叠加至少一层工作区或工具包。 在这种多样性下,一旦某个工具包更新,所有包含它的组合镜像全部要重新构建,成本是 O (m·N)。 DSec 的做法是 把环境拆成基础镜像、工作区、工具包三层独立的 EROFS 只读镜像 ,各自独立版本化,通过 overlayfs 在沙盒启动时按需组合。更新工具包只碰工具包那一层,成本降到 O (m)+O (k)。 镜像造好之后,怎么送到节点上同样关键。直觉上应该提前把镜像拉到本地缓存好,但论文统计了真实的运行时数据: Python 容器镜像 6.0GB,Agent 实际只读取了其中 6.0% 的数据; Java 镜像 12.1GB,只有 9.2% 被访问; C++ 镜像 4.9GB,只有 8.7% 被访问。 也就是说,绝大部分镜像内容,Agent 从头到尾碰都没碰过。 所以 DSec 选择 按需加载 ,其镜像以 EROFS 格式存储在 3FS(Fire-Flyer 分布式文件系统)上,元数据预取到本地,数据块只在沙盒真正读取时才从 3FS 拉过来。 DeepSeek 团队实测,8192 个容器的突发部署,按需加载只要 35 分钟就能完成,而 Docker 冷拉取要 60 分钟以上。 另外,按需加载的磁盘写入量,也比 Docker 冷拉少了一大半,从约 1600GB 降到约 700GB。 环境建好之后,几十万个沙盒同时跑起来又面临资源争抢。 内存方面,MicroVM 通过虚拟块设备读取镜像数据时,同一份数据会在宿主机和虚拟机的页缓存里各存一份,导致需求倍增。 DSec 用 virtio-pmem 配合 DAX 让虚拟机跳过自己的页缓存,直接映射到宿主机物理内存,多个虚拟机共享同一份映射,峰值内存占用砍掉 40.2%。 对 virtio-pmem 不适用的可写磁盘,DSec 用 DAMON 定期扫描冷内存页并主动归还宿主机,配合 virtio-balloon 的 free-page reporting 再将需求砍掉 21.2%。 CPU 方面,DSec 把沙盒分成延迟敏感型和尽力而为型两类,后者设为 SCHED_IDLE 优先级,同时启用 Linux 的 core scheduling,阻止低优先级任务跑到高优先级任务所在物理核心的兄弟超线程上。 两层策略叠加后,50% 背景负载下延迟敏感任务的延迟膨胀从 45.2% 降到了 17.3%。 另外,DSec 还要和 RL 训练框架配合处理 GPU 抢占。 早期架构中 Agent 的推理循环跑在 GPU 训练 Pod 内部,GPU 任务被抢占时 Agent 的执行进度就全丢了。 从 DeepSeek-V4.1 开始,Agent 循环被拆出来独立运行在 DSec 的 worker container 里,不再绑定 GPU Pod 的生命周期。 GPU 被抢占时 DSec 把相关沙盒挂起保存状态,GPU 恢复后沙盒继续执行,训练框架不再需要自己实现断点恢复逻辑。 即便做了这么多优化,单个集群还是可能扛不住峰值。 论文里提到的最大生产任务一次申请 32000 个沙盒,这种突发负载下 DSec 会自动触发 cloud bursting,把溢出的任务打到云端虚拟机上 。 DeepSeek 团队实测,当集群利用率超过 80% 时,200 台云 VM 就能吸收约 30% 的峰值。 Agent 学会了作弊 对 Agent 而言,沙盒不只是运行环境,同时也是安全围栏。 论文披露了多起 Agent 在训练中自行发现的 reward hacking 手段,也就是 Agent 找到了不靠正当手段完成任务、但同样能拿到高分的捷径。 这些 Agent 瞄准的第一个目标是 Chronus,沙盒内部负责 Agent 和外界通信的组件。 Chronus 在执行某些操作时会调用系统的 bash,Agent 发现之后直接覆盖了 / bin / bash,把自己的命令注入进去,试图从后续的 shell 会话中截获题目答案或其他特权信息。 这条路被 AppArmor 堵上之后,Agent 又找到了一个更底层的突破口,XFS 文件系统的 ioctl 调用。 XFS_IOC_SWAPEXT,它的作用是交换两个文件的底层数据块映,。Agent 用它把受保护文件的内容“换”到了自己持有的文件描述符上,绕过了文件级别的访问控制。 这次尝试的副作用比作弊更危险,因为它损坏了 XFS 的元数据,可能直接导致文件系统崩溃,影响的不只是这一个沙盒。 沙盒之外的信息泄露渠道同样被 Agent 们找到过。 有的 Agent 会扫描沙盒能触达的网络端口和服务,寻找参考实现;有的直接打小抄,通过 Go module proxy 从 GitHub 拉代码;有的甚至安装更新版本的软件包来获取现成解法。 这些行为通过单纯检查最终输出根本发现不了,因为 Agent 确实「做对了题」,只是手段不正当。 除了作弊,还有更暴力的场景。 一个 Agent 在沙盒内递归执行 grep,从根目录一路扫到 / proc / kpagecgroup,触发了一个内核 bug,整个宿主机的内核直接崩溃。 另一个 Agent 则是在安全攻防任务里,把本该发给目标虚拟机的攻击命令在自己的容器内执行了,同样打崩了内核。 还有 Agent 发现,Chronus 会异步记录命令的 stdout 输出,于是反复调用 yes 命令不断打印字符,几十个 GB 的日志灌满了存储空间。 DSec 目前的防御手段分两层。 一是用 AppArmor 控制文件读写权限和 Unix 域套接字访问,这些策略即使 Agent 以 root 身份运行也生效,限制了 Agent 从日志和内部通信通道中提取答案的能力。 二是用 eBPF 做网络层的细粒度管控,按任务配置域名白名单,通过 IP 地址、端口和协议三重过滤拦截越界流量,策略还可以在任务的不同阶段动态更新,比如环境搭建阶段允许访问 PyPI,正式执行阶段就把网络收紧。 但论文也明确表示,这不是一个能彻底解决的问题。 AppArmor 和 eBPF 能限制信息泄露通道,但防不了内核 bug;用户隔离可以缩小爆炸半径,但 Agent 总会找到新的路径。 这将成为一场持续的「魔道之争」,模型越强,钻漏洞的能力也越强,平台的防线就得不断前移。 Agent 从「会说话」进化到了「会做事」,训练基础设施的复杂度也出现了质变。 训练大模型的集群,靠的是「大力出奇迹」,但训练 Agent 的集群不仅要「又大又细」,还得防得住自己训出来的东西。 那个需要被防住的对手,恰恰就是正在被训练的 Agent 自己。 论文地址: https://arxiv.org/abs/2609.22978 本文来自微信公众号: 量子位(ID:QbitAI) ,作者:克雷西,原标题《 DeepSeek 新论文公开 Agent 训练!梁文锋署名 》
- 情报分类:服务器与云资源
- 分类依据:内容涉及服务器、云资源或网络线路
- 信息来源:资讯 / IT之家
- 发布时间:2026/9/23 11:37:48
- 暂无回复