You could have trained the Kimi K1.5
The internet was a one-time subsidy.
I was recently reminded of John Schulman's point that many real breakthroughs are surprisingly simple at their core.
To challenge myself, I decided to look at some older papers and demystify how these models are trained.
Today, I'm looking into a lesser-known model, Kimi k1.5, which was released on the same day as DeepSeek R1—January 20, 2025:
https://arxiv.org/pdf/2501.12599
Despite being one of the earlier multimodal models, Kimi k1.5 was largely overshadowed by DeepSeek's breakthrough in cold-start reinforcement learning.

Training Data
A key theme driving this paper was data scarcity and the resulting shift toward reinforcement learning. The paper itself opens with:
Language model pretraining with next-token prediction has proved effective for scaling compute but is limited to the amount of available training data.
What I find interesting about Moonshot is its focus on simple, effective methods.
Instead of using more complicated techniques such as value functions and reward models, Moonshot opted for better data and environment selection, along with giving the model more room to think.
A lot of these ideas are actually quite easy to understand.
Overthinking
A common issue with reinforcement learning is that a model's answers tend to become much longer.
There's a fairly intuitive reason for this. Reinforcement learning is not that different from being quizzed in class and seeing a problem set for the first time.
From my experience, there are normally two important moments:
Through arcane methods unknown to man, you somehow arrive at the right answer. Congratulations! Reward +1. Problem set done. Now you can go play games.
Your friend asks you how to solve the problem. Your explanation is long and sparse because, deep down, you're not really sure how you got there—you just know that you're right.
Often, buried somewhere in that long response, there is a kernel of reasoning that explains why the answer is correct. The explanation itself could probably have been 90% shorter.

A representative MATH500 run: accuracy improves during reinforcement learning, but response length rises alongside it. Source: Kimi k1.5 technical report, Figure 5.
What you know is that you'll need more practice and will have to dig deeper. This idea is very close to the training process Moonshot used to compress long chains of thought into shorter ones.
LONG2SHORT
So, how did Moonshot cut down on this?
There were a few approaches.
1. Model Merging
By taking a checkpoint of the model that reached the answer quickly and combining it with a version that reached the answer slowly, you can produce a model that tends to generalize better.
Intuitively, the best answer lies somewhere between extremely short and extremely deep.
A good question is: Why not simply use the model that reached the answer faster, with less thinking?
The reason is that the goal is generalization—to uncover and preserve the principle behind the correct answer.
By using only the shorter version, you lose some of the deep-reasoning priors that made the longer version effective. This hybrid approach gets you closer to the short model's efficiency while retaining more of the long model's reasoning.
The hybrid is also easy to produce: you simply average the weights of the two models.
2. Shortest Rejection Sampling
Moonshot noticed that models tend to generate correct answers with large differences in response length.
Based on this observation, the researchers selected the shortest correct answers and reused them for supervised fine-tuning—essentially, direct quizzing.
This is similar to how teachers improve over time. They repeatedly teach students the same subject and eventually discover the shortest correct way to explain it.
I suspect this is also why past university exams tend to look similar: the core concepts behind them don't change.
3. Direct Preference Optimization
Direct Preference Optimization, or DPO, is a method for training a model to prefer one answer over another without running a full reinforcement-learning process.
So, how do you teach a preference?
The answer is very similar to the previous approach: examples.
You can think of it like grading a student. For each question, you collect several answers, keep the shortest correct one as the gold standard, and mark down the longer ones. You then quiz the student on these pairs until they reliably choose the short, correct answer over the longer one.
These positive–negative pairs are what DPO trains on, gradually instilling a preference for the shortest correct response over longer—but still correct—alternatives.
Once that preference is in place, the researchers select a good checkpoint and put it through additional rounds of training with strong length penalties.
The final model isn't merely capable of long reasoning; it can also deliver those insights within a tight token budget.
Together, these three methods form the foundation of the stack + long2short RL used to train Kimi k1.5.

Moonshot's Long2Short methods trade response length against accuracy. The orange Kimi variants generally sit above and to the left of competing short models. Source: Kimi k1.5 technical report, Figure 7.
Data Mix
It's clear from the data mix that, even in early 2025, Moonshot was positioning itself for more agentic use cases than other labs were.
It's important to remember that, at this point, language models were largely confined to the chatbox. AutoGPT had appeared in 2023 as a self-prompting and acting harness, but it didn't work particularly well and eventually faded into the background.
"Agents" still seemed far away.
What's even more interesting is that Moonshot was being criticized within AI circles for falling behind on the language-model side.
Kimi k1.5 was its first public model paper—and its answer to that criticism.
A few things stand out in the training mix.
Vision Data
There was a strong focus on developing Kimi k1.5's real-world visual-reasoning capabilities.
The data mix included science questions across grade levels that required graphical reasoning and comprehension, along with tasks involving complex charts and other diverse forms of visual data.
Location-guessing tasks were included as well. That initially seemed a little confusing, but they may have been intended to help the model generalize across real-world visual-reasoning problems.
In this respect, I think Moonshot was quite ahead of its time.

Kimi k1.5's long-CoT model was competitive on MathVista and MMMU, showing that its reasoning improvements extended beyond text-only tasks. Source: Moonshot AI's Kimi k1.5 results.
At that point, I could imagine models needing to understand charts or interact with computers. It was much harder to imagine them needing broader, higher-level graphical reasoning beyond those use cases.
A Lack of Coding Data?
The only surprising part was Kimi's approach to coding data.
The paper specifically states:
Since test cases are not available for many coding problems from the web, we design a method to automatically generate test cases that serve as a reward to train our model with RL.
I found this surprising because GitHub contains an enormous amount of code and test data.
That said, repository tests are not necessarily clean, self-contained test cases that can verify solutions to standalone coding problems. Converting them into reliable RL rewards is its own data-engineering problem.
¯\_(ツ)_/¯
Given the timeframe, however, Claude Code hadn't been released, and Cursor wasn't very good yet.
Not finding a way to fully leverage GitHub for Kimi k1.5 therefore didn't matter much in the grand scheme of things.
Conclusion
Fun fact, Kimi is actually the english name of Yang Zhilin, founder of Moonshot AI.
If you've enjoyed reading this, follow me on Twitter for more
The Kimi k1.5 paper was fascinating to read and a testament to Moonshot's foresight about a more agentic future.
It demonstrated a meticulous focus on scaling reinforcement learning at a time when massive supervised fine-tuning and pretraining were still the dominant approaches. It also showed discipline in searching for simple, elegant ways to train models.
Looking back from 2026, I think it's clear that many of Moonshot's bets have paid off. Kimi K2.5 and K2.7 have developed reputations as strong orchestration and agentic models, with a high degree of design taste, while remaining competitive in coding.