Files
emma-4-GGUF/README.md
ModelHub XC 42f7a33360 初始化项目,由ModelHub XC社区提供模型
Model: MrMeOrYou/emma-4-GGUF
Source: Original Platform
2026-08-13 22:37:17 +08:00

275 lines
9.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
license: openrail
base_model: sasitsar/emma-4
base_model_relation: quantized
library_name: gguf
pipeline_tag: text-generation
language:
- it
authors:
- Egomnia S.p.A.
tags:
- gguf
- llama.cpp
- italian
- gpt
- text-generation
- enterprise
- lightweight
- swiGLU
- gqa
datasets:
- custom-mixture
---
# 🇮🇹 Emma-4 (GGUF)
## Premessa
Questo repository contiene una conversione **non ufficiale** in formato GGUF di Emma-4, realizzata con llama.cpp.
Il modello originale **Emma-4** è 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-4` non è disponibile pubblicamente su Hugging Face. I pesi sono stati recuperati da [`sasitsar/emma-4`](https://huggingface.co/sasitsar/emma-4), un reupload/archivio pubblico del checkpoint ONNX, e da lì convertiti in GGUF.
Per questo motivo i metadata di questo repository indicano `sasitsar/emma-4` 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-4-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-4-F32.gguf`
- `emma-4-F16.gguf`
- `emma-4-BF16.gguf`
- `emma-4-Q8_0.gguf`
- `emma-4-Q6_K.gguf`
- `emma-4-Q5_K_M.gguf`
- `emma-4-Q5_K_S.gguf`
- `emma-4-Q5_1.gguf`
- `emma-4-Q5_0.gguf`
- `emma-4-Q4_K_M.gguf`
- `emma-4-Q4_K_S.gguf`
- `emma-4-Q4_1.gguf`
- `emma-4-Q4_0.gguf`
- `emma-4-IQ4_NL.gguf`
- `emma-4-IQ4_XS.gguf`
- `emma-4-Q3_K_L.gguf`
- `emma-4-Q3_K_M.gguf`
- `emma-4-Q3_K_S.gguf`
- `emma-4-IQ3_M.gguf`
- `emma-4-IQ3_S.gguf`
- `emma-4-Q2_K.gguf`
- `emma-4-TQ2_0.gguf`
- `emma-4-TQ1_0.gguf`
- `emma-4-MXFP4_MOE.gguf`
Le quantizzazioni sono state generate a partire da `emma-4-F32.gguf` e sono riproducibili localmente con llama.cpp. Il file `emma-4-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
```bash
llama-cli -m emma-4-F32.gguf --jinja -ngl 99 -c 2048 -cnv
```
### Prompt diretto
```bash
llama-cli -m emma-4-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
```text
### 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à.
```bash
llama-cli -m emma-4-F32.gguf --jinja -c 2048 -ngl 99 -cnv \
--temp 0.7 --top-k 40 --top-p 0.9 --min-p 0
```
Server OpenAI-compatibile:
```bash
llama-server -m emma-4-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-4 è 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-4 (Egomnia S.p.A.), recuperato da [`sasitsar/emma-4`](https://huggingface.co/sasitsar/emma-4). È stato rimosso unicamente l'esempio di esecuzione con ONNX Runtime; il resto è lasciato invariato.
## Overview
**Emma-4** è un Large Language Model decoder-only sperimentale sviluppato da **Egomnia S.p.A.**, ottimizzato per lingua italiana e progettato per applicazioni leggere e piccole automazioni.
Sito ufficiale: https://emma.egomnia.com
Il modello è progettato per essere:
- efficiente
- veloce in inference
- utilizzabile su infrastrutture leggere o locali
- adatto a micro-imprese e workflow automatizzati
Non è progettato per ragionamento avanzato o uso critico.
## Architettura
- Tipo: GPT decoder-only
- Transformer blocks: 24
- Hidden size: 1.024
- Attention heads: 16 query + 4 KV (GQA 4:1)
- Head dimension: 64
- Feed-forward dimension: 2.752 (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: 50.000 token
- Tokenizer: SentencePiece BPE con byte fallback
## Dataset di training
- Enciclopedico: 43,55%
- Codice: 23,65%
- Generalista: 20,71%
- Libri: 8,53%
- Colloquiale: 2,03%
- Politico: 1,54%
## 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: 1,48 GB
- Peso quantizzato INT8: ~55 MB
## Intended Use
Emma-4 è progettato per:
- NLP generalista in italiano
## Utilizzo non consigliato
- ragionamento complesso multi-step
- applicazioni medicali, legali o finanziarie critiche
- sistemi ad alta affidabilità
- analisi scientifica avanzata
## Focus prestazionale
Il modello è ottimizzato per:
- inference veloce
- riduzione dei costi computazionali
- utilizzo enterprise leggero
- deployment su CPU o ambienti limitati
## Limitazioni
- capacità limitata su reasoning complesso
- possibili allucinazioni
- sensibilità a prompt lunghi 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 luso, la modifica e la distribuzione del modello anche in ambito commerciale, imponendo tuttavia restrizioni sullutilizzo 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 lintelligenza artificiale non sia soltanto una tecnologia, ma uninfrastruttura 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 dellintelligenza 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 Light GPT: Emma-4 è un modello leggero, valido per piccoli chatbot aziendali e per automazioni leggere di supporto ai processi per micro imprese italiane.