File size: 4,039 Bytes
4fb271b 89da6a3 8df4a9e 4fb271b 8df4a9e 4fb271b 994a648 89da6a3 4fb271b 209a60b 89da6a3 4fb271b 89da6a3 4fb271b 89da6a3 4fb271b 89da6a3 4fb271b 89da6a3 4fb271b 89da6a3 4fb271b 89da6a3 4fb271b 89da6a3 4fb271b 89da6a3 4fb271b 89da6a3 01dc5a1 89da6a3 01dc5a1 89da6a3 4fb271b 89da6a3 4fb271b 89da6a3 01dc5a1 4fb271b 89da6a3 01dc5a1 4fb271b 994a648 4fb271b 994a648 4fb271b 994a648 4fb271b 01dc5a1 4fb271b b8b5e77 4fb271b b8b5e77 4fb271b 01dc5a1 4fb271b 8d19de3 4fb271b 8d19de3 89da6a3 01dc5a1 4fb271b 994a648 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
---
license: gpl-3.0
language:
- it
library_name: transformers
tags:
- DAC
- data-ai
- DATA-AI
- transformer
- experimental
---
# 🧠 microDAC
[](https://huggingface.co/Mattimax)
[](https://huggingface.co/MINC01)

---
## ℹ️ Informazioni sul modello
- **Autore:** [Mattimax](https://huggingface.co/Mattimax)
- **Organizzazione:** [M.INC](https://huggingface.co/MINC01)
- **Pagina GitHub:** [microDAC](https://github.com/M-INC-01/microDAC)
- **Licenza:** GPL-3.0
**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:**
```text
<|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
```bash
pip install transformers torch
```
---
## 🧪 Esempio di utilizzo in Python
```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. |