Cosa significano questi nomi di file criptici? La tua guida alla quantizzazione LLM

La settimana scorsa abbiamo fatto sì. Lavorare con LM Studio, ma c'erano alcune domande, motivo per cui vorrei entrare in questi dettagli qui oggi.

Se guardi le opzioni di download per un modello come Qwen su Hugging Face o in LM Studio, ti imbatti in nomi criptici come Q4_K_M, Q8_0 oppure Q6_K. Spontaneamente pensi: «Se Q8 ha un numero più elevato, deve essere migliore di Q4, giusto?»

Tecnicamente, è Q8 Più preciso di Q4, Ma questo non significa che sia una scelta migliore per te. Queste abbreviazioni criptiche non sono numeri arbitrari. Ti raccontano una storia sulle prestazioni, le dimensioni e la precisione del modello anche prima di scaricarlo.

Questo articolo decifra questi suffissi una volta per tutte, in modo da prendere la decisione giusta per il proprio hardware e non dover mai più indovinare alla cieca o scegliere solo "maggiore numero = migliore" secondo lo schema F.

Cos'è la quantizzazione? La semplice spiegazione

D'accordo, sull'argomento. Cosa significano questi nomi di file criptici? Immagina di avere un dipinto enorme e dettagliato (il modello non quantificato). Ogni colore è rappresentato da 16 o 32 bit, che occupano un'enorme quantità di spazio di archiviazione e potenza di calcolo. Questo è lo stato originale di un LLM, il cosiddetto 16° PQ– oppure FP32modelli.

quantizzazione è il processo di compressione di questo dipinto riducendo il numero di bit per colore, ad esempio, a 8 o anche solo 4. Ciò rende l'immagine più piccola e può essere elaborata più velocemente, spesso con una perdita minima di qualità.

Ogni volta che si invia un messaggio a un LLM, quest'ultimo elabora miliardi di questi "pixel di colore", i cosiddetti "pixel di colore". pesi (Peso). Questi pesi sono il cuore del modello. Quando li comprimiamo, abbiamo bisogno di molto meno spazio di archiviazione e i calcoli vengono eseguiti molte volte più velocemente. Questo è esattamente ciò che rende possibile eseguire LLM di grandi dimensioni su hardware di consumo normale, come il laptop o il PC.

Anatomia di un'abbreviazione di quantizzazione

Un nome come Q4_K_M Può sembrare complicato, ma è solo una stringa di informazioni:

  • Q: sta per "quantizzato".
  • Il numero (ad esempio Q4): Specifica quanti bit ha ora ogni peso. Uno Q4La versione utilizza 4 bit per peso. Maggiore è il numero, più preciso, ma anche più grande e più lento il modello.
  • K: è l'acronimo di Quantizzazione Raggruppata. Questo è un metodo moderno e molto accurato. Il modello quantifica i pesi non tutti in una volta, ma in piccoli gruppi (ad esempio 64 pezzi). I singoli fattori di scala sono calcolati per ciascun gruppo, con conseguente accuratezza significativamente maggiore rispetto ai metodi più vecchi.
  • 0 o 1: Queste cifre rappresentano metodi di quantizzazione più vecchi e meno precisi. Usano un'unica scala globale per l'intero modello, che è meno accurata ma spesso più veloce. Se avete una scelta, K Quasi sempre l'opzione migliore.
  • S, M, L: Queste lettere indicano la precisione e spesso vengono in combinazione con il KSuffisso prima. Intendono Piccoli, medio oppure grande. Aiutano a distinguere i modelli se hanno lo stesso numero di bit. S sta per la variante più veloce ma imprecisa, mentre L sta per la variante più lenta ma più accurata. M è spesso un buon compromesso.

Uno Q4_K_M è pertanto un "modello quantizzato con 4 bit per peso utilizzando il moderno metodo basato sul gruppo (K) e la media precisione (M)".

Perplessità e KL Divergenza: Come misurare la qualità?

Ma come fai a sapere se un modello quantizzato è abbastanza buono?
Ci sono due metriche importanti per questo:

Perplessità (PPL)

perplessità Misura quanto bene un modello predice il testo. Je inferiore il valore della PPL, il "meno confuso" del modello e il migliore rispetto all'originale.

Gli sviluppatori di llama.cpp elencare i valori PPL per le diverse quantizzazioni. Ad esempio, si può vedere che un Q8_0Il modello ha quasi le stesse prestazioni dell'originale non quantificato, mentre un Q2_K Si registrano già perdite significative.

KL Divergenza

KL Divergenza Si tratta di una metrica più avanzata. Misura quanto la distribuzione di probabilità della versione quantizzata differisce da quella del modello originale.

Questo è importante perché la perplessità può compensare gli errori. Un modello può avere un buon valore medio, ma è totalmente sbagliato con parole rare o difficili. Il KL Divergenza rileva questi "punti ciechi". Je inferiore Il valore, meglio è.

Tuttavia, se sei ancora troppo impreciso e vuoi leggere di più sull'argomento, ti consiglio i seguenti autori e fonti: Paul Ilvez | René Peinl | Michael Jentsch | Maarten Grootendorst


Quindi, dopo che siamo già relativamente lontani nell'argomento, ecco per completezza:

Oltre PPL+KLD: Ulteriori metriche di valutazione

La perplessità e la divergenza KL sono importanti, ma sono solo una parte del quadro quando si tratta di valutare gli LLM. Per compiti specifici, ci sono altre metriche su misura che forniscono una dichiarazione più precisa sulla qualità dei testi generati.

  • Punteggio F1: Questo valore è Mezzi armoniosi da due cifre chiave: Precisione (Quanti degli elementi rilevati erano corretti?) e richiamare (Quanti elementi corretti sono stati rilevati?) Il punteggio F1 è particolarmente comune in compiti come Riconoscimento dell'entità designata (NER) è usato per identificare entità specifiche come nomi o luoghi in un testo.
  • Punteggio BLEU (Sottostudio di valutazione bilingue): Questo punteggio è lo standard nel Traduzione automatica. Misura quanto la traduzione generata dalla macchina corrisponde alle traduzioni di riferimento create da esperti umani. Più il testo generato è vicino ai testi di riferimento, maggiore è il valore BLEU.
  • Punteggio di ROUGE (Richiamo-Orientato Understudy per Gisting Valutazione): ROUGE è un insieme di metriche che valuta la sovrapposizione tra il testo generato e il testo di riferimento. Sono spesso associati a Compiti di sintesi utilizzati. ROUGE aiuta a quantificare quanto bene il modello filtra le informazioni più importanti da un testo e le riproduce in una forma nuova e concisa.

E per tutti voi che ancora non ne avete abbastanza, vi lascerò Questo è ancora lì. Ma poi andiamo alla deriva abbastanza lontano. ??

Fare la scelta giusta

Ora che conosci i termini, puoi scegliere saggiamente i modelli.

  • Q4_K_M È raccomandato da molti sviluppatori come il miglior compromesso tra dimensioni, velocità e precisione. Spesso è un'ottima opzione standard.
  • Q5_K_M e Q5_K_S fornire ancora più precisione con dimensioni del file solo leggermente più grandi.
  • Q6_K e Q8_0 sono i pesi massimi della quantizzazione. Sono quasi buoni come i modelli originali, ma richiedono molto più spazio di archiviazione e sono più lenti. Usali quando hai bisogno della migliore precisione possibile e il tuo hardware può farlo.

TL: RD

Alla fine della giornata, il metodo migliore è semplicemente provare diverse varianti. Grazie a strumenti come LM Studio oppure Siti come Hugginface.co Puoi farlo facilmente senza essere scoraggiato dai dettagli tecnici. Con queste informazioni, tuttavia, si dovrebbe almeno rendere la preselezione più facile.