AtmosRegime-Qwen3-8B-Distill

Qwen3-8B trained by on-policy distillation from a teacher given the correct formula, from the paper Language models misapply atmospheric formulas until trained on a few worked examples. In the paper, this route raises outside-regime accuracy from 0% to 71% on mechanisms the base model never solved but did solve once told the formula.

Code and data: https://github.com/acodercat/AtmosRegime. The other models from the paper are in the AtmosRegime collection.

Training

  • Student: Qwen3-8B, thinking off.
  • Teacher: a frozen copy of Qwen3-8B whose prompt also contains the correct formula. The student never sees the formula; on its own samples it is pulled towards the teacher's token distribution (forward KL over the teacher's 32 most probable tokens), alongside the answer reward.
  • Settings: verl, learning rate 1e-6, 128 problems ร— 8 samples per step, 120 steps, no dynamic sampling.
  • Data: training fold 1 of the study's templates (29 of the 70 mechanisms); seed 42.

Use

The model was trained on one prompt format and should be given the same one. It answers with a Python program that defines solve(). Run it with thinking disabled.

# git clone https://github.com/acodercat/AtmosRegime && cd AtmosRegime   (for the prompt)
from transformers import AutoModelForCausalLM, AutoTokenizer
from atmoscoder_rl.prompts import chat

name = "codercat/AtmosRegime-Qwen3-8B-Distill"
tok = AutoTokenizer.from_pretrained(name)
model = AutoModelForCausalLM.from_pretrained(name, torch_dtype="auto", device_map="auto")

problem = "Atmospheric CO2 rises from 280 ppm to 560 ppm. Calculate the radiative forcing in W m-2."
text = tok.apply_chat_template(chat(problem), tokenize=False, add_generation_prompt=True, enable_thinking=False)
inputs = tok(text, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=3072, do_sample=True, temperature=0.3)
print(tok.decode(out[0][inputs.input_ids.shape[1]:], skip_special_tokens=True))

Execution and grading of the returned program are in atmoscoder_rl/evaluation/ of the repository.

Limitations

  • This checkpoint is one fold and one seed. Numbers in the paper average both folds and two seeds, so this model alone will not reproduce them exactly.
  • Distillation helped only where the teacher could solve the problem once told the formula.
  • It is not a general-purpose assistant for atmospheric science.

Citation

@unpublished{ran2026regime,
  title  = {Language models misapply atmospheric formulas until trained on a few worked examples},
  author = {Ran, Maohao and Zhang, Yanting and Ma, Chendong and Song, Jun},
  year   = {2026},
  note   = {Manuscript under review}
}

Licence

Apache 2.0, as for the base model Qwen3-8B.

Downloads last month
-
Safetensors
Model size
8B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for codercat/AtmosRegime-Qwen3-8B-Distill

Finetuned
Qwen/Qwen3-8B
Finetuned
(2,321)
this model
Quantizations
1 model

Collection including codercat/AtmosRegime-Qwen3-8B-Distill