Post-Training in the Open

Summary

Today, we’re excited to share more about our progress post-training our mixture of experts models. Our latest milestone is the release of Marin 67B-A2B “Snowball” v0.1, a mixture of experts (MoE) model trained on ten trillion (10T) tokens.

  • In keeping with the spirit of open development, all of the information needed to reproduce Snowball is public on GitHub and Discord. In the full technical report, which we’re publishing in November, we will discuss in detail how we built a fully open post-training stack, code, and data, and post-trained a model to GPT-OSS-level quality, putting Snowball nine to fifteen months behind the open weights frontier for similarly sized models, according to our eval policy.
  • Snowball is also Marin’s most successful pre-training run to date. Despite having 10x fewer flops and 16x fewer active parameters, snowball-base beats Marin 32B on the eval card Marin 32B launched with.

In this blog post, I’m going to focus on what we learned during this process.

From pre-training to post-training

Since its creation in 2024, the Marin project has focused on pre-training, refining techniques and processes during the development of models like our Delphi scaling suite.

Earlier this year, I joined the project to help advance our understanding of post-training. Post-training, broadly speaking, is everything we do to a model after the initial autoregressive updates on our pretraining corpus, and it comes with its own challenges. Open-source reinforcement learning frameworks are immature compared to the ones used by frontier labs, and there is very little high-quality RL data publicly available. Other neolabs have worked around this problem by buying closed datasets from brokers and hiring large engineering teams to build private RL stacks in-house (sometimes releasing weaker versions of these frameworks as open-source artifacts). Marin, as an open development lab funded by a non-profit, chose another path. That path led to Snowball.

Pre-training Snowball

Snowball, our first overtrained MoE, was shaped by objectives that were often in tension: theoretical training efficiency, which we achieved through sparsity and a large expert bank, wall-clock efficiency, which involved compromises for our particular TPU hardware, keeping the model stable during a 10-trillion-token, heavily overtrained run, and optimizing for reinforcement learning, which led us to make choices to favor inference speed.

Despite these compromises, Snowball was Marin’s most successful pre-training run to date. Although it has 10x fewer flops and 16x fewer active parameters, snowball-base beats Marin 32B on the eval card Marin 32B launched with.

Post-training Snowball

Snowball was the first Marin model to receive serious attention in post-training, and we learned a lot from the process. Here are a few lessons worth highlighting.

We built a post-training stack. Using popular open-source frameworks such as SkyRL and Harbor as starting points, we developed a custom in-house stack that handles everything from SFT to RL to agentic evals, all from the Marin monorepo.

We created a complete open-development lineage from pre-training to post-training. If pre-training is like a marathon, post-training is like a hedge maze: confusing turns, dead ends, and ambiguous signal. So we built a map. Over 100 different post-trained Snowball models, each tracked in a unified lineage with its own data, code, experiments, and design decisions.

This map allows us to represent the lineage of Snowball v0.1 as a DAG (directed acyclic graph) with 14 models, 15 connections, and four distinct post-training techniques: SFT (supervised fine-tuning), RLVR (reinforcement learning with verifiable rewards), FTPO (final-token preference optimization), and model merging. Under the policy, each generation is a cumulative improvement, even though most checkpoints regress on at least some eval policy benchmarks.

Graph of Snowball v0.1’s lineage: 14 post-trained models connected by SFT, RLVR, FTPO and model-merging steps, with tournament win rates.
Figure 1: Snowball v0.1 as a graph. Snowball’s lineage, laid out in a graph, reveals the complex set of stages that lead to the checkpoint we actually released. Tournament win rate here refers to the pairwise win rate of each Snowball model against its peers, as detailed in our eval policy.

We promoted evals to a first-class area of study. Speaking of benchmarks, we established a rigorous and comprehensive public-facing eval policy that allows anyone to audit the claims we make about Marin models. Under this policy, we estimate our model is GPT-OSS-level quality, putting Snowball nine to fifteen months behind the open-weights frontier for similarly sized models.

Critical difference plot ranking Snowball v0.1 against peer models on all policy benchmarks, with 95% rank uncertainty bands.
Figure 2: Snowball v0.1 and its cohort. When ranked on all policy benchmarks against its peers, Snowball has mean rank 8.13 (compared to 8.93 for GPT-OSS). Lower ranks are better. The bars show the 95% rank uncertainty bands; the Nemenyi critical difference is 4.14 (α = 0.05).

In addition to the standard uncontrolled comparison of benchmark scores, we proposed a new convention for FLOP-controlled comparisons. In this regime, we are competitive with the best models in our class. However, we recognize that the science we are using to do this kind of comparison is immature; we present it primarily for the purposes of improving our ability to forecast eval scores in the future.

FLOP-controlled critical difference plot showing mean adjusted ranks for Snowball and peer models.
Figure 3: FLOP-controlled critical difference plot. In our FLOP-controlled comparison, Snowball has the lowest mean adjusted rank (5.18) but the gap between it and the second best model is not statistically significant; GPT-OSS-20B has mean adjusted rank 8.29.

We also introduced new “meta-benchmarks” like LM-Marina, an agent-run Chatbot Arena, to try to discover seams our standard eval policy might miss.

Marin and the community

As an open and collaborative public research initiative, Marin welcomes community contributions. The Snowball release is noteworthy in this regard, since it marks the first time that researchers not affiliated with Open Athena or Stanford University made substantial contributions to Marin development. We want to thank the many researchers who interacted with us on our Discord. Some of these contributors also wrote up their work on their own blogs.

Harshit Varma (UC Berkeley) used an SFT approach called Plateau Dropping on Snowball, producing stronger terminal agents. Marianna Nezhurina (Juelich Supercomputing Center) taught Snowball to correct its mistakes. And Donghyun Lee (also from UC Berkeley) contributed to the RL infrastructure and developed a coding-agent expert that was selected for merging into Snowball v0, a previous release, after it showed strong terminal-bench 2 scores under our eval policy.

We want to emphasize that the experiments and conclusions of these community member authors remain their own. We highlight them primarily to note that the community has already proven highly helpful in steering the course of Marin development. By sharing our work openly, we are able to collaborate with community members to test new ideas and improve our process.

What’s next

Our 535B-A23B mixture of experts model, affectionately known as “Mochi,” is projected to finish pre-training in mid-November. While we wait for Mochi to arrive, we’re working to apply the lessons learned from Snowball to prepare for Mochi post-training. The major capability gaps revealed by Snowball v0.1, including agentic skill, factuality, and complex instruction following, will form an important part of our work in 2026 and beyond.

Going forward, we expect synthetic data curation to play an increasingly important role for us. We also expect strong open-weights agents to guide the development of positive feedback loops, enabling us to make our models better with less human intervention over time. That said, humans are still essential and will remain so in the future: continuing to strengthen our open development community remains a top priority.

Try Snowball

If you have a Mac with at least 32GB of RAM with uvx, mlx-lm and pi installed, you can try Snowball v0.1 yourself with just two simple commands (in separate terminals):

uvx --from mlx-lm==0.32.2 mlx_lm.server \
  --model open-athena/Marin-Snowball-67B-A2B-v0.1-MLX-4bit \
  --trust-remote-code --max-tokens 32768 --temp 0.6 --top-p 0.95 --port 8080
pi --model mlx-local/default_model \
  --system-prompt "You are an AI language model named Marin, created by a non-profit called OpenAthena. You are serving in the role of an all purpose assistant. Think deeply about the user's request and respond helpfully."

Acknowledgements

This work is generously supported by the Jen-Hsun and Lori Huang Foundation, the Google TPU Research Cloud program, the Siegel Family Endowment, Fulcrum Science, Schmidt Sciences, and many others. Marin also wishes to thank Stanford University, UC Berkeley, and the Juelich Supercomputing Center for their community research contributions to Marin Snowball.

Cite this post

@misc{feuer2026_post_training_in_the_open,
  author = {Feuer, Ben},
  title = {Post-Training in the Open},
  year = {2026},
  month = {oct},
  howpublished = {\url{https://www.openathena.ai/blog/post-training-in-the-open/}},
  note = {Open Athena Blog}
}