🧠 microDAC

HuggingFace M.INC

Logo di 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
Safetensors
Model size
67.9M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including Mattimax/microDAC