跳到主要内容
返回时间线
Fireworks AI来源发表:

强化学习权重更新不再整包传输:ARCv3把BF16增量压到原体积约0.19%,跨区训练更跟得上策略

核心概要

Fireworks发布ARCv3压缩器,用于把训练端发往 rollout 机器的BF16权重更新压成增量。此前跨区强化学习要反复传输完整检查点,或依赖ARCv2等压缩方案;ARCv3按权重变化的位级结构编码,只传尾数变化,把罕见的指数与符号变化单独打包。在1000个来自生产强化学习负载的权重更新增量上,ARCv3的平均载荷约为原始BF16权重的0.19%,低于ARCv2的0.36%,且重建结果与训练端逐位一致。

Source-provided article image: arcv3 and the case for cross region rl
Fireworks AI

深度剖析

强化学习训练中,训练端向生成 rollout 的机器群持续推送更新后的模型权重,这一步现在可以用更小的增量完成,而不必每次搬运完整检查点。 此前的做法是把完整检查点发给每台 rollout 机器,或者使用ARCv2等压缩方案;Fireworks在先前工作中观察到,所考察的强化学习负载里相邻检查点之间只有约2%的BF16权重发生变化。 在1000个取自生产强化学习负载的权重更新增量上,ARCv3的平均增量载荷约为原始BF16权重体积的0.19%,ARCv2为0.36%,两者都做无损压缩,比较的是描述同一权重更新所需的字节数。

压缩利用了BF16权重在训练步之间的变化方式:绝大多数更新只改动尾数,指数和符号基本不动。 ARCv3直接按这种不对称性编码,未变化的权重值不进入载荷,只改尾数的更新只贡献尾数位,指数变化或符号翻转这类罕见更新则把各自变化的字段作为一个块单独打包。 rollout 端把两路数据应用到上一份检查点,并用校验和与训练端原始权重比对,确认重建逐位一致;对每个张量,ARCv3还并行运行多种通用压缩算法并保留输出最小的一种,代价是更多CPU占用。

更小的增量让跨区域的 rollout 机器群更快跟上当前策略,使跨三四个区域训练更接近同地集群的效果。 增量变大时,训练端可能跑在 rollout 前面,机器群偏离当前策略,多区域部署相对单一大型集群的优势随之减弱。 在同一批1000个BF16权重更新增量上,ARCv3的压缩后增量约为次优方案的一半;对照对象包括ARCv2、PULSESync以及Hugging Face TRL中的增量压缩实现。

启示与展望

演示范围是BF16权重、取自生产强化学习负载的1000个权重更新增量,以及Fireworks自身训练端与rollout 的跨区域同步流程;使用Fireworks Trainer SDK做rollout时ARCv3已是默认,自带训练端的团队可通过fireworks-delta-compression包集成。

压缩被描述为无损,重建结果与训练端逐位一致;约2%权重变化和尾数主导的更新分布,是Fireworks在所考察的强化学习负载中观察到的,文中未说明这一分布在其他模型或训练阶段是否保持。