Today we're launching Miles v0.1, an open-source RL framework for LLMs and multimodal models.
RL training is easy to start and hard to debug. Miles helps you ensure your run is correct, use hardware efficiently, and keep RL running at scale.
Over the past 9 months, 72 contributors have landed 1,326 commits, 85 GPU E2E CI tests, battle-testing Miles on frontier open models like Kimi K3, DeepSeek V4, Qwen 3.8, GLM 5.2, Inkling, MiniMax H3, etc.
Miles powers frontier-model development and production RL workloads at @humansand, @periodiclabs, @modal, @DecagonAI, @Eigent_AI, @nebiusai, @IBM and more, on both @NVIDIAAI and @AIatAMD hardware.
Here is what we built, and why teams picked Miles🧵
Announcing the first SGLang Summit: November 12–13 at Fort Mason, San Francisco.
Join us for two days of talks, discussions, and deep dives into frontier AI infrastructure, silicon, models, and applications.
Register: https://t.co/7C6TzrkJYV
Back in February we open-sourced Breakable CUDA Graph in SGLang, a way to keep CUDA Graph working around ops it cannot capture. It drew a lot of attention: by April it was the default on our prefill path, and in July the diffusion stack adopted it too. Today we are publishing a fully visualized deep dive.
Highlight🤩:
- BCG captures graphs where traditional CUDA Graph can't
- Prefill graphs build 3.8–5.2× faster, in a quarter of the code
- Prefill runs 1.70× over eager with BCG, 1.93× with full capture
Built together with @AIatMeta. Thanks to @NVIDIAAI@AIatAMD@thinkymachines@PyTorch for their help along the way.
Link to the blog in the comments 👇
The real world is multimodal. For AI to understand and recreate it, models need to learn across modalities.
In our latest blog, we show how Miles supports that learning with a shared post-training design for VLMs and diffusion models.
Link in the comments. 🔗
A Tarot Story Generator from my grad school era at @HarvardGSD two years ago *ੈ✩
I made this little device that uses tarot cards to generate stories, inspired by Italo Calvino’s The Castle of Crossed Destinies. In the novel, characters tell their stories through sequences of tarot cards, which I found fascinating.
To use it, you turn the knob on the right to select a tarot card on the small screen, then press the first button to send your selection to a GPT model I tuned. The model continues the story based on the card you chose, displaying it on the large screen in the center. If the story gets too long, the second button lets you continue to the next page.
I’m still really happy with how this machine turned out. I especially love how minimal the exterior is while still revealing the structure inside.
At the time of making this little machine, I wrote that I wanted to replace the breadboard with a PCB, and rethink the simple story generation mechanism by turning it into a text adventure game with infinitely branching narratives.
I actually did end up making the game later! The PCB never happened though lol
Today we're launching Miles v0.1, an open-source RL framework for LLMs and multimodal models.
RL training is easy to start and hard to debug. Miles helps you ensure your run is correct, use hardware efficiently, and keep RL running at scale.
Over the past 9 months, 72 contributors have landed 1,326 commits, 85 GPU E2E CI tests, battle-testing Miles on frontier open models like Kimi K3, DeepSeek V4, Qwen 3.8, GLM 5.2, Inkling, MiniMax H3, etc.
Miles powers frontier-model development and production RL workloads at @humansand, @periodiclabs, @modal, @DecagonAI, @Eigent_AI, @nebiusai, @IBM and more, on both @NVIDIAAI and @AIatAMD hardware.
Here is what we built, and why teams picked Miles🧵
The king of small models is back! Qwen3.8-27B from @Alibaba_Qwen is open source, and Day-0 support is live in SGLang:
- 206.1 tok/s decode on a single RTX 5090, with our NVFP4 plus DSpark
- 38.28 tok/s decode on DGX Spark
Qwen3.8-27B raises the bar again for what a small model can do on agentic planning and long-horizon tasks.
Long live the (small model) king! Run it locally with SGLang 👇
@MiniMax_AI H3 is live in SGLang Diffusion, with day-0 serving support 🎬
This open model matches Seedance 2.0 at 1/3 the cost, or $0 if you run it locally on 2x 5090 or 1 RTX 6000.
With SGLang Diffusion, you can build visual concepts, motion design, e-commerce creatives, precise video edits, animation and stylized visuals, all locally on your own machine. No API bill, no waitlist.
H3 takes text, image, video and audio in a single context, and generates 5-15s clips at native 2K, 24fps with native stereo audio.
SGLang Diffusion also runs on @NVIDIAAI Blackwell and Hopper, and @AMD MI355X / MI300X.
Let's create something with MiniMax H3 👇
Inkling-small is out today! With SGLang, you can get 648 tok/s decode with DSpark (simulated acc len=4) and 288 tok/s w/o DSpark, under the same setup (8x @NVIDIAAI B200, TP 8, NVFP4, bs=1).
What makes this model different is the size. 276B total with 12B active is a sweet spot for RL, and both LoRA and full-parameter training become well within reach. Miles is ready and verified for multimodal RL on Inkling-small, so you can turn your multimodal data into real capability gains.
At ~1/4 the size, Inkling-small matches the bigger version in capability and even wins on some benchmarks.
Run Inkling-small with SGLang, and customize it with Miles.
RadixArk and Google Cloud are joining forces with the SGLang community to make TPU a drop-in, cost-efficient path to frontier inference.
SGL-JAX already serves the major open model families on the latest TPU generations: Gemma, Qwen, DeepSeek, GLM, Kimi, Ling, MiniMax, MiMo, Grok, plus Wan and Flux for video and image generation.
With this partnership, TPU unlocks SGLang's production feature set: 5D parallelism, Radix Cache, HiCache, quantization, speculative decoding, on TPU Pallas kernels co-built by Google, RadixArk, and the SGLang community. SGL-torchtpu opens a PyTorch-native path to all of it.
SGLang on TPU comes with the same API and the same features, so for teams already running it, getting started is simple. Going forward, TPU support for new open models will land alongside the rest, and that carries forward to each new TPU generation.
Full announcement and SGL-JAX repo 👇
You can just build things with Kimi K3, and all you need is an idea.
I was really impressed that Kimi K3 is leading the frontend bench @arena. So I sent a very simple prompt: make a playable Chrome-dino game.
It made it in one pass.
So I ran to our designer and asked her for a few key frames for my speedrun idea: a girl running, cheering, a flag monument, a rocket ride.
Then I asked Kimi to turn them into the game.
Nobody asked it to, but it studied the poses and figured out how to line them up. The run cycle came out perfectly smooth.
It also took the night and morning backgrounds and turned them into a live gradient. Dawn breaks as the girl runs.
Then it started screenshotting itself to debug.
It ran the page headless and saw the jump apex pushing her head off the canvas. Fixed it. Screenshotted again to prove it, instead of assuming it.
For audio, it composed its own 8-bit tracks on theme. Then it searched for CC0 alternatives. Then it asked me to pick.
Then I handed it our real kernel ablation numbers and asked it to design the game mechanic around them.
It turned each datapoint into a pixel-art snack, paced them out across the track, and each one became a reward that brings the girl closer to the finish line.
It even wrote an autopilot bot to play the whole game start to finish, just to check the thing was actually beatable.
Finally I asked it to edit the story and export the video.
And after $22 of tokens over a weekend, I had our best launch video ever.
You can play the game here: https://t.co/lnmZ6dvI5h
Go build something with Kimi K3, it is very fast now with @sgl_project!
SGLang day-0 speed on Kimi K3: 423 tok/s (measured on gsm8k), plus RL support ready in Miles @radixark!
How the largest open-source model runs this fast: we natively implemented and deeply optimized K3’s new architecture with fused KDA decode kernels, DP attention, DSpark, PD disagg, and KDA-aware prefix caching. We've passed Kimi Vendor Verifier and are ready for production!
Thanks to @Kimi_Moonshot, @nvidia, @AMD, @KVCache_AI, @modal, and @baseten for building this with us, and to @googlecloud, @nebiustf, @fal, @digitalocean, @runpod, @DeepInfra and @gmi_cloud for serving K3 on SGLang.
Blog, cookbook, benchmarks in the comments.
P.S. This demo video? Kimi K3 made it itself. Play the game 👇
Inkling, @thinkymachines' first open model, dropped today: 975B total / 41B active MoE, up to 1M context, reasoning natively over text, images, and audio.
Serving and RL support are already live: you can run and shape it on an open stack, starting now.
Day 0 support on SGLang @sgl_project and Miles @radixark👇
- Inkling's new architecture (ShortConv, attention with relative positional embedding, shared expert sink MoE) is natively implemented and deeply optimized, with prefill full CUDA graph and MXFP8 KV cache
- Full parameter and LoRA RL in a customized Megatron backend, train inference consistency via customized kernels, routing replay, and cross-runtime parameter synchronization
- DFlash speculative decoding from @modal for low-latency serving
Launching now, blog and cookbook in the comments ⬇️
A world where Coke chills in the kitchen and humans chill in the fridge.
Yes I am aware of the AI glitches in this video but I’m out of tokens to polish ๑•́ ₃•̀๑
#flow#veo#google