Journey to 2-second Inter-node RL Weight Transfer
I just spent the past two weeks getting cross-machine parameter updates for Qwen3-235B (BF16 training, FP8 inference) to run in just 2 seconds (128 GPUs for training, 32 GPUs for inference). Instead of writing a “here’s the solution” kind of post, I want to share my exploration process and thoughts along the way. I’ll post a shorter, polished version on the company blog in a few days.
I just spent the past two weeks getting cross-machine parameter updates for Qwen3-235B (BF16 training, FP8 inference) to run in just 2 seconds (128 GPUs for training, 32 GPUs for inference). Instead of writing a “here’s the solution” kind of post, I want to share my exploration process and thoughts along the way. I’ll post a shorter, polished version on the company blog in a few days. Why Bother In a previous blog post we mentioned that we built our own in-house LLM inference engine. Also, everyone knows that while we don’t do pretraining, we do put a lot of effort into post-training. So…
saved by
related reading
- GLM-5.2 RL weight transfer in 4 seconds using NIXL and ModelExpressprimeintellect.ai
- Updating 1T parameters in seconds — P2P weight transfer in Large Scale Distributed RL - LMSYS Orglmsys.org
- RL at 1T Scale: prime-rl Performance Deep Diveprimeintellect.ai
- Is Frontier Asynchronous RL Solved? — Luke J. Huangluk-huang.github.io
- Keep the Tokens Flowing: Lessons from 16 Open-Source RL Librarieshuggingface.co
- Transformer Inference Arithmetic | kipply's blogkipp.ly
- Orbit - Ultra-efficient RL Pipelinespherelab.ai
- Composer2.pdfcursor.com
- RL Post-Training on Macs | Pluralis Researchpluralis.ai
- Reiner Pope – The math behind how LLMs are trained and serveddwarkesh.com
- Transformer Math 101 | EleutherAI Blogblog.eleuther.ai
- Async RL in Pure JAXdivyamakkar0.github.io