Downloads · 30 days
14
6% of all-time downloads
giux78/zagreus_0.4_competition
zagreus_0.4_competition is a text generation model from giux78. Use it when you need the model to write or continue text.
nesso-0.4B-agentic improved on the ITALIC benchmark by on-policy distillation from Coloss/nesso-3B.
Downloads · 30 days
14
6% of all-time downloads
All-time downloads
253
Public
Parameters
438M
1.8 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors1.8 GB · 99%
From the Hugging Face model README
nesso-0.4B-agentic improved on the ITALIC benchmark by on-policy distillation from Coloss/nesso-3B.
Official ITALIC harness (run_eval.py, full 10,000 questions, 5-shot):
| Model | fast | slow (CoT) |
|---|---|---|
| mii-llm/nesso-0.4B-agentic (baseline) | 33.1% | 0.0%* |
| this model | 37.2% | 33.2% |
| Coloss/nesso-3B (teacher) | 50.7% | 2.5%* |
* baseline/teacher answer with a bare letter, which the official slow-mode extractor cannot parse; this model answers parseably in both modes.
On-policy distillation (tinker-cookbook recipe, reimplemented in mii-llm/palingenesis branch odp): every step the student samples completions with its current weights and the loss is the full-distribution reverse KL to the teacher over exactly those tokens. Student (ChatML) and teacher (Llama-3 template) share the Llama-3 base vocabulary; prompts are rendered per-model and the student's <|im_end|> mass is merged into the teacher's <|eot_id|> slot, so stopping behavior is distilled too.
The winning run (opd_v3, checkpoint step 550 of 600):
pgs distill-score — pure KL would distill the teacher's errors too)max_new_tokens 8 (terse supervision)Training/eval code: giux78/zagreus_0.4_competition (experiment) + mii-llm/palingenesis odp branch (library, pgs distill).
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("giux78/zagreus_0.4_competition")
model = AutoModelForCausalLM.from_pretrained("giux78/zagreus_0.4_competition", dtype="bfloat16")
messages = [
{"role": "system", "content": "Sei un assistente utile."},
{"role": "user", "content": "Rispondi alla seguente domanda a scelta multipla..."},
]
ids = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
out = model.generate(ids, max_new_tokens=8, do_sample=False)
print(tok.decode(out[0, ids.shape[1]:], skip_special_tokens=True))
For ITALIC-style evaluation use max_new_tokens=8 and greedy decoding (the model answers with the bare option letter).