We were able to fine tune an open weight model (Qwen3.5-9B) on proprietary internal data at @coinbase, and it out performed frontier models, at much lower cost and speed, for a specialized task (fraud prevention in this case).
I think we'll see more of this pattern inside companies. The frontier models are amazing generalists. But increasingly you'll see specialist models out perform on more narrow tasks, either working on teams, or by themselves.
We're making it easy to fine tune models internally for our employees. We even have a skill for it in our internal harness that makes it easy to spin these up and start training them:
"/fine-tune-and-serve-llm I want to fine-tune Qwen for payments risk review. help me get started"
I imagine we'll have some backend services that could be replaced entirely by this new architecture.
One of my most aha moments in understanding transformers:
"Stop thinking about a transformer as a pipeline: as if each layer transforms the output of the layer before it."
"Start thinking as a residual stream"
Each transformer block has a residual connection that adds the input of the block back to it's output.
x' = f(x) + x
This "addition" connection means the attention/MLP block inside a layer (the function f above) does NOT actually transform the input - instead it computes the information that must be ADDED to the input before passing on to the next block!
Think of the whole transformer backbone like a shared whiteboard. Each block reads what it needs from the board and writes its notes on the board. Additive changes.
In fact, layers can talk at a distance. A block in layer 1 can write information and a block in layer 5 can read it, even though there is no direct wire between them.
Ideas thanks to this old Anthropic circuits paper: https://t.co/aG3IxDNwxf
Today we are open-sourcing 🥕Karotte, our framework for building RL environments.
We've used it for the past year to build MLE RL environments for frontier labs, and it's been hardened through 1M+ evaluation runs and red-teaming.
Banger paper from NVIDIA.
One exciting trend I am seeing is building verifiable environments for your agents and training the harness alongside the model.
Co-evolving the harness and the model is a big part of owning the intelligence stack. And many frontier AI companies have started doing that.
This paper shows how this works:
VERA turns benchmark trajectories into more than 9,000 restartable sandboxes with rubric scoring, and keeps only environments that run and can be scored from observable evidence.
It then updates both the model weights and the harness.
A harness edit is kept only if it passes self-tests and adds at least 5 points on the development set.
The system rejects a model checkpoint if its score drops by more than 20%.
At 9B, the co-evolved agent beats the strongest single-axis baseline by 10.3 points on AutoCoWorkBench and 13.0 points on AutoMedBench. At 27B, it scores 71.6 on AutoCoWorkBench, above Claude Opus 4.8.
The environment corpus is open-sourced.
Paper: https://t.co/Lt9DXDRQp2
Chat with Paper: https://t.co/fXlmBpm4m6
RL-only domain adaptation for medical LLMs
HuatuoGPT-3 introduces OnePO, a one-stage policy optimization that skips supervised fine-tuning entirely. A 27B model reaches 71.4 on HealthBench Professional, surpassing GPT-6 Astra.
I gave a talk at @StanfordGSB entitled 𝗔𝗜 𝗶𝗻 𝟮𝟬𝟮𝟲: 𝗦𝗼𝘂𝗽 𝘁𝗼 𝗡𝘂𝘁𝘀.
In 1 hour, I covered:
- the last 15 years of AI history focusing on the breakthroughs that got us to the wave we are riding now
- the biggest business opportunities in AI today are
- some of the remaining unsolved problems for all of us to solve
Hope you enjoy it!
The most profound paper of my PhD so far. We truly did something special to make LMs play/explain chess, needing both architectural & algorithmic innovation (natural-language analogue of the Alphazero algorithm) + applicable to many other domains. Please read on and share!
1/10
Let’s understand activation functions, especially what changes during backpropagation.
Sigmoid maps values into the range 0 to 1. Its slope is largest near zero and gets very small at both ends. So when the input is far from zero, the output barely changes and the gradient passing through the activation becomes small. This is sigmoid saturation.
Tanh has the same general problem. Its output ranges from -1 to 1, and its largest slope is at zero. Move toward either extreme and the curve flattens, so the gradient becomes smaller.
ReLU maps negative inputs to zero and leaves positive inputs unchanged. For positive inputs, the slope stays constant. For negative inputs, it is zero. A unit that keeps receiving negative inputs can therefore stop getting a gradient through the activation. This is the dying ReLU problem.
Leaky ReLU changes the negative side by giving it a small slope instead of making it completely flat. PReLU uses the same idea, except that the negative slope is learned during training.
GELU does not cut negative inputs off at zero. It gradually scales them using the Gaussian cumulative distribution. Some negative values still produce negative outputs. The function is also non-monotonic over part of the negative region, which means its slope becomes negative there.
SiLU multiplies the input by a sigmoid of that same input. It also allows negative outputs and is non-monotonic over part of the negative side. Its slope can be negative in one region and greater than one in another.
The derivative plots explain a lot of this immediately. A slope near zero weakens the gradient. A zero slope blocks it locally. A negative slope changes its sign. The size of the slope determines how much the incoming gradient is scaled.
Happy learning!
SpaceXAI engineer, Lauren Tan:
"250 applications, two years, zero offers. Then he stopped applying as one engineer and showed up as one engineer running 30 agents. We offered him $850,000.
Right now I'm running 30+ agents in a loop with /pstack. I shipped 1,000 PRs last month - this month I'll 2x that. I woke up today and 20 had already landed. My job now is to build the team, not write the code.
99% of engineers still run a single chat window. That's not a skill gap. That's a stack gap, and it takes one evening to close."
/pstack → Loop → 30+ Agents → Overnight PRs → Autonomous Workflows
In a 1-hour session, a SpaceXAI engineer explains how to build an effective team of AI agents that works 24/7.
Research → Build → Launch → Improve
It's worth more than any $1000 agentic engineering course.
We turned Claude Code, Codex, Hermes, Pi, @opencode and other coding harnesses into RL environments. No changes to the harnesses, no changes to the training code. Any open model, any task set, fully open source my friends!
Same model, same weights: 62% under Mini-SWE-Agent, 33% under Claude Code. But training inside a real harness normally means reimplementing it as an environment, so most models get trained in a scaffold nobody actually ships.
The fix is a proxy, not a rewrite. The harness thinks it's talking to a model API. It's actually talking to a capture proxy that speaks the 4 formats coding agents use (OpenAI Chat Completions, OpenAI Responses, Anthropic Messages, Gemini), forwards to @vllm_project, records the exact token IDs and logprobs vLLM sampled, and hands TRL sequences it can train on. The harness becomes the environment. 10 harnesses run through it today, none modified.
And because you control the reward, you can shape behavior the harness never asked for. We added a small bonus for solving a task in fewer tool calls: on tasks it already solved, the model now uses 31% fewer calls, in every harness, and about half under Codex.
Tested on LFM2.5-2.6B from @liquidai:
→ Train in one harness: better mostly in that harness (OpenCode 34% → 58%).
→ Train in 4 at once: better in all 4 (42% → 54%).
→ SFT on 3,189 rollouts from Qwen3.8-27B instead: plateaus at 47.5%, below both RL runs.
Everything is open and reproducible: the capture proxy in OpenEnv, the trainer in TRL, the tasks, the SFT data, the training code and all 7 trained models. Bigger models and bigger runs next.
Full guide: https://t.co/sKZURuOcza
"Understanding Transformers and Attention Mechanisms" is a concise mathematical introduction to the attention mechanism, a key idea behind modern language models.
The document covers tokenization and embeddings, queries, keys and values, attention scores and weights, multi-head attention, self-attention, causal/masked attention, cross-attention, and the basic structure of the Transformer architecture.
It also introduces some important techniques used in modern LLMs to make attention more efficient, including KV caching, Grouped Query Attention (GQA), Multi-Query Attention (MQA), and Latent Attention.
https://t.co/Rlun9QT7zx
Backprop has been the only credit assignment algorithm capable of training large neural nets.
Introducing Dust, the first zeroth-order method to pretrain transformers to approach and sometimes even *exceed* backprop with large amounts of computation (bitter lesson!)
- Dust is on the order of 1,000 to 10,000x more compute efficient than EGGROLL, the state-of-the-art ES method, for training transformers.
- We chose pretraining transformers because it's arguably the hardest task possible for zeroth-order optimization.
- Search in high dimensions is really misunderstood: zeroth-order usually gets better with overparameterization, not worse, i.e. at a fixed population size, larger models (up to 120x) reach a lower loss than smaller ones.
- Backprop-like gradients emerge from a large population of activation perturbations, and the alignment holds up at every scale we tested, up to 1B tokens, which is critical for scaling.
The core idea is a *virtual population*, which helps scale to large populations in transformers by perturbing activations in parallel.
w/ @bishmdl76, @cs_serdar, @akshayvegesna
What is not covered in the report is how we scaled model training to be efficient on 768 B200 GPUs.
I explain it in detail here: https://t.co/MtjwZIQ7AD
A how to guide to scale up model training without wasting your GPU hours. Even if you only have 1 or 2 GPUs and cannot scale, our optimisation philosophy can still make your GPUs go brrr.
I couldn't explain ALL the details of our method in the blogpost, since the big launch came after. You can connect the dots now, the 30B MoE architecture was in fact Kolibri Origin all along.
Cloudflare's Clef beat Jev in just two weeks
How: "frozen" Qwen does one prefill pass, a tiny schema head scores every answer option in parallel, with no text generated at all.
That's why it's 4x faster than Jev at 2x the accuracy on some benchmarks.
And it's open source!
Link to HF:
https://t.co/1c3YzhAGfV
if you are pondering to get into the core “training” part of language modelling, i would highly recom to just get started with technical reports of open source labs like deepseek, ai2, nvidia nemotron, arcee etc. olmo 3 is amazing to get started with!
SpaceXAI engineer, Lauren Tan:
"I shipped 1000 PRs last month. I'm at almost 800 already this month and we're on the 12th
I woke up today and 20 had already landed. I reviewed them on main, after the fact"
In a 1-hour session she walks the exact trust curve, from micromanaging one agent to auto-merging thousands of PRs a month
this is worth more than any $500 agentic engineering course
watch it today, then read how to build the same agent fleet in the article below ↓
Reasoning from scratch, round number 6!
An introduction (and implementation) of Reinforcement Learning with Verifiable Rewards (RLVR) and Group Relative Policy Optimization (GRPO).
00:00 Introduction
01:54 What makes a reasoning model different?
04:25 Reasoning traces and model capability
08:29 Accuracy and format rewards
11:34 Aha moments and DeepSeek-R1 training
14:41 Reasoning effort and answer length
18:38 RLHF and RLVR
23:04 GRPO vs. PPO
26:40 GRPO explained with a cooking analogy
31:43 The KL term and simplified GRPO
35:04 Loading the pretrained model
36:07 Loading the MATH training data
39:26 Sampling model responses
46:30 Computing verifiable rewards
49:55 Computing advantages
51:54 Token and sequence log probabilities
55:29 Implementing sequence log probabilities
57:37 Fixing the inference-mode error
1:02:24 Computing the GRPO loss
1:04:37 Putting the GRPO step together
1:09:19 The GRPO training loop
1:12:57 Training settings, logging, and checkpoints
1:17:24 Running training and inspecting outputs
1:19:28 Loading and evaluating checkpoints
1:22:33 MATH-500 results and training stability
1:24:05 Memory requirements and next steps