Fireworks Releases ARCv3 Weight Compressor
- •Fireworks released ARCv3, a lossless BF16 weight-update compressor for reinforcement-learning rollouts.
- •On 1,000 production deltas, ARCv3 averaged 0.19% of original size, versus ARCv2 at 0.36%.
- •ARCv3 omits unchanged weights and separates mantissa updates from rarer exponent and sign changes.
Fireworks AI released ARCv3, a lossless compressor for BF16 model weight updates, to reduce the data sent from reinforcement-learning trainers to machines generating rollouts. In a benchmark of 1,000 production weight-update deltas, ARCv3’s average payload was 0.19% of the original BF16 weight size, down from 0.36% with ARCv2. The reconstructed weights are bit-for-bit identical to the trainer’s weights. Teams using the Fireworks Trainer SDK already receive ARCv3 by default; teams using their own trainer can install the `fireworks-delta-compression` package and use it with Fireworks rollouts.
The compressor is designed for cross-region reinforcement learning, in which training and rollout machines operate across several regions. Fireworks says only about 2% of BF16 weights changed between consecutive checkpoints in the workloads it examined. Rather than sending a full 1 TB checkpoint at each training step, its system sends a compact description of the changes. The company says this supports keeping training synchronized across three or four regions without a dedicated high-bandwidth link between clusters. Smaller updates help rollout machines update sooner and stay closer to the current policy; larger updates can leave them behind the trainer.
ARCv3 exploits patterns in changed BF16 weights. Fireworks observed that, among the roughly 2% of weights that changed per step, most changes affected only the mantissa, while exponent changes were rare and sign flips rarer. ARCv3 omits unchanged values, sends only mantissa bits for mantissa-only changes, and packs exponent or sign changes separately. On the receiving side, the streams are applied to the previous checkpoint and checked against the trainer’s original weights. For each model tensor, ARCv3 also runs several general-purpose compression algorithms in parallel and keeps the smallest result, using additional CPU while GPUs train.
Fireworks compared four lossless compressors on 1,000 production RL weight-update deltas, all in BF16. ARCv3 produced payloads equal to 0.19% of original weight size, compared with 0.35% for PULSESync, 0.36% for ARCv2 and 0.67% for the draft Hugging Face TRL implementation. Fireworks says ARCv3’s payloads were about half the size of the next-best approach in this benchmark. PULSESync is a weight-synchronization algorithm that uses sparse patches. Fireworks offers ARCv3 through its Training API for teams using their own trainer with Fireworks rollouts; its Trainer SDK uses ARCv3 as the default. The company says smaller transfers make it easier to use compute across regions rather than relying on one large co-located cluster.