๐Ÿ‡ฎ๐Ÿ‡น Emma-3 (GGUF)

Premessa

Questo repository contiene una conversione non ufficiale in formato GGUF di Emma-3, realizzata con llama.cpp.

Il modello originale Emma-3 รจ stato sviluppato da Egomnia S.p.A.. Questo repository non รจ affiliato a Egomnia S.p.A. e non modifica l'autorialitร  del modello originale.

Provenienza dei pesi

Questi non sono i file originali pubblicati da Egomnia: un repository ufficiale egomnia/emma-3 non รจ disponibile pubblicamente su Hugging Face. I pesi sono stati recuperati da sasitsar/emma-3, un reupload/archivio pubblico del checkpoint ONNX, e da lรฌ convertiti in GGUF.

Per questo motivo i metadata di questo repository indicano sasitsar/emma-3 come modello base. L'autorialitร  e i diritti sul modello restano attribuiti a Egomnia S.p.A. secondo la licenza e il model card originali.

File disponibili

Il file emma-3-F32.gguf รจ la conversione GGUF in F32 del modello originale. Le altre varianti sono state ricavate da questo file con llama-quantize, usando i tipi di quantizzazione supportati da llama.cpp.

Sono disponibili:

  • emma-3-F32.gguf
  • emma-3-F16.gguf
  • emma-3-BF16.gguf
  • emma-3-Q8_0.gguf
  • emma-3-Q6_K.gguf
  • emma-3-Q5_K_M.gguf
  • emma-3-Q5_K_S.gguf
  • emma-3-Q5_1.gguf
  • emma-3-Q5_0.gguf
  • emma-3-Q4_K_M.gguf
  • emma-3-Q4_K_S.gguf
  • emma-3-Q4_1.gguf
  • emma-3-Q4_0.gguf
  • emma-3-IQ4_NL.gguf
  • emma-3-IQ4_XS.gguf
  • emma-3-Q3_K_L.gguf
  • emma-3-Q3_K_M.gguf
  • emma-3-Q3_K_S.gguf
  • emma-3-IQ3_M.gguf
  • emma-3-IQ3_S.gguf
  • emma-3-Q2_K.gguf
  • emma-3-TQ2_0.gguf
  • emma-3-TQ1_0.gguf
  • emma-3-Q1_0.gguf
  • emma-3-MXFP4_MOE.gguf

Le quantizzazioni sono state generate a partire da emma-3-F32.gguf e sono riproducibili localmente con llama.cpp. Il file emma-3-F32.gguf รจ inoltre stato verificato rispetto al checkpoint ONNX originale: i tensori coincidono bit-per-bit (a meno della trasposizione e della permutazione RoPE) e la generazione greedy risulta identica a quella del runtime ONNX.

Esecuzione con llama.cpp

Chat interattiva

llama-cli -m emma-3-F32.gguf --jinja -ngl 99 -c 2048 -cnv

Prompt diretto

llama-cli -m emma-3-F32.gguf --jinja -ngl 99 -c 2048 -st -p "Qual รจ la capitale d'Italia?"

--jinja applica il chat template incorporato nel GGUF. -ngl 99 carica i layer in GPU, se disponibile; omettilo per usare solo la CPU. -c 2048 imposta la context length massima del modello.

Adattamenti rispetto al checkpoint ONNX

Per l'architettura llama di llama.cpp sono stati applicati due adattamenti:

  • RoPE: le proiezioni Q e K sono permutate dal layout half-split (GPT-NeoX) al layout interleaved (GPT-J), come per i modelli LLaMA.
  • Chat template: il formato di istruzione Alpaca italiano usato nell'SFT รจ incorporato nel file (tokenizer.chat_template).

Formato del prompt

### Istruzione: <richiesta> ### Risposta:

Con --jinja il formato viene applicato automaticamente. Per il completamento grezzo, usa lo stesso formato su una sola riga.

Parametri di campionamento

I repository ufficiali non specificano parametri di campionamento per l'inferenza, e nemmeno il checkpoint ONNX li contiene: un modello ONNX espone soltanto i logit, mentre temperature, top-p e top-k vengono applicati a valle dal codice di inferenza, non dal modello stesso. I valori seguenti sono quindi valori di riferimento generici, non prescritti da Egomnia, scelti per un compromesso ragionevole tra coerenza e varietร  dell'output, e possono essere adattati liberamente al caso d'uso:

  • temperature: 0.7
  • top-p: 0.9
  • top-k: 40

I default di llama.cpp sono diversi, quindi per usare questi valori conviene impostarli manualmente, incluso --min-p 0.

Il --repeat-penalty non va invece impostato: llama.cpp lo lascia giร  a 1.0, cioรจ nessuna penalitร  di ripetizione, coerentemente con un percorso di inferenza ONNX che non applica alcuna penalitร .

llama-cli -m emma-3-F32.gguf --jinja -c 2048 -ngl 99 -cnv \
  --temp 0.7 --top-k 40 --top-p 0.9 --min-p 0

Server OpenAI-compatibile:

llama-server -m emma-3-F32.gguf --jinja -c 2048 -ngl 99 \
  --temp 0.7 --top-k 40 --top-p 0.9 --min-p 0

Per un output deterministico e riproducibile usa --temp 0 (greedy).

Nota sul tokenizer

Il tokenizer SentencePiece originale normalizza i ritorni a capo (nmt_nfkc, remove_extra_whitespaces), mentre il tokenizer di llama.cpp non lo fa nello stesso modo. Per evitare differenze nella tokenizzazione usa --jinja, oppure, nei prompt grezzi, spazi singoli al posto dei caratteri di a capo.

Nota sul multi-turno

Emma-3 รจ stato addestrato (SFT) principalmente su singoli turni istruzione/risposta. รˆ quindi piรน affidabile a turno singolo. In conversazioni a piรน turni la qualitร  puรฒ calare e l'output dipende da come viene ricostruita la cronologia del contesto.

Per risultati piรน fedeli conviene inviare una istruzione completa per ogni richiesta.


Informazioni sul modello originale

Le informazioni seguenti derivano dal model card originale di Emma-3 (Egomnia S.p.A.), recuperato da sasitsar/emma-3. รˆ stato rimosso unicamente l'esempio di esecuzione con ONNX Runtime; il resto รจ lasciato invariato.

Overview

Questo modello รจ un Large Language Model sperimentale decoder-only ottimizzato per lingua italiana, progettato da Egomnia S.p.A. per scenari a bassa latenza e utilizzo su hardware consumer.

๐Ÿ‘‰ Sito ufficiale: https://emma.egomnia.com

รˆ un modello ultra-leggero (125,3 milioni di parametri) pensato per:

  • inferenza rapida
  • basso consumo computazionale
  • utilizzo locale (laptop / edge devices)
  • task NLP generalisti

Non รจ progettato per ragionamento complesso o uso critico ad alta affidabilitร .

Architettura

  • Tipo: GPT decoder-only
  • Transformer blocks: 16
  • Hidden size: 768
  • Attention heads: 12 query + 4 KV (GQA 3:1)
  • Head dimension: 64
  • Feed-forward dimension: 2.048 (SwiGLU, ff_mult 8/3)
  • Activation function: SwiGLU
  • Normalization: RMSNorm
  • Positional encoding: RoPE (theta 10.000)
  • Dropout: 0.0
  • Embeddings: tied (token embedding = lm_head)

Contesto e vocabolario

  • Context length: 2.048 token
  • Vocabulary size: 32.000 token
  • Tokenizer: SentencePiece BPE con byte fallback

Dataset di training

Distribuzione del dataset utilizzato:

  • Generalista: 39,97%
  • Enciclopedico: 35,22%
  • Codice: 17,15%
  • Colloquiale: 3,91%
  • Politico: 2,96%
  • Libri: 0,79%

Alignment

  • Supervised Fine-Tuning (SFT)
  • Direct Preference Optimization (DPO): disabilitato

Export e ottimizzazione

  • Framework originale: PyTorch
  • Export: ONNX
  • Opset: 18
  • Quantizzazione: INT8
  • Peso modello ONNX: 601,6 MB

Uso consigliato

Questo modello รจ ottimizzato per:

  • autocompletamento semplice
  • NLP italiano generalista
  • sistemi a bassa latenza

Uso non consigliato

  • ragionamento multi-step complesso
  • applicazioni mediche, legali o finanziarie
  • sistemi ad alta affidabilitร  o safety-critical
  • analisi avanzate

Focus prestazionale

Il modello รจ ottimizzato per:

  • latenza minima
  • inference su CPU
  • footprint ridotto
  • risposta rapida piรน che profonditร  logica

Limitazioni

  • capacitร  di ragionamento limitata (modello piccolo)
  • possibile generazione di contenuti imprecisi
  • sensibilitร  a prompt complessi o ambigui
  • contesto limitato a 2.048 token

Licenza

Distribuito sotto licenza OpenRAIL-M, con eventuali vincoli derivati dalle licenze dei dataset utilizzati. Questa licenza consente lโ€™uso, la modifica e la distribuzione del modello anche in ambito commerciale, imponendo tuttavia restrizioni sullโ€™utilizzo in scenari potenzialmente dannosi, illegali o non etici, secondo i principi di Responsible AI e nel rispetto delle eventuali restrizioni derivanti dalle licenze dei dataset utilizzati. Si richiede esprezzamente di citare Egomnia S.p.A. come autore del modello in caso di utilizzo di quest'ultimo per prodotti, servizi, pubblicazioni o documentazione tecnica.

Autore

Egomnia S.p.A.

Sito ufficiale

https://emma.egomnia.com

Manifesto di Emma โ€” LLM italiano per la sovranitร  tecnologica

Per la sovranitร  tecnologica italiana

Noi crediamo che lโ€™intelligenza artificiale non sia soltanto una tecnologia, ma unโ€™infrastruttura critica per il futuro economico, culturale e democratico di una nazione.

Per troppo tempo, i modelli linguistici che plasmano informazione, lavoro e conoscenza sono stati sviluppati altrove, secondo logiche, valori e prioritร  non sempre allineate con il contesto italiano ed europeo.

I nostri modelli nascono per cambiare questo paradigma. Non รจ solo il lancio di un nuovo modello, ma una presa di posizione chiara: rilanciare un ecosistema italiano dellโ€™intelligenza artificiale, capace di essere autonomo, competitivo e coerente con le esigenze del nostro Paese.

La famiglia dei LLM "Emma" รจ anche il risultato di un lavoro costruito nel tempo. Il modello รจ stato addestrato utilizzando, in parte, dataset proprietari realizzati e custoditi per anni, mai ceduti a terzi. Un patrimonio informativo unico, che siamo convinti possa diventare nel tempo il nostro vero elemento distintivo rispetto ai grandi attori globali.

Oggi non abbiamo la presunzione di competere con i nomi che guidano il settore: Emma rappresenta un primo passo, concreto ma ancora iniziale, all'interno di un percorso di crescita e innovazione che intendiamo sviluppare negli anni a venire.

Questa non รจ solo innovazione tecnologica. รˆ una scelta di indipendenza. รˆ una visione industriale.

รˆ il nostro contributo.

Dedicato a mia figlia, Emma.

Matteo Achilli
Fondatore di Egomnia

Note

Italian Ultra-Light GPT: Emma-3 รจ un modello della prima fase evolutiva della famiglia Emma, progettato per garantire efficienza e bassa latenza in contesti di utilizzo basilari.

Downloads last month
1,105
GGUF
Model size
0.1B params
Architecture
llama
Hardware compatibility
Log In to add your hardware

1-bit

2-bit

3-bit

4-bit

5-bit

6-bit

8-bit

16-bit

32-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for MrMeOrYou/emma-3-GGUF

Base model

sasitsar/emma-3
Quantized
(1)
this model