Twitxy Saved

grail

@grail_ai

Verifiable Post-Training for LLMs - an order of @covenant_ai

tplr.ai/links
Joined August 2025
4 Following 1K Followers 111 Posts

Latest posts 5

grail @grail_ai
PULSELoCo on Qwen2.5-7B:

DiLoCo payload: 30.5 GB per worker per window.
PULSELoCo payload: 1.77 GB.

That is 17x smaller than DiLoCo and 138x smaller than dense DDP over the same window, with bit-identical results.
grail @grail_ai
A base model only becomes useful after post-training, and that has needed datacenter networking few can access. Grail makes reinforcement-learning post-training practical over commodity internet with PULSE, so more people can turn open models into systems they own and control.
covenant @covenant_ai Jun 13
One directive, one afternoon, and global access to Anthropic's most capable models was gone. Sovereignty does not end at nations. The tools people think with should not sit behind one party's switch. This is why Covenant builds open, distributed AI infrastructure.
View quoted post on X
grail @grail_ai
This is the research arc behind Grail’s distributed RL work.

PULSESync handles trainer-to-inference. PULSELoCo handles trainer-to-trainer. Same principle, both bandwidth bottlenecks now solved.
covenant @covenant_ai Jun 4
Published Feb 2026: PULSE showed that distributed RL post-training could move far less data without changing the receiver's BF16 computation.

In May, PULSELoCo extended the same idea to the second synchronization channel.

PULSESync addressed trainer-to-inference. PULSELoCo addresses trainer-to-trainer.

1/n
View quoted post on X
grail @grail_ai
We're excited to see PULSE highlighted and incorporated into TRL and @vllm_project. The insight that ~99% of bf16 RL weight updates round to zero is now production sparse weight sync in @huggingface's stack.

Paper: arxiv.org/abs/2602.03839
arxiv.org Understanding and Exploiting Weight Update Sparsity for... Bandwidth-constrained distributed reinforcement learning (RL) post-training of large language models is bottlenecked by two channels: weight synchronization from trainers to inference workers, and...
clem 🤗 Verified account @ClementDelangue May 28
The HF science team just made async RL weight sync ~100x cheaper on bandwidth, and you don't need a shared cluster anymore.

The problem: every RL step, the trainer typically has to sync fresh weights to the inference engine. for a 7B in bf16 that's ~14GB. for a frontier 1T fp8 checkpoint, that's ~1TB; in bf16 it would be ~2TB. per sync.

The insight: between two RL steps, ~99% of bf16 weights are bit-identical. at RL learning rates, the optimizer is whispering and bf16 literally cannot hear most of it. the stored bf16 bits don't change.

What they shipped in TRL: only the changed elements get encoded as a sparse safetensors file, dropped into a Hugging Face Bucket, and fetched by vLLM. on Qwen3-0.6B, per-step payload goes from 1.2 GB to 20 to 35 MB. This is exactly what we built Buckets for: S3-like object storage on the Hub, Xet-backed (so even full snapshots only transfer the changed chunks).

The cherry on top: we ran a FULL disaggregated training where:
- the trainer lived on one box
- vLLM ran inside a Hugging Face Space
- the Wordle environment ran in another Space
- weights flowed through one Hub bucket

no shared cluster. no RDMA. no VPN. no NCCL across clouds. just HTTPS and a bucket.

one GPU + a Hugging Face account is now enough to do real disaggregated RL. multi-replica inference fleets across regions become a small devops exercise, not a research project.

Full write-up: huggingface.co/blog/delta-wei…

Open source RL keeps eating the moat!
View quoted post on X
grail @grail_ai
TGIF #29 recap is up. @erfan_mhi joins @DistStateAndMe to talk about Grail's research being used to fine-tune a 1 trillion parameter model for @cursor_ai Composer 2 and what that validation means for the future of decentralized post-training.

youtu.be/Etz9KLqRjHc
www.youtube.com TGI(Good)F #29: A Month of Milestones Across Covenant First TGIF since March 6. Sam walks through the busiest month in Co...