← All learn articles

Which Teacher Model Should You Pick?

Which Teacher Model Should You Pick?

Use zai.glm-5 for new work. It scored highest of the five teachers we measured head to head, and it is what recent distil labs runs use. openai.gpt-oss-120b remains the documented default and a sound choice. The binding constraint is tool-calling support, not size.

What does the teacher actually do?

It generates and validates the synthetic training data your student learns from, and you never deploy it. That makes teacher choice a data-quality decision, not a serving decision — cost and latency are irrelevant, and capability is everything.

Two consequences follow. First, the teacher’s accuracy on your test set is the ceiling you are aiming at, which is why teacher evaluation runs before training rather than after. Second, the student can exceed that ceiling: in our 12-model benchmark a fine-tuned Qwen3-4B beat its 120B teacher on 6 of 8 tasks and by 19 points on SQuAD 2.0.

Which teachers support tool calling?

Ten of the fifteen. The supported models catalog marks this explicitly, and the restriction covers both tool-calling-closed-book and multi-turn-tool-calling-closed-book.

Teacher Value Tool calling Reasoning family
GPT OSS 120B (default) openai.gpt-oss-120b yes yes
GPT OSS 120B Thinking openai.gpt-oss-120b-thinking yes yes
GPT OSS 20B openai.gpt-oss-20b yes yes
GPT OSS 20B Thinking openai.gpt-oss-20b-thinking yes yes
DeepSeek V3.2 deepseek.v3.2 yes yes
DeepSeek R1 / R1 Thinking / V3.1 deepseek.r1, deepseek.r1-thinking, deepseek.v3.1 no yes
Qwen3 235B A22B Qwen3-235B-A22B-Instruct-2507 yes no
Qwen3 480B A35B Coder Qwen3-480B-A35B-Coder no no
Qwen2.5 VL 72B Qwen2.5-VL-72B-Instruct no no
ZAI GLM 5 zai.glm-5 yes yes
Kimi K2 Thinking moonshotai.kimi-k2-thinking yes yes
Kimi K2.5 moonshotai.kimi-k2.5 yes yes
MiniMax M2 Thinking minimax.minimax-m2-thinking yes yes

Choosing a teacher without tool calling for a tool-calling task is a validation error, not a quality trade-off. Note the trap in the DeepSeek row: V3.2 qualifies and R1, R1 Thinking, and V3.1 do not.

What configuration constraints come with each family?

One that catches everyone: reasoning teachers require a temperature between 0.5 and 0.7. The GPT OSS, DeepSeek, GLM, Kimi, and MiniMax families are all reasoning models, so a synthgen.teacher_temperature outside that band raises a validation error in your config file.

base:
  task: multi-turn-tool-calling-closed-book
  student_model_name: Qwen3-1.7B
  teacher_model_name: zai.glm-5
synthgen:
  teacher_temperature: 0.6

The Qwen teachers are the exception — they are not reasoning models, so that band does not apply to them. Two more details. openai.gpt-oss-120b-thinking runs at medium reasoning effort by default; the gpt-oss-120b model card documents low, medium, and high as the three settings, trading latency against depth. And if you are training from production traces, note that trace_processing.teacher_model_name is a separate setting with its own default of zai.glm-5 — it picks the best relabelled answer from the committee, and leaving it unset while changing base.teacher_model_name gives you two different teachers in one run.

When should you move off the default?

More often than the word “default” suggests. openai.gpt-oss-120b is a documented default, not a measured winner. When we evaluated five teachers on the same held-out multi-turn tool-calling test set in the traces versus synthetic benchmark, the default came third:

Teacher LLM-as-a-judge Std
GLM-5 (744B total, 40B active) 0.835 0.006
Qwen3-235B 0.768 0.018
GPT-OSS-120B 0.765 0.020
MiniMax-M2 0.762 0.010
DeepSeek-3.2 0.744 0.014

That is one task on ~360 evaluation turn pairs, so read it as a strong prior rather than a universal ranking — but it is the reason recent distil labs work sets teacher_model_name: zai.glm-5. Beyond following current practice, three specific situations justify a change.

The teacher scores badly on your test set. Teacher evaluation is cheap and tells you this before you spend a training run. A different teacher is one of the fixes; the docs list sharpening the task description and improving example quality as the others, and those usually help more.

Your domain suits a specialist. Qwen3-235B-A22B-Instruct-2507 is a 235B mixture-of-experts with 22B active and a 262,144-token native context — useful when your source documents are long. Qwen3 480B Coder is code-oriented but cannot do tool calling. Qwen2.5 VL 72B is the vision-language option.

You need deeper reasoning traces for a hard task. Kimi K2 Thinking is a 1T-parameter mixture-of-experts with 32B active, trained end-to-end to interleave chain-of-thought with function calls. The thinking variants of GPT OSS serve the same purpose at smaller scale.

Does a bigger teacher make a better student?

Sometimes, and by less than the parameter gap implies. In the head-to-head above, the 744B GLM-5 led the 117B GPT-OSS-120B by 7 points — a real gap, worth taking, and far smaller than 6x the parameters would suggest.

What size does not buy is a ceiling the student cannot pass. Our LFM2.5 and FunctionGemma benchmarks both used GPT-OSS-120B, and the students matched it anyway: a 270M FunctionGemma reached 96.04% against the teacher’s 97.03% on shell commands, and LFM2.5 350M exceeded it at 98.0%. In the traces benchmark a fine-tuned Qwen3-1.7B beat all five teachers, GLM-5 included.

What actually limits the student is whether the teacher can do the task at all, and whether the generated data covers the input distribution. Both are dataset properties. Spend your effort there first — generating synthetic training data and fine-tuning with synthetic data cover that ground, and teacher-student distillation covers the mechanism the teacher is feeding.

Sources

Related

All Models articles →