Model Shelf
Model Shelf è uno strumento open-source di Alex Ziskind (repo GitHub alexziskind1/modelshelf, installabile con un solo comando) che risolve il problema della gestione e organizzazione dei modelli AI locali. Sostituisce la cache caotica di HuggingFace con una struttura di directory pulita e leggibile. 1
Come funziona
- Crea una struttura di directory che rispecchia l'indirizzo del modello su HuggingFace (formato, publisher, repo, file):
GGUF/<publisher>/<repo>/<file>.gguf - Nessun demone o server MCP — solo un shell command che restituisce JSON
- Shipa con una skill per Claude Code → l'agente sa già come usarlo; funziona con qualsiasi agente capace di eseguire comandi shell, o da solo in un ambiente Python
- Directory separate per formato: GGUF per llama.cpp, MLX, safetensors (ad esempio per vLLM su un'altra macchina)
- Con più drive inizializzati elenca i modelli di tutti gli shelf: all'agente non interessa su quale disco stia il modello, e un drive spostato su un altro Mac continua a funzionare
- Restituisce il path del file e il comando pronto per llama.cpp /
llama-server; nella demo, per un GGUF di Qwen 3.5 9B, l'agente ha scelto il repo Unsloth come il più pulito e scaricato - Cerca sul live HuggingFace Hub (non sulla memoria datata del modello)
- Se il drive esterno è smontato, non scarica sull'internal — si ferma e chiede permesso
- Funziona su drive interni, esterni, o combinazioni
Problema che risolve
La cache di HuggingFace usa cartelle come models--qwen--..., blobs/, snapshots/ con nomi incomprensibili. Questo porta a:
- File duplicati su più macchine (non si trovano → si riscaricano)
- Spazio consumato da centinaia di GB di modelli e multi-quant variant
- Difficoltà a capire a quale file puntare llama.cpp o MLX
Ziskind, con un M5 Max da 8 TB, era rimasto con 1,8 TB liberi. Ordini di grandezza: Qwen 3 14B in INT4 occupa circa 8 GB, un modello di classe 70B quantizzato oltre 40 GB, i pesi per immagini e video possono arrivare a centinaia di GB.
Storage hardware: Acasis TB504
Il video presenta anche l'Acasis TB504 (sponsorizzato): - Thunderbolt 5 a 80 Gbps, 4 bay M.2 NVMe - Fanless, ogni bay ha la sua corsia da 80 Gbps - Velocità: ~6.900 MB/s lettura e ~6.600 MB/s scrittura (AmorphousDiskMark), anche su due dischi in contemporanea - Ogni bay appare come volume indipendente; due porte downstream a 80 Gbps utilizzabili anche per monitor - L'SSD interno dell'M5 Max (circa 15.000 MB/s) resta più veloce: con un modello 70B il time to first token dal drive esterno arriva qualche secondo dopo - RAID zero consigliato per modelli (i pesi sono riscaricabili, l'inferenza è bandwidth-bound); nel test la velocità in RAID 0 è rimasta circa la stessa del singolo disco. Per video e foto, file insostituibili, Ziskind consiglia invece RAID 5 o 6
Voci correlate
- vLLM — serving layer che può usare i modelli safetensors gestiti da Model Shelf
- llama.cpp — inference engine che usa i modelli gestiti da Model Shelf
- GPU per AI locale — l'hardware che consuma i modelli gestiti
Fonti e Riferimenti
-
Fonte: My LLM Hoarding Got Out of Hand… So I Built This (Alex Ziskind) ↗ ↩↩↩↩