Downloads · 30 days
14
19% of all-time downloads
giux78/zagreus-competition-italic-sft-opd
zagreus-competition-italic-sft-opd is a text generation model from giux78. Use it when you need the model to write or continue text.
zagreus-0.4B-ita taken from raw base to ITALIC-competent in a single 10-hour-budget pipeline: SFT on OpenItalianData, then on-policy distillation from Coloss/nesso-3B. Built end-to-end with mii-llm/palingenesis (branc…
Downloads · 30 days
14
19% of all-time downloads
All-time downloads
75
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
zagreus-0.4B-ita taken from raw base to ITALIC-competent in a single 10-hour-budget pipeline: SFT on OpenItalianData, then on-policy distillation from Coloss/nesso-3B. Built end-to-end with mii-llm/palingenesis (branch odp).
Official ITALIC harness (run_eval.py, full 10,000 questions, 5-shot, fast protocol):
| Model | fast |
|---|---|
| mii-llm/zagreus-0.4B-ita + SFT only (stage 1) | 13.1%* |
| this model (stage 1 + stage 2 OPD) | 34.1% |
| mii-llm/nesso-0.4B-agentic (reference: heavily-trained sibling) | 33.1% |
| giux78/zagreus_0.4_competition (reference: nesso line + same OPD recipe) | 37.2% |
| Coloss/nesso-3B (teacher) | 50.7% |
* informal protocol (verbatim ITALIC prompts, 8-token cap). Use the fast protocol with this model: like most base-derived models it does not emit the Risposta: X phrasing the slow-mode extractor requires.
<|eot_id|>) — student and teacher become tokenizer-identical, so the distillation token bridge is the identity.Reproduction: giux78/zagreus_0.4_competition (scripts/run_pipeline_v5.sh, scripts/build_seed_student.py, configs/sft_openita.yaml, configs/distill_stage2.yaml).
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("giux78/zagreus-competition-italic-sft-opd")
model = AutoModelForCausalLM.from_pretrained("giux78/zagreus-competition-italic-sft-opd", 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))