Downloads · 30 days
25
18% of all-time downloads
antoniogr7/zagreus-0.4B-ita-elicit
zagreus-0.4B-ita-elicit is a text generation model from antoniogr7. Use it when you need the model to write or continue text. It is set up for transformers.
An elicitation fine-tune of mii-llm/zagreus-0.4B-ita for the ITALIC benchmark. It does not inject new knowledge (the model is only 0.4B); it surfaces the lexical/semantic knowledge the base model already holds and rou…
Downloads · 30 days
25
18% of all-time downloads
All-time downloads
138
Public
Parameters
438M
13.2 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors876 MB · 98%
From the Hugging Face model README
An elicitation fine-tune of mii-llm/zagreus-0.4B-ita
for the ITALIC benchmark. It does not inject new
knowledge (the model is only 0.4B); it surfaces the lexical/semantic knowledge the base model
already holds and routes it onto the answer-letter channel, while removing the base model's
heavy answer-letter bias. No ITALIC data is used for training — the benchmark is only read
to guard against leakage.
Net result: ITALIC 0.280 → 0.3126 (fast, zero-shot, greedy, n=10,000).
ITALIC, fast / zero-shot, greedy, n=10,000 (0 unparsed). Base = mii-llm/zagreus-0.4B-ita.
| base | this model | Δ | |
|---|---|---|---|
| overall | 0.280 | 0.3126 | +3.2 |
| language capability (macro) | 0.2705 | 0.3133 | +4.3 |
| culture and commonsense (macro) | 0.2868 | 0.3121 | +2.5 |
lexicon | 0.2584 | 0.3841 | +12.6 |
synonyms_and_antonyms | 0.2915 | 0.3275 | +3.6 |
The intended target (lexicon) moves the most. The culture categories rise modestly too — not
from injected facts but from repairing the shared letter-emission head; per-fact culture remains
a wall for a 0.4B, so those gains are small.
Full fine-tune with an elicitation objective, per rendered option ordering:
CE(gold) — commit probability mass to the correct answer letter (peaking anchor, the
primary driver).λ·KL(q ‖ p) — distill a PMI-cloze teacher computed over the option text (q) onto
the answer-letter logits (p), down-weighted (λ=0.3) to avoid flattening.Options are re-permuted every epoch so the model must bind meaning to the letter it lands on, not
to a position. Training data is a synthetic Italian lexical/semantic MCQ pool built from Italian
Wiktionary (kaikki.org): antoniogr7/italic-lexical-elicitation.
Trained and evaluated in bfloat16.
Serve/evaluate zero-shot. The model was trained and measured 0-shot; few-shot demos shift the emission distribution it was tuned for and regress the score. The ITALIC chat template is baked into the tokenizer.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
name = "antoniogr7/zagreus-0.4B-ita-elicit"
tok = AutoTokenizer.from_pretrained(name)
model = AutoModelForCausalLM.from_pretrained(name, dtype=torch.bfloat16).cuda().eval()
question = "Qual è il sinonimo di «celere»?"
options = {"A": "lento", "B": "rapido", "C": "grande", "D": "scuro"}
body = question + "\n\n" + "\n".join(f"{k}) {v}" for k, v in options.items()) + "\n\nRisposta:\n"
msgs = [{"role": "system", "content": "Sei un assistente utile."},
{"role": "user", "content": body}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt").cuda()
out = model.generate(ids, max_new_tokens=2, do_sample=False)
print(tok.decode(out[0, ids.shape[1]:], skip_special_tokens=True).strip()) # -> "B"
For faithful benchmark scoring use the official ITALIC harness (vLLM + run_eval.py, fast: true,
few_shot_file: null).
The model inherits the license of the base model mii-llm/zagreus-0.4B-ita. The training dataset
is derived from Italian Wiktionary via kaikki.org and released under CC BY-SA 4.0 (attribution:
Wiktionary contributors; extraction by wiktextract / kaikki.org).