Temper-2-Nodel

Temper 2 Nodel is the largest model of the Temper 2 line and the first built on Qwen3.5. It is meant for applied Rust tasks with traits, generics and threads, which the smaller Temper-2-Ion and Temper-2-Axon solve much less often, and it solves them better than any model up to 9B parameters we tested. Like them, it understands requests in Russian and English, including short casual ones.

Website: maylore.com/temper-2-nodel

Results

HumanEval-RS and MBPP-RS show pass@1 / pass@10, %. pass@1 is the percentage of tasks solved on the first attempt, pass@10 the percentage solved in at least one of 10 attempts.

model HumanEval-RS MBPP-RS Temper Bench v2 (greedy pass@1)
Qwen3.6-35B-A3B 89.2 / 95.3 78.1 / 83.3 63.3
Gemma 4 26B-A4B 86.8 / 90.6 75.0 / 78.3 74.7
Qwen3.5-9B 76.0 / 90.2 65.6 / 79.2 29.3
Temper-2-Nodel 73.2 / 82.6 64.8 / 71.1 37.3
Qwen2.5-Coder-7B-Instruct 72.4 / 82.6 60.5 / 70.0 26.0
Tessa-Rust-T1-7B 71.5 / 79.0 57.8 / 68.9 29.3
Qwen3.5-4B 66.2 / 81.4 57.7 / 73.4 20.7
Temper-2-Axon 64.2 / 73.8 54.7 / 61.7 21.3
Temper-2-Ion 48.1 / 57.6 45.5 / 53.8 12.7
Qwen2.5-Coder-1.5B-Instruct 39.0 / 56.1 38.3 / 52.1 7.3

Models are sorted by HumanEval-RS pass@1. Qwen3.6-35B-A3B and Gemma 4 26B-A4B are larger models given for reference. HumanEval-RS (156 tasks) and MBPP-RS (354 tasks) from MultiPL-E at revision 28441b6 go to the model as a chat message with answers up to 1000 tokens, temperature 0.2, top_p 0.95 and 50 answers per task. vLLM took the remaining sampling parameters, top_k and repetition_penalty among them, from the generation_config.json of each model. pass@k comes from the unbiased estimator in the Codex paper. Because the first closed code block of the answer is compiled with the tests, the numbers differ from leaderboards that score code completion. mbpp_67_bell_number has no correct answer in Rust and counts as failed for every model. Every model ran without a system message, using the default of its own chat template, with Qwen2.5-Coder models in their Instruct versions and Qwen3.5, Qwen3.6 and Gemma 4 models without thinking mode. All models were measured under the same conditions. The scripts are open in maylore-ai/rust-evals.

Temper Bench v2 is our own set of 150 Rust tasks at three difficulty levels, scored greedy pass@1.

Training

The model was fine-tuned from Qwen3.5-4B on the same Rust tasks and dialogs as Temper-2-Axon together with a set of hard tasks, then went through reinforcement learning on tasks with tests and a weight merge with the original model.

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

name = "maylore-ai/Temper-2-Nodel"
tokenizer = AutoTokenizer.from_pretrained(name)
model = AutoModelForCausalLM.from_pretrained(name, dtype="auto", device_map="auto")

messages = [{"role": "user", "content": "Write a Rust function that returns the n-th Fibonacci number."}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_dict=True, return_tensors="pt").to(model.device)
out = model.generate(**inputs, max_new_tokens=1000)
print(tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Without a system message the chat template adds the Temper system prompt. The template opens every assistant turn with an empty thinking block, so the model answers right away without reasoning. The default generation config samples with temperature 0.2 and top_p 0.95, the same settings as in the results above.

The recommended temperature is 0.2.

A GGUF version for llama.cpp, LM Studio and Ollama is in maylore-ai/Temper-2-Nodel-GGUF.

Limitations

Qwen3.5-9B solves 2.8 points more HumanEval-RS tasks on the first try. Nodel's answers became less varied after fine-tuning, and given ten attempts it trails the original Qwen3.5-4B on MBPP-RS (71.1 against 73.4). Asked how the code it has just written works, the model often fails to give a correct explanation, which we plan to fix in the next generations of Temper. Having been trained on chat requests without fill-in-the-middle, it does not work as a drop-in model for inline completion in an editor.

License

Apache 2.0, same as Qwen3.5-4B. Derivative works, including fine-tunes, merges and quantizations, must keep the attributions in NOTICE (Apache 2.0, section 4(d)).

Downloads last month
328
Safetensors
Model size
4B params
Tensor type
F32
·
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for maylore-ai/Temper-2-Nodel

Finetuned
Qwen/Qwen3.5-4B
Finetuned
(1,300)
this model
Quantizations
1 model

Paper for maylore-ai/Temper-2-Nodel