cd /news/machine-learning/same-same-but-faster · home › topics › machine-learning › article
[ARTICLE · art-154760] src=ianbarber.blog ↗ pub= topic=machine-learning verified=true sentiment=· neutral

Same same, but faster

At the 2026 Triton and PyTorch conferences in San Jose, ByteDance researchers presented OpGuard, a tool that compares two training runs operation-by-operation and reports the first op where bits differ, uncovering a race condition in PyTorch's embedding backwards that had persisted for 7 years while barely affecting loss (about 1e-5). LinkedIn presented a people-search system that scores member matches via GPU embeddings in FP8, where roughly a third of top-10 results shifted versus the FP16 reference even though LLM-scored relevance did not move, leading LinkedIn to keep the FP16 copy in DRAM and rerank FP8 candidates against it. AMD's effort to run DeepSeek V4 Flash reinforcement learning on MI355X with SGLang rollouts and Megatron training hit disagreements — SGLang scored experts with a sigmoid where Megatron used sqrt softplus, plus scale and clamp config differences — and the team used an independent HuggingFace version as the reference to break ties.

by read2 min views4 publishedOct 21, 2026
Same same, but faster
Image: Ianbarber (auto-discovered)

This week I’ve been at the Triton and PyTorch conferences in San Jose, and yesterday I had a chance to browse around the PyTorch poster presentations.

There’s a lot of talk about agentic development, of course, and about how to scale it. Much of that comes down to verification. But what are we verifying against? The theme from many of the posters was: we are verifying the code against… some other code. Which is odd! We could just check whether our models are working properly, but models are surprisingly forgiving: they will happily train straight through a bug.

Folks from ByteDance presented OpGuard which compares two training runs op-by-op and reports the first op where bits differ. They found race in PyTorch’s embedding backwards that had been there for 7 years. The bug hardly affected the loss (about 1e-5!)

LinkedIn presented their people search, which scores member matched via embedding on GPU in FP8. Compared to their FP16 reference about a third of the top 10 results shifted, but the LLM scored relevance didn’t move a bit. This forgiveness is a nice feature most of the time, but makes validation difficult. LinkedIN ended up keeping the FP16 copy in DRAM and reranks the FP8 candidates with it. Metric wise it isn’t it was just… there first.

These reference implementations are becoming a kind of an extant spec, that will be then processed by agents under some set of constraints around exactly how close an optimized version has to be.

Guilherme Leobas at OpenTeams (building on an idea from Richard Zou) has been rebuilding Dynamo’s (the PyTorch compile front end) object model to mirror CPython’s directly, using Python’s own test suite as the reference. The HuggingFace folks have been enabling on-device models for WebGPU, where they match against a CPU reference for correctness.

Nvidia presented a “Day-0 RL” poster that was basically a checklist for using something as a reference: use identical weights and inputs, check trainer and rollout log-probs agree, and monitor more than just the reward score. As if to demonstrate why, AMD presented on getting DeepSeek V4 Flash RL on MI355X. They had SGLang doing rollouts and Megatron doing training, and ran into disagreements. It wasn’t the usual suspects either, SGLang scored experts with a sigmoid where Meatron used sqrt softplus<sup>1</sup>, and there were some scale and clamp config differences. But… which is “right”? They ended up using an independent HuggingFace version as the reference, to break ties.

There were some hallway track discussion about formal methods for kernels and models. Maybe by next year we won’t have to test to see whether two things are equivalent, we’ll be able to prove it! Still have to decide which is “right” though.

  1. This is DeepSeek’s actual score function. It probably didn’t change the expert picked, and I am guessing that SGLang reused an existing module because it already worked! ↩︎
── more in #machine-learning 4 stories · sorted by recency
── more on @bytedance 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/same-same-but-faster] indexed:0 read:2min 2026-10-21 · —