|
|
--- |
|
|
license: mit |
|
|
datasets: |
|
|
- Mattimax/TinyChat-ITA |
|
|
language: |
|
|
- it |
|
|
library_name: transformers.js |
|
|
tags: |
|
|
- DAC |
|
|
- M.INC. |
|
|
- conversational |
|
|
--- |
|
|
|
|
|
# 🇮🇹 MINC01/ITA-Mini-60M |
|
|
|
|
|
**MINC01/ITA-Mini-60M** è un modello linguistico causale da circa **60 milioni di parametri**, ottimizzato per la **conversazione in lingua italiana**. |
|
|
Il modello è stato addestrato su un dataset proprietario di dialoghi istruzione-risposta, con l’obiettivo di offrire buone capacità conversazionali in un formato leggero e facilmente distribuibile. |
|
|
|
|
|
--- |
|
|
|
|
|
## 📌 Panoramica |
|
|
|
|
|
- Modello: Decoder-only (stile LLaMA) |
|
|
- Parametri: ~60M |
|
|
- Lingua principale: Italiano |
|
|
- Task principale: Chat / Istruzioni / Generazione testo |
|
|
- Contesto massimo: 512 token |
|
|
- Addestramento: Supervised Fine-Tuning (SFT) |
|
|
|
|
|
--- |
|
|
|
|
|
## 🎯 Use Cases Previsti |
|
|
|
|
|
- Chatbot in lingua italiana |
|
|
- Assistenti locali / embedded |
|
|
- Prototipi di agenti conversazionali |
|
|
- Dataset labeling / data augmentation |
|
|
- Esperimenti di ricerca su modelli piccoli |
|
|
|
|
|
Non è progettato per: |
|
|
|
|
|
- Ragionamento complesso multi-step |
|
|
- Applicazioni mission-critical |
|
|
- Produzione di contenuti ad alta affidabilità |
|
|
|
|
|
--- |
|
|
|
|
|
## 🧠 Architettura |
|
|
|
|
|
- Transformer decoder-only |
|
|
- Causal Language Model |
|
|
- Embedding e blocchi compatibili con ecosistema LLaMA |
|
|
- Addestramento con masking delle parti prompt (solo risposta contribuisce alla loss) |
|
|
|
|
|
--- |
|
|
|
|
|
## 📚 Dataset |
|
|
|
|
|
- Proprietario |
|
|
- ~30.000 esempi |
|
|
- Struttura: coppie **input → response** |
|
|
- Dominio: conversazionale generale |
|
|
- Lingua: italiano |
|
|
|
|
|
### Pulizia applicata |
|
|
|
|
|
- Rimozione esempi vuoti |
|
|
- Parsing JSON validato |
|
|
- Scarto sequenze sopra la lunghezza massima |
|
|
|
|
|
--- |
|
|
|
|
|
## 🏗️ Template Conversazionale |
|
|
|
|
|
``` |
|
|
|
|
|
<|user|> |
|
|
{testo_utente} |
|
|
<|assistant|> |
|
|
{risposta_modello}</s> |
|
|
|
|
|
```` |
|
|
|
|
|
Il modello è sensibile a questo formato. |
|
|
|
|
|
--- |
|
|
|
|
|
## ⚙️ Procedura di Training (Sintesi) |
|
|
|
|
|
- Fine-tuning supervisionato |
|
|
- Mixed Precision (AMP) |
|
|
- Gradient Accumulation |
|
|
- Gradient Checkpointing |
|
|
- AdamW optimizer |
|
|
- Cosine learning rate schedule con warmup |
|
|
|
|
|
### Parametri principali |
|
|
|
|
|
| Parametro | Valore | |
|
|
|----------|-------| |
|
|
| Batch size | 8 | |
|
|
| Gradient accumulation | 4 | |
|
|
| Learning rate | 2e-5 | |
|
|
| Epochs | 2 | |
|
|
| Weight decay | 0.05 | |
|
|
| Warmup ratio | 0.1 | |
|
|
| Max grad norm | 1.0 | |
|
|
| Validation split | 5% | |
|
|
|
|
|
--- |
|
|
|
|
|
## 📈 Valutazione |
|
|
|
|
|
- Metica: Cross-Entropy Loss su validation set |
|
|
- Non sono stati eseguiti benchmark standard (es. MMLU, HELM, etc.) |
|
|
|
|
|
Il modello è stato validato esclusivamente tramite loss e test qualitativi manuali. |
|
|
|
|
|
--- |
|
|
|
|
|
## 🧪 Limitazioni Note |
|
|
|
|
|
- Possibili allucinazioni |
|
|
- Conoscenza limitata |
|
|
- Sensibile al prompt |
|
|
- Ragionamento debole |
|
|
- Possibili bias presenti nel dataset proprietario |
|
|
|
|
|
--- |
|
|
|
|
|
## ⚠️ Considerazioni Etiche |
|
|
|
|
|
Il modello: |
|
|
|
|
|
- Può generare informazioni errate |
|
|
- Non deve essere usato come fonte autorevole |
|
|
- Non ha filtri di sicurezza avanzati |
|
|
|
|
|
Responsabilità d’uso interamente a carico dell’utente. |
|
|
|
|
|
--- |
|
|
|
|
|
## 🚀 Come Usare |
|
|
|
|
|
```python |
|
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
|
|
|
|
tok = AutoTokenizer.from_pretrained("MINC01/ITA-Mini-60M") |
|
|
model = AutoModelForCausalLM.from_pretrained("MINC01/ITA-Mini-60M") |
|
|
|
|
|
prompt = "<|user|>\nScrivi una poesia sul mare.\n<|assistant|>\n" |
|
|
inputs = tok(prompt, return_tensors="pt") |
|
|
|
|
|
out = model.generate(**inputs, max_new_tokens=200) |
|
|
print(tok.decode(out[0], skip_special_tokens=True)) |
|
|
```` |
|
|
|
|
|
--- |
|
|
|
|
|
## 🔁 Prompting Tips |
|
|
|
|
|
* Usare sempre il template |
|
|
* Istruzioni brevi e chiare |
|
|
* Una richiesta per volta |
|
|
* Evitare contesti troppo lunghi |
|
|
|
|
|
--- |
|
|
|
|
|
## 👤 Autore |
|
|
|
|
|
MINC01 |
|
|
|
|
|
--- |
|
|
|
|
|
## 📌 Citazione |
|
|
|
|
|
``` |
|
|
@misc{minc01_ita_mini_60m, |
|
|
title = {MINC01/ITA-Mini-60M}, |
|
|
author = {MINC01}, |
|
|
year = {2026}, |
|
|
publisher = {HuggingFace} |
|
|
} |
|
|
``` |