File size: 5,597 Bytes
1819eba
 
 
 
 
 
 
 
20b65f1
 
 
 
 
d9eff88
60754b7
 
79e7930
 
 
9ddb8b0
79e7930
9c91538
60754b7
 
 
 
 
 
 
 
 
b2c1b50
60754b7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a9ba1b8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f4f04df
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: mit
datasets:
- e-palmisano/italian_dataset_mix
language:
- it
base_model:
- GroNLP/gpt2-small-italian
library_name: transformers
tags:
- DAC
- DATA-AI
- data-ai
new_version: Mattimax/DACMini-IT
---

[![HuggingFace](https://img.shields.io/badge/HuggingFace-Mattimax-brightgreen)](https://huggingface.co/Mattimax)
[![M.INC](https://img.shields.io/badge/M.INC-Labs-blue)](https://huggingface.co/MINC01)

![Logo di microDAC](https://huggingface.co/Mattimax/DACMini/resolve/main/DACMini_Logo/DACMini_Logo.png)

# Mattimax/DACMini

- **Autore:** [Mattimax](https://huggingface.co/Mattimax)  
- **Organizzazione:** [M.INC](https://huggingface.co/MINC01)  
- **Licenza:** MIT  

---

## Descrizione

**DACMini** è un modello di linguaggio compatto progettato per chat in lingua italiana.  
Basato su una architettura **Transformer** derivata da *GroNLP/gpt2-small-italian*, è ottimizzato per essere rapido, leggero e facilmente distribuibile su dispositivi a risorse limitate.  

Fa parte della collezione [**Little_DAC (DATA-AI Chat)**](https://huggingface.co/collections/Mattimax/little-dac-collection-68e11d19a5949d08e672b312), ed è **l’ultimo e più grande modello** della serie, pensato per offrire un compromesso ideale tra efficienza e qualità linguistica.  

> Questo modello è un **esperimento** e rimane in fase di sviluppo: le prestazioni possono risultare inferiori rispetto a modelli di dimensioni maggiori, ma è ottimizzato per velocità e compattezza.

---

## Dataset di addestramento

Il modello è stato addestrato su un mix di dataset italiani provenienti da [e-palmisano/italian_dataset_mix](https://huggingface.co/datasets/e-palmisano/italian_dataset_mix), composto da coppie *user-assistant* strutturate in formato conversazionale.  
L’obiettivo è stato l’apprendimento di turni di dialogo naturali e coerenti in italiano.

---

## Obiettivo

Allenare un modello linguistico leggero e performante per **chatbot in lingua italiana**, con particolare attenzione a:
- riduzione della latenza di generazione;
- supporto per prompt in formato *chat* (`<|user|>`, `<|assistant|>`);
- mantenimento di risposte naturali e grammaticalmente corrette in contesti brevi.

---

## Caratteristiche tecniche

* **Architettura:** GPT-2 Small (italian adaptation)  
* **Dimensione del vocabolario:** ~50.000 token  
* **Lunghezza massima del contesto:** 512 token  
* **Numero di strati (layers):** 12  
* **Numero di teste di attenzione:** 12  
* **Dimensione embedding:** 768  
* **Quantizzazione:** supportata (8-bit / 4-bit opzionale con `bitsandbytes`)

---

## Avvertenze e limitazioni

* Modello **sperimentale**: può produrre errori logici o risposte non pertinenti.  
* Non addestrato per temi sensibili o contenuti specialistici.  
* Prestazioni limitate su testi lunghi o conversazioni multi-turno.  
* Non progettato per usi commerciali senza ulteriore validazione.

---

## Uso previsto

* Chatbot sperimentali in lingua italiana.  
* Applicazioni leggere o offline dove la dimensione del modello è critica.  
* Test e prototipazione di pipeline NLP o dataset sintetici.  

> **Consigliato:** input brevi, contesti semplici e prompt formattati correttamente.

---

## Esempio d’uso (Inferenza)

```python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

# Carica modello e tokenizer
model_name = "Mattimax/DACMini"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
model.eval()

def chat_inference(prompt, max_new_tokens=150, temperature=0.7, top_p=0.9):
    formatted_prompt = f"<|user|> {prompt.strip()} <|assistant|>"
    inputs = tokenizer(formatted_prompt, return_tensors="pt")
    with torch.no_grad():
        output = model.generate(
            **inputs,
            max_new_tokens=max_new_tokens,
            temperature=temperature,
            top_p=top_p,
            do_sample=True,
            pad_token_id=tokenizer.pad_token_id or tokenizer.eos_token_id
        )
    generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
    response = generated_text.split("<|assistant|>")[-1].strip()
    return response

# Esempio interattivo
if __name__ == "__main__":
    while True:
        user_input = input("👤 Utente: ")
        if user_input.lower() in ["exit", "quit"]:
            break
        print("🤖 Assistant:", chat_inference(user_input), "\n")
````

---

## Integrazione consigliata

* **Applicazioni mobile o embedded** → basso consumo di RAM e CPU.
* **Sperimentazione NLP** → utile per test di prompt, fine-tuning mirato o creazione di dati sintetici.
* **Pipeline leggere di dialogo** → compatibile con `transformers` e `bitsandbytes` per quantizzazione.

---

## Riferimenti

* Dataset: [italian-dataset-mini](https://huggingface.co/datasets/ruslanmv/italian-dataset-mini)
* Autore: [Mattimax](https://huggingface.co/Mattimax)
* Organizzazione: [M.INC](https://huggingface.co/MINC01)
* Collezione: [Little_DAC Collection](https://huggingface.co/collections/Mattimax/little-dac-collection-68e11d19a5949d08e672b312)

## Citazione

Se utilizzi **Mattimax/DACMini** in un progetto, un articolo o qualsiasi lavoro, ti chiediamo gentilmente di citarlo usando il file `CITATION.bib` incluso nel repository:

```bibtex
@misc{mattimax2025dacmini,
    title = {{Mattimax/DACMini}: Un modello di linguaggio open source},
    author = {Mattimax},
    howpublished = {\url{https://huggingface.co/Mattimax/DACMini}},
    year = {2025},
    note = {License: MIT. Se usi questo modello, per favore citane la fonte originale.}
}
```