Introducing OpenRL: A self Hosted post training API for fine tuning LLMs | Google Open Source Blog
Justy and Cody discuss Google’s OpenRL, a self-hosted post-training API that tries to separate RL research loops from the Kubernetes and GPU infrastructure underneath them.
Transcript
Justy Okay, Cody, OpenRL is basically Google saying, what if post-training L L Ms had an API boundary instead of a cursed pile of scripts.
Cody That is the nicest possible description of a cursed pile of scripts. And annoyingly, yeah, this one is pointed at a real pain.
Justy Episode five fifty-six, and somehow we are still arguing about whether the harness is the product. I feel personally attacked by the calendar.
Cody We’ve been doing this since November and the calendar has become a dependency graph. That feels right.
Justy Tiny life update before I get too delighted: my brain is mush today. My wife asked me one normal question earlier and I answered like I was returning JSON.
Cody No way.
Justy Fully structured response. Very alarming. She did not request a schema.
Cody Honestly, that may be the most product-manager-at-home thing you have ever admitted. Please do not make domestic life Tinker-compatible.
Justy Rude, but fair. So the actual argument here is clean: OpenRL is not trying to be the genius RL algorithm. It is trying to separate the research loop from the infrastructure mess underneath it.
Cody Right.
Justy The post lists the mess pretty bluntly: datasets, RL environments, reward signals, training-loop debugging, inference mismatches, hardware allocation, cluster operations. Their claim is that those concerns are jammed together, and OpenRL gives each side a cleaner seam.
Cody That seam is the part I buy. We talked about agentic RL as infrastructure-heavy, and this is basically someone saying, okay, then make the infrastructure an API instead of making every researcher become a part-time cluster mechanic.
Justy Mm-hm.
Cody The Tinker influence matters too. They explicitly say Tinker hit a useful shape for post-training APIs, then OpenRL tries to run that same style on your own Kubernetes cluster. So the novelty is not, behold, new reinforcement learning magic. It is self-hosted control over the plumbing.
Justy And that is where my product brain perks up. If you are a lab, or an enterprise team, or honestly a weirdly serious startup with your own GPUs, you do not want every experiment blocked on dependency chaos. You want the researcher on a laptop, the endpoint on the cluster, and the infra team making the cluster not catch fire.
Cody Sure.
Justy Which is very boring until it is the thing that lets the work happen. That is my entire personality, unfortunately. I see the boring seam and I start hearing tiny launch music.
Cody There she is. The launch music goblin.
Justy I accept the title.
Cody The strongest technical example in the post is GPU sharing. Traditional RL loops can be painfully sequential: trainer waits on sampler, sampler waits on reward scoring, and reward scoring might be CPU or network bound. So the expensive GPU is sitting there like a sports car idling in a drive-through.
Justy Oh interesting.
Cody OpenRL’s abstraction lets multiple RL jobs run side by side, and they show duty-cycle graphs for one, two, and three concurrent jobs. I wish the post gave harder numbers, because a graph without utilization percentages is a little hand-wavey, but the mechanism is plausible.
Justy That is a very Cody sentence: persuaded, but emotionally withholding.
Cody I am trying to be generous and accurate, Justy. Let me have my little cave.
Justy Fine. Stay in the cave, but put a label on it.
Cody The label is: abstraction helps coordination, but it does not solve reward design. It does not make your environment valid. It does not remove inference mismatch just because the API is nicer. And the preview starts with LoRA fine-tuning, so anyone reading this as full post-training factory, day one, is getting ahead of the source.
Justy Yeah, and the article is pretty careful there. They say OpenRL is self-hosted, not a managed service. They also say it is not an RL framework, because researchers still control the loop. That distinction matters for who should care.
Cody Exactly.
Justy If your agent does one-and-done tasks, this is probably too much machine. But if you are already fighting long-running experiments, GPU scheduling, and repeatable evaluation, then a Tinker-compatible endpoint on your own infrastructure is a practical upgrade.
Cody The autoresearch bit is also worth calling out, even if the name makes me want to stare at a wall. They have a recipe inspired by Andrej Karpathy’s work, where parallel experiments sweep parameters and improve the reward signal for a text-to-S Q L recipe on Gemma models.
Justy Yeah.
Cody That is the future-facing part: once experiments become parallel and API-addressable, you can have more automation around trying variants. I am not saying robot scientists are suddenly roaming the cluster. I am saying the shape of the system allows that kind of orchestration.
Justy Build-next corner, because there are actual handles here: OpenRL can run on a Mac, Nvidia GPUs, or G K E. They point to guides for the Gemma text-to-S Q L example, and because the endpoint is Tinker-compatible, you can use Tinker-Cookbook with it.
Cody And the future work is concrete: full-parameter fine-tuning and multitenancy across different base models. That second one is the one infra teams will care about, because shared clusters get ugly fast when every model wants a different shape of the world.
Cody Do not document that. I have a brand to maintain.
Justy Too late. Exploring Next has logs now. I’m ending before you file a correction against yourself.