04 - 训练框架怎么接环境
前置:03 - 环境接口标准。本篇讨论的是接口确定之后,工程上谁来管环境的生命周期。
本篇回答:训练框架、沙箱平台、集群编排三者之间,环境这件事该由谁负责?不 同框架的选择差在哪,代价各是什么?
本篇会用到的词:
| 词 | 意思 |
|---|---|
| rollout 阶段 | 一轮训练里「让模型去环境里试」的那一段。这段时间 GPU 主要在做推理,训练器空着 |
| 更新阶段 | 拿采到的轨迹算梯度、更新参数的那一段。这段时间环境空着 |
| colocate(同置) | 训练和推理共用同一批 GPU,交替使用。省卡,但两个阶段没法重叠 |
| disaggregate(分离) | 训练和推理各占一批 GPU。可以流水线重叠,代价是卡更多 |
| Ray | 分布式执行框架,常被 RL 框架用来管理异构角色(训练器、推理引擎、环境)之间的资源分配 |
| 长程(long-horizon) | 一条轨迹要走很多步、持续很久的任务。编码 Agent 是典型,一条可能几十步、几分钟 |
| GPU 利用率 | 这里特指 GPU 真在算的时间占比。环境慢会直接体现为这个数字掉下去 |
一、为什么这是个基础设施问题而不是接口问题
03 篇讲的是「用什么协议对话」。就算协议定死了,还有一个没解决的问题:这几万个环境,是谁去创建、谁去销毁、谁去回收失败的?
先看清楚代价从哪来。一轮 RL 训练的时间轴大致长这样: