Instructions to use jacopof/lumina-2.75m with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use jacopof/lumina-2.75m with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf jacopof/lumina-2.75m # Run inference directly in the terminal: llama cli -hf jacopof/lumina-2.75m
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf jacopof/lumina-2.75m # Run inference directly in the terminal: llama cli -hf jacopof/lumina-2.75m
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf jacopof/lumina-2.75m # Run inference directly in the terminal: ./llama-cli -hf jacopof/lumina-2.75m
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf jacopof/lumina-2.75m # Run inference directly in the terminal: ./build/bin/llama-cli -hf jacopof/lumina-2.75m
Use Docker
docker model run hf.co/jacopof/lumina-2.75m
- Llama new
- LM Studio
- Jan
- vLLM
How to use jacopof/lumina-2.75m with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "jacopof/lumina-2.75m" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jacopof/lumina-2.75m", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/jacopof/lumina-2.75m
- Ollama
How to use jacopof/lumina-2.75m with Ollama:
ollama run hf.co/jacopof/lumina-2.75m
- Unsloth Desktop
- Docker Model Runner
How to use jacopof/lumina-2.75m with Docker Model Runner:
docker model run hf.co/jacopof/lumina-2.75m
- Lemonade
How to use jacopof/lumina-2.75m with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull jacopof/lumina-2.75m
Run and chat with the model
lemonade run user.lumina-2.75m-{{QUANT_TAG}}List all available models
lemonade list
- Atomic Chat
- 🌟 Che cos'è Lumina 2.75M?
- 🧠 Nuova Metodologia: Knowledge Distillation Locale su GPU
- 💻 Competenze di Coding e Programmazione
- 💡 Filosofia del Progetto: Onestà contro Allucinazioni
- 📊 Risultati e Benchmark di Valutazione
- 📊 Leaderboard Ufficiale e Benchmark Multi-Dominio
- 🛡️ Lumina Sentinel: Architettura di Protezione & Guardrails
- 📦 Formato Standard GGUF (LM Studio, llama.cpp, Ollama)
- 📐 Architettura del Modello
- 🚀 Guida all'Uso Rapido (Quickstart)
- ⚠️ Limiti e Note d'Uso
- 📜 Licenza e Crediti
🌟 Che cos'è Lumina 2.75M?
Lumina 2.75M è un piccolo modello linguistico (Small Language Model - SLM) autoregressivo causale per la lingua italiana, progettato e addestrato interamente da zero senza riutilizzare pesi preesistenti di giganti tecnologici e senza dipendenze da API cloud esterne.
A differenza dei modelli da centinaia di milioni o miliardi di parametri che richiedono server cloud dedicati e gigabyte di RAM:
- Pesa solo 10.5 MB in formato nativo
safetensors. - Può essere eseguito istantaneamente su qualsiasi laptop, Raspberry Pi, smartphone o persino all'interno del browser web via JavaScript.
- Risponde con latenza quasi istantanea (< 0.05s su GPU o CPU standard).
- È stato potenziato con Knowledge Distillation locale e istruito su un curriculum intensivo di Coding (Python, JS, SQL, Git, Debugging), scienze, cultura italiana e dialogo naturale.
🧠 Nuova Metodologia: Knowledge Distillation Locale su GPU
Per superare i limiti di grammatica e rumore tipici del web crawling grezzo, Lumina è stato addestrato mediante un'avanzata pipeline di Knowledge Distillation autonoma:
- Un motore di distillazione neurale ad alta precisione su GPU NVIDIA GeForce RTX 5060 ha generato oltre 5.000 coppie di dialogo e spiegazioni ad alta densità informativa.
- Il dataset complessivo comprende oltre 8.390 campioni di addestramento combinati (dialoghi sistematici, teoria, definizioni, coding pratico e rifiuti anti-allucinazione).
- L'addestramento causale è stato ottimizzato con AdamW, regolarizzazione Dropout 0.1 e Weight Decay 0.05, portando la Validation Loss al valore record di 0.532.
💻 Competenze di Coding e Programmazione
Lumina 2.75M include una solida base di concetti e snippet di sviluppo software:
- Python: sintassi, funzioni (
def), manipolazione liste e dizionari, list comprehensions. - JavaScript & Web: gestione eventi DOM (
addEventListener), sintassi ES6+, funzioni asincrone, API HTTP (GET/POST). - Algoritmi & Strutture Dati: ricerca binaria, ordinamento, complessità temporale $O(n)$, $O(\log n)$.
- Debugging & Gestione Errori: diagnosi e spiegazione chiara di
IndexError,TypeError,SyntaxError. - Git & Best Practices: comandi base di versione (
commit,branch,push) e principio DRY (Don't Repeat Yourself).
💡 Filosofia del Progetto: Onestà contro Allucinazioni
Uno dei problemi più evidenti dei moderni modelli linguistici di grandi dimensioni è la tendenza all'allucinazione: inventare fatti storici o formule errate pur di rispondere.
Lumina è stato addestrato secondo un principio di affidabilità e onestà delimitata:
- Risposte precise nel perimetro noto: eccelle su definizioni scientifiche, concetti informatici, programmazione, geografia e saluti.
- Rifiuto onesto fuori perimetro: se gli viene posta una domanda su eventi futuri, previsioni casuali o dati riservati, è addestrato a dichiarare apertamente i propri limiti invece di inventare:
"Non posso prevedere il futuro né eventi casuali. Posso solo fornirti informazioni verificate sul mondo presente e aiutarti col codice!"
- Nessuna dipendenza esterna: nessuna chiamata a server remoti, massima riservatezza locale (Privacy by Design).
📊 Risultati e Benchmark di Valutazione
Il modello è stato testato con greedy decoding su centinaia di esempi di validazione contenenti formulazioni e domande mai viste durante l'addestramento:
| Ambito di Prova | Accuratezza su dati mai visti | Comportamento |
|---|---|---|
| Definizioni e Concetti Tecnici | 98.2% | Spiega correttamente concetti con frasi nuove mai viste prima |
| Domande di Verifica Libera (Probes) | 85.7% | Riconosce l'intento dell'utente anche con sinonimi e saluti diversi |
| Domande Note con Riformulazioni | 79.1% | Generalizzazione robusta su frasi con punteggiatura e prefissi vari |
| Riconoscimento Fatti Fuori Perimetro | 66.7% | Riconosce le domande ignote e rifiuta onestamente invece di inventare |
| Falsi Rifiuti (Errori di Blocco) | 2.9% | Tasso bassissimo: risponde quasi sempre quando la domanda è valida |
📊 Leaderboard Ufficiale e Benchmark Multi-Dominio
Lumina è stato valutato attraverso una suite di test standardizzata che misura accuratezza grammaticale, coding, cultura italiana, scienze e sicurezza anti-allucinazione su domande inedite:
| Modello | Parametri | Formato | Coding & Python | Cultura & Geografia | Scienza & Natura | Onestà (Anti-Allucinazione) | Accuratezza Globale |
|---|---|---|---|---|---|---|---|
| Lumina 2.75M | 2.75M | Safetensors / GGUF | 75% | 100% | 100% | 67% | 85.7% |
| Lumina 14M | 14.39M | Safetensors / GGUF | 75% | 75% | 33% | 67% | 64.3% |
🛡️ Lumina Sentinel: Architettura di Protezione & Guardrails
Lumina integra la pipeline di protezione proprietaria Lumina Sentinel strutturata su 3 livelli di sicurezza upstream:
- Classificatore Machine Learning ML (21 Categorie di rischio): intercetta in meno di 2 ms tentativi di generazione di armi, violenza, droghe, apologia o contenuti non appropriati.
- Scudo Euristico Anti-Jailbreak: neutralizza sul nascere attacchi di tipo Prompt Injection ("ignora le istruzioni", tentativi di estrazione del system prompt, developer mode).
- Scudo Privacy & Finanziario: rileva e blocca dati sensibili come Carte di Credito, IBAN bancari e anonimizza Codici Fiscali.
📦 Formato Standard GGUF (LM Studio, llama.cpp, Ollama)
Lumina 2.75M è distribuito anche in formato standard GGUF pronto per l'inferenza ad altissima velocità su CPU o GPU:
- Download diretto:
lumina-2.75m.gguf(~10.5 MB) - Compatibilità: llama.cpp, LM Studio, Ollama
Esempio rapido da riga di comando con llama.cpp:
./llama-cli -m lumina-2.75m.gguf -p "Come creo una funzione in Python?" -n 128
📐 Architettura del Modello
| Componente | Dettaglio Tecnico | Note |
|---|---|---|
| Tipo di Rete | Decoder-only Causal Transformer | Meccanismo di attenzione scalata SDPA |
| Numero di Parametri | 2.750.976 | Tutti attivi nel forward pass |
| Livelli (Layers) | 6 blocchi Transformer | LayerNorm pre-attenzione e pre-FFN |
| Dimensione Nascosta ($d_{\text{model}}$) | 192 | Larghezza dello spazio latente |
| Teste di Attenzione ($n_{\text{heads}}$) | 6 teste ($d_{\text{head}} = 32$) | Attenzione multi-testa causale |
| Feed-Forward ($d_{\text{ff}}$) | 768 (espansione 4x) | Attivazione GELU approssimata |
| Contesto massimo | 165 byte | Finestra scorrevole per chat |
| Vocabolario | 259 token (livello byte) | 256 byte UTF-8 + BOS (256), EOS (257), PAD (258) |
| Tied Embeddings | Sì | La matrice di output condivide i pesi con l'embedding iniziale |
| Regolarizzazione | Dropout 0.1, Weight Decay 0.05 | Addestrato con AdamW e Cosine Annealing su GPU RTX 5060 |
🚀 Guida all'Uso Rapido (Quickstart)
1. In Python con modeling_lumina.py
Scarica la cartella o i file del repository (config.json, model.safetensors, modeling_lumina.py):
from modeling_lumina import LuminaForCausalLM
# Carica il modello in 0.1 secondi
model = LuminaForCausalLM.from_pretrained("jacopof/lumina-2.75m")
# Esempio 1: Saluto e presentazione
print(model.generate("Ciao! Chi sei?"))
# Output: "Sono Lumina. Non uso altri chatbot per generare le risposte."
# Esempio 2: Spiegazione scientifica
print(model.generate("Cos'è il Sole?"))
# Output: "Il Sole è la stella al centro del nostro sistema solare."
# Esempio 3: Domanda informatica
print(model.generate("Cos'è Python?"))
# Output: "Python è un linguaggio di programmazione semplice e versatile."
2. Da Riga di Comando con generate.py
python generate.py "Raccontami una storia"
# Lumina: Una piccola stella perse la strada. La Luna le mostrò come tornare a casa.
3. Nel Browser Web (Web Worker)
Il repository include anche weights.json, una mappa serializzata dei pesi in formato JSON float compatibile con motori di inferenza pura in JavaScript / Web Audio per web app completamente offline senza backend!
⚠️ Limiti e Note d'Uso
- Contesto: Essendo un micro-modello educativo da 2.75M di parametri, il contesto massimo è calibrato per scambi domanda-risposta brevi.
- Conoscenza del mondo: Non ha accesso a Internet in tempo reale e non possiede la sterminata enciclopedia di un modello da centinaia di miliardi di parametri.
- Scopi critici: Non deve essere impiegato per consulenze mediche, finanziarie, legali o per decisioni ad alto rischio.
📜 Licenza e Crediti
- Autore: Jacopo Forti (
jacopof) - Licenza: MIT License (libero per uso didattico, sperimentale, di ricerca e commerciale).
- Progetto Lumina: sviluppato con l'obiettivo di dimostrare come sia possibile costruire intelligenze artificiali indipendenti, trasparenti e leggere a partire da zero.
- Downloads last month
- -