Individuare il modello linguistico locale ideale per il proprio computer non è solo una questione di memoria disponibile, ma di equilibrio tra prestazioni, precisione e capacità hardware. whichllm è uno strumento da riga di comando che automatizza questa analisi, scansionando CPU, GPU e RAM per suggerire e classificare i migliori modelli di HuggingFace pronti all'uso sul sistema in uso.

40 t/s
Velocità Qwen3.6-27B
Su hardware RTX 5090 (32 GB VRAM)
27 t/s
Velocità Qwen3.6-27B
Su hardware RTX 4090 (24 GB VRAM)
94,7
Punteggio Max
Raggiunto da Qwen3.6-27B su sistemi high-end

L'ecosistema dei Large Language Models (LLM) — i modelli di intelligenza artificiale addestrati su enormi quantità di testo — si evolve con una rapidità tale da rendere obsolete le classifiche statiche in poche settimane. whichllm risolve il problema interfacciandosi direttamente con le API di HuggingFace (la principale piattaforma di condivisione di modelli AI) per fornire raccomandazioni basate su dati aggiornati in tempo reale.

demo
Dimostrazione del funzionamento di whichllm nel terminale.

Installazione e avvio rapido

Lo strumento è progettato per essere eseguito immediatamente senza configurazioni complesse. Il metodo consigliato utilizza uvx, un esecutore di pacchetti Python estremamente veloce.

bash
# Installazione tramite pip (alternativa) pip install whichllm

Flussi di lavoro principali

Una volta installato, whichllm offre diversi comandi per gestire l'intero ciclo di vita di un modello locale, dalla scelta alla programmazione.

  • Analisi hardware: Il comando base rileva i componenti e stila la classifica dei modelli migliori.

  • Pianificazione upgrade: Permette di confrontare come cambierebbero le prestazioni passando a GPU (Graphics Processing Unit) diverse.

  • Generazione di codice: Crea frammenti di codice Python pronti all'uso per integrare il modello nelle proprie applicazioni.

  • Chat interattiva: Avvia una sessione di conversazione diretta con il modello scelto.

bash
# Trova i modelli migliori per questa macchina whichllm # Confronta candidati per un aggiornamento hardware whichllm upgrade "RTX 4090" "RTX 5090" "H100" # Identifica la GPU necessaria per un modello specifico whichllm plan "llama 3 70b" # Avvia una chat con un modello specifico (formato GGUF) whichllm run "qwen 2.5 1.5b gguf"

Analisi delle prestazioni hardware (maggio 2026)

I risultati variano in base ai dati live di HuggingFace. Di seguito una panoramica delle prestazioni stimate per diverse configurazioni hardware tipiche, basata su snapshot recenti. La velocità è espressa in "t/s" (token al secondo), dove un token corrisponde approssimativamente a una parola o parte di essa.

Velocità Modelli (t/s) per Hardware
Mostra dati
Velocità Modelli (t/s) per Hardware
VoceToken al secondo
RTX 5090 (Qwen 27B)40
RTX 4090 (Qwen 27B)27
RTX 4060 (Qwen 14B)22
Apple M3 Max (Qwen 27B)9
Solo CPU (gpt-oss 20b)6
Fonte: whichllm Report

Hardware

VRAM

Scelta Top

Velocità

RTX 5090

32 GB

Qwen3.6-27B (Q6_K)

~40 t/s

RTX 4090 / 3090

24 GB

Qwen3.6-27B (Q5_K_M)

~27 t/s

RTX 4060

8 GB

Qwen3-14B (Q3_K_M)

~22 t/s

Apple M3 Max

36 GB

Qwen3.6-27B (Q5_K_M)

~9 t/s

Solo CPU

gpt-oss-20b (MoE)

~6 t/s

L'algoritmo di scoring: oltre la dimensione

Far entrare un modello nella VRAM (Video RAM) è l'aspetto più semplice. La sfida è capire quale, tra i modelli compatibili, sia effettivamente il migliore in termini di intelligenza e velocità. whichllm utilizza un sistema di punteggio da 0 a 100 che aggrega diversi fattori:

  • Qualità del benchmark: Integra dati da LiveBench, Artificial Analysis, Chatbot Arena ELO e Open LLM Leaderboard.

  • Recency-aware: Le vecchie classifiche vengono penalizzate rispetto alle nuove generazioni di modelli.

  • Affidabilità delle prove: Ogni punteggio è pesato in base alla fonte (diretta, variante, base o auto-dichiarata).

  • Stima dell'architettura: Calcola lo spazio occupato non solo dai pesi del modello, ma anche dalla cache KV (Key-Value) e dai costi fissi del framework (circa 500 MB).

Pro
  • Classifiche basate su benchmark reali e non solo sulla dimensione dei parametri.
  • Rilevamento automatico preciso di GPU NVIDIA, AMD e Apple Silicon.
  • Supporto per il caricamento parziale (offload) tra GPU e CPU.
  • Output in formato JSON per integrazione in script personali.
Contro
  • Alcuni stime di velocità hanno confidenza bassa per backend meno comuni.
  • La precisione dipende dalla disponibilità di benchmark aggiornati su HuggingFace.

Esecuzione e integrazione

Il comando run è una delle funzionalità più potenti: crea un ambiente isolato, scarica il modello e avvia la chat senza sporcare il sistema globale.

run demo
Esempio di avvio immediato di una sessione di chat.

Per gli sviluppatori, whichllm snippet fornisce il codice Python necessario per caricare il modello tramite librerie come llama-cpp-python o transformers.

python
from llama_cpp import Llama # Snippet generato automaticamente per Qwen 7B llm = Llama.from_pretrained( repo_id="Qwen/Qwen2.5-7B-Instruct-GGUF", filename="qwen2.5-7b-instruct-q4_k_m.gguf", n_ctx=4096, n_gpu_layers=-1, verbose=False, ) output = llm.create_chat_completion( messages=[{"role": "user", "content": "Ciao!"}], ) print(output["choices"][0]["message"]["content"])

Integrazione con Ollama

È possibile utilizzare whichllm per alimentare script che gestiscono Ollama (un altro popolare gestore di LLM locali). Ad esempio, si può creare un alias nel terminale per eseguire sempre il miglior modello disponibile:

bash
alias bestllm='whichllm --top 1 --json | jq -r ".models[0].model_id"' # Utilizzo: ollama run $(bestllm)

Architettura del sistema

La pipeline dei dati di whichllm assicura che le informazioni siano sempre fresche ma accessibili anche offline tramite cache locale.

Fonti e riferimenti

  1. Repository GitHub whichllm
  2. Pagina Progetto PyPI
  3. HuggingFace Model Hub