🧠 microDAC
ℹ️ Informazioni sul modello
Descrizione:
microDAC è un modello linguistico compatto di tipo Decoder-only, con circa 40 milioni di parametri, progettato per la generazione di testo in italiano.
È un’evoluzione di PicoDAC, con maggiore profondità architetturale e un contesto più ampio, mantenendo leggerezza e velocità d’esecuzione.
Pensato per chatbot, agenti vocali e applicazioni embedded, è ottimizzato per risposte fluide, coerenti e naturali, con training supervisionato per evitare la ripetizione dei prompt.
⚙️ Caratteristiche tecniche
- Architettura: Transformer Decoder-only (GPT2-like)
- Parametri totali: ~40 milioni
- Vocabolario: 32.000 token
- Lunghezza massima del contesto: 2048 token
- Dimensione embedding: 512
- Numero di layer: 16
- Teste di attenzione: 8
- Feed-Forward (FFN): 2048 (GELU-new)
- Attivazione: GELU (new)
- Precisione: FP16 / BF16
- Gradient checkpointing: ✅ Attivo
🗣️ Tokenizer
- Tipo: Byte-Pair Encoding (BPE)
- Addestramento: da zero su
microDAC_dataset.jsonl - Token speciali:
<|user|>→ inizio turno utente<|assistant|>→ risposta del modello<|sep|>→ fine turno<|pad|>,<|bos|>,<|eos|>→ padding e delimitatori
Il tokenizer è salvato in tokenizer_microDAC/ e viene ricreato automaticamente se non presente.
🎯 Obiettivo di training
Il modello è addestrato per generare esclusivamente le risposte dell’assistente, mascherando i token dell’utente.
Schema di masking:
<|user|> ... <|sep|> → label = -100
<|assistant|> ... <|sep|> → label = token_id
🧩 Parametri di training
Parametro Valore
Epochs 2 Batch per device 8 Gradient accumulation 4 Learning rate 3e-4 Weight decay 0.01 Scheduler Cosine Warmup ratio 0.05 Max grad norm 1.0 Precision FP16 / BF16 Optimizer AdamW (torch) Checkpointing ogni 2000 step Resume automatico ✅ Save best model ✅
⚠️ Avvertenze e limitazioni
microDAC è un modello sperimentale, soggetto a miglioramenti futuri.
Le prestazioni su conversazioni complesse o troppo lunghe possono degradare.
Non adatto a contenuti sensibili o critici.
🚀 Uso previsto
Chatbot leggeri e assistenti in lingua italiana
Prototipi embedded o mobile
Fine-tuning personalizzati su dataset specifici
Nota: mantenere input sotto i 2 000 token per risultati ottimali.
🧰 Installazione
pip install transformers torch
🧪 Esempio di utilizzo in Python
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from_pretrained("Mattimax/microDAC")
model = AutoModelForCausalLM.from_pretrained("Mattimax/microDAC").to("cuda")
prompt = "<|user|> Ciao, come stai oggi?<|assistant|>"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=100, temperature=0.7)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
🔗 Integrazione consigliata
Applicazioni mobile o embedded: basso consumo e rapidità.
Sperimentazione NLP: ottimo punto di partenza per LoRA o adattamenti leggeri.
Dataset sintetici: utile per generare coppie domanda-risposta.
- Downloads last month
- 31
