Memoria unificata non significa “tutti i modelli possono essere utilizzati”
La memoria unificata di Apple Silicon viene utilizzata da CPU, GPU, sistema, app e servizi in background. Il suo vantaggio è che CPU e GPU condividono la stessa memoria ad alta velocità e l'esperienza di implementazione di molti strumenti del modello locale è più semplice di quella delle tradizionali schede grafiche indipendenti; ma ciò non significa che tutti i 32 GB, 64 GB o 128 GB possano essere utilizzati come spazio di peso del modello.
Quando si seleziona effettivamente un modello, è necessario lasciare spazio a macOS, browser, IDE, servizi di inferenza, cache KV e tensori temporanei. Se un Mac da 32 GB pesa il modello a 28 GB, potrebbe sembrare che possa adattarsi perfettamente. Tuttavia, durante il funzionamento reale, la memoria potrebbe essere frequentemente compressa, scambiata su disco o la velocità potrebbe diminuire in modo significativo. LLM locale stima lo spazio disponibile in modo più conservativo in modalità Mac.
Per cosa sono adatti i formati 16GB, 32GB, 64GB e 128GB?
Il Mac da 16 GB è più adatto per modelli piccoli e quantizzazione da bassa a media, come le versioni Q4/Q5 di 3B, 4B e 7B. Può soddisfare chat leggere, riepilogo, traduzione e semplice assistenza sul codice, ma non è adatto a contesti lunghi o modelli visivi. 32 GB possono coprire più modelli 7B/14B e possono anche provare versioni quantizzate più stabili, che è un punto di partenza comune per gli sviluppatori ordinari.
Dopo 64 GB, gli utenti possono provare modelli MoE o 30B più grandi, che possono anche lasciare spazio a contesti lunghi e multitasking. 128 GB sono adatti per ambiti sperimentali più ampi, come modelli di grandi dimensioni altamente quantizzati, confronti di più versioni di modelli, contesti lunghi e flussi di lavoro locali complessi. Ma anche con 128 GB, devi comunque considerare il peso del modello, la cache KV, il backend e la velocità.
Differenze tra Metal, MLX e llama.cpp
I backend comuni su Mac includono llama.cpp Metal, MLX, Ollama e LM Studio. Le ottimizzazioni sottostanti di questi strumenti sono diverse e la velocità dello stesso modello su backend diversi potrebbe essere diversa. Il modello MoE si basa in particolare sull'implementazione del kernel e la velocità non può essere dedotta utilizzando solo le quantità dei parametri.
Pertanto, i tok/s nella pagina dei consigli dovrebbero essere una stima o un intervallo prudente, non una promessa assoluta. Ciò di cui gli utenti hanno veramente bisogno è un'indicazione di screening: quali modelli possono essere caricati con un'alta probabilità, quali modelli richiedono più memoria e quali modelli possono funzionare solo teoricamente ma hanno un'esperienza instabile.
Perché 128 GB dovrebbero sbloccare il modello più grande
Se 32 GB, 64 GB e 128 GB forniscono esattamente la stessa raccomandazione di qualità prioritaria, in genere significa che l'algoritmo di ordinamento non sfrutta adeguatamente la variazione di capacità. Una memoria unificata più grande dovrebbe consentire ai modelli con conteggi di parametri più elevati, quantizzazione più elevata o contesto più lungo di entrare nel set di candidati. I modelli di qualità in particolare dovrebbero riflettere questo.
Ma “più grande” non è nemmeno l’unico obiettivo. I sistemi di raccomandazione devono classificare la qualità del modello, la corrispondenza delle attività, la modalità di esecuzione, l'affidabilità della velocità e il margine di memoria. Un Mac da 128 GB può eseguire modelli più grandi, ma ciò non significa che il modello più grande debba essere consigliato ciecamente per ogni scenario; le scelte migliori per compiti di programmazione, generali, matematici e visivi possono essere diverse.
Cosa dovrebbero scegliere gli utenti Mac?
Gli utenti ordinari possono iniziare con la modalità bilanciata. Se i risultati indicano tutte le esecuzioni complete della GPU/memoria unificata, la configurazione è stabile; se un numero elevato di risultati mostra uno scarico parziale o una velocità di confidenza bassa, è necessario ridurre la quantizzazione, abbreviare il contesto o scegliere un modello più piccolo. Quando si eseguono attività di programmazione, le funzionalità del codice e la lunghezza del contesto del modello sono importanti; quando svolgi attività visive, assicurati che il modello sia effettivamente un modello multimodale.
Il valore di Local LLM sta nel trasformare questi giudizi in input visivi, piuttosto che lasciare che gli utenti indovinino uno per uno su Hugging Face. Il post del blog spiega i principi e lo strumento combina l'elenco dei modelli in tempo reale con l'hardware dell'utente per fornire consigli attuali.