Moondream: il modello di visione che trova spazio partout
Moondream è una famiglia di modelli open vision-language che descrivono un'immagine, rispondono a una domanda, rilevano, indicano e segmentano. Moondream 2 (1,9 miliardi di parametri, Apache 2.0) richiede circa 2 GB di VRAM in int4; la versione 0,5B, 816 MiB. Le generazioni 3 e 3.1 (9 miliardi in totale, 2 attivi) richiedono circa 10 GB di VRAM e una licenza che vieta solo di rivendere Moondream stesso come servizio ospitato.
I modelli multimodali dalle capacità impressionanti pesano decine di gigabyte e occupano un'intera scheda grafica. Moondream affronta il problema dal lato opposto: una famiglia di modelli di visione compatti, la cui versione più piccola occupa meno di un gigabyte, per descrivere un'immagine, rispondere a una domanda o localizzare un oggetto su un comune computer. Questa guida, aggiornata al 28 settembre 2026, distingue le quattro varianti, quantifica il loro consumo secondo chi le pubblica, spiega le licenze e indica cosa non bisogna chiedere a Moondream.
#Una famiglia, non un modello
Moondream è pubblicato da M87 Labs. Il suo autore originario, Vikhyat Korrapati, lo descrive nel repository GitHub come « a tiny vision language model that kicks ass and runs anywhere ». Il nome Moondream indica oggi quattro varianti con caratteristiche molto diverse, e le guide più datate spesso le confondono.
| Variante | Architettura | Peso e memoria | Contesto | Licenza |
|---|---|---|---|---|
| Moondream 2 (0,5B) | 500 milioni di parametri, progettato come obiettivo di distillazione per l'ambiente embedded | int4: 375 MiB da scaricare, 816 MiB in memoria | Non indicato | Apache 2.0 per il repository di codice (licenza del modello non specificata) |
| Moondream 2 | Modello denso, 1,9 miliardi di parametri, aggiornato da marzo 2024 | File da 3,85 GB; int8: 2.624 MiB di VRAM; int4: 2.002 MiB | 2.000 token | Apache 2.0 |
| Moondream 3 Preview | Mixture of Experts, 9 miliardi in totale, 2 miliardi attivi per token; 64 esperti, 8 attivati | Circa 18,5 GB in BF16, o 10,51 GB in FP8 | 32.000 token | Business Source License 1.1 con clausola «No Third-Party Service» |
| Moondream 3.1 9B A2B | Mistura di esperti, totale 9,0 miliardi, 2,0 attivi; 8 esperti, 2 attivi, 1 condiviso | Esperti in FP8, almeno 10 GB di VRAM secondo la scheda | 32.768 token | Moondream Model License 1.0, in vigore dal 7 luglio 2026 |
La differenza di scala cambia la natura degli usi. Un modello con 2 miliardi di parametri si può caricare su un portatile senza scheda grafica o su un dispositivo embedded. Un modello con 9 miliardi di parametri, anche se attiva solo 2 per token, deve mantenere tutti i pesi in memoria: per questo la generazione 3 richiede una decina di gigabyte, con un file FP8 da 10,51 GB per la preview. La documentazione di Moondream specifica che un Mac mini M4 di base con 16 GB accoglie Moondream 2, ma i pesi di Moondream 3 superano la sua memoria unificata.
#Cosa sa fare
Il tuo ChatGPT privato e gratuito sulla tua macchina in 1 ora — LM Studio, Ollama, Open WebUI, i tuoi documenti, senza cloud.
- Spazio online a vita
- PDF + file
- Aggiornamenti a vita
I modelli Moondream offrono competenze native, con output strutturati piuttosto che testo libero da interpretare. Secondo la scheda della versione 3.1, ciascuna competenza ha un contratto di output fisso.
- Query (rispondere a una domanda)
- Domanda in linguaggio naturale sull'immagine, risposta libera. È il punto di accesso generico. La scheda precisa che non viene fornito un livello di confidenza calibrato: formula domande verificabili.
- Caption (descrivere)
- Didascalia in tre lunghezze: short, normal o long. La scheda avverte che una didascalia lunga offre un maggiore richiamo a fronte di un rischio più elevato di allucinazioni e che non bisogna analizzarla per ricavarne conteggi o coordinate.
- Detect (rilevare)
- Riquadri di delimitazione per qualsiasi espressione, con coordinate normalizzate tra 0 e 1 a partire dall'angolo superiore sinistro. Fino a 200 riquadri per chiamata, soglia predefinita di 0,30.
- Point (indicare)
- Il centro di ogni istanza, fino a 64 punti: meno costoso di un riquadro di delimitazione e adatto al conteggio.
- Segment (segmentare)
- Una maschera per ogni oggetto corrispondente, fino a 50 istanze; i punteggi di confidenza non vengono forniti per le maschere.
Moondream 2 ha acquisito queste capacità per fasi. Il suo registro delle modifiche, pubblicato dall'autore, menziona a marzo 2025 le didascalie lunghe, l'etichettatura a vocabolario aperto e un conteggio migliorato (CountBenchQA da 80 a 86,4). Ad aprile 2025 migliora la lettura di documenti e grafici (ChartQA da 74,8 a 77,5). A giugno 2025 arriva una modalità di ragionamento ancorato, attivata tramite reasoning=True nella funzionalità query, che sacrifica velocità a favore della precisione, insieme a una generazione di testo dal 20 al 40% più rapida secondo l'autore. Questi numeri sono quelli dell'autore, basati sulle sue valutazioni: usali per inquadrare l'evoluzione, non per confrontarli con un altro modello.
Un aspetto pratico: Moondream non elabora l'immagine intera, ma la suddivide. Secondo la sua FAQ, ridimensiona l'immagine in modo che una griglia di riquadri di circa 378 × 378 pixel la copra, con al massimo 12 riquadri locali più una vista globale, per un totale di circa 1,7 milioni di pixel nei riquadri locali. La scheda della versione 3.1 conferma una suddivisione adattiva in al massimo 12 riquadri, per immagini PNG, JPEG o WebP di massimo 4.096 pixel sul lato maggiore. Una foto da 12 megapixel viene quindi notevolmente ridotta prima dell'analisi: per leggere un dettaglio, ritaglia prima la zona.
#Quanto consuma
| Misurazione | Moondream 2 (0,5B) | Moondream 2 (1,9B) |
|---|---|---|
| Memoria in esecuzione, int8 | 996 MiB | 2624 MiB |
| Memoria durante l'esecuzione, int4 | 816 MiB | 2002 MiB |
| Download, int4 | 375 MiB | Non indicato |
| Velocità, RTX 3090, int4 con compile() | Non indicato | 184 token al secondo |
I numeri riportati sono quelli della pagina dei modelli di Moondream: il contesto conta, si tratta di una scheda RTX 3090, in int4 con compile(), e della velocità di generazione del testo, non del tempo per immagine. Il tempo per immagine dipende dalla dimensione dell'output e dal numero di tile. La stessa pagina afferma che la quantizzazione int4 riduce la memoria del 42% con una perdita di precisione dello 0,6%, senza specificare la valutazione; considera questa affermazione una dichiarazione del produttore.
Per la generazione 3.1, l'hardware supportato dal motore Photon è una scheda NVIDIA Ampere o più recente su Linux o Windows, oppure un Mac Apple Silicon con macOS 13 o successivo e Python dalla versione 3.10 alla 3.14. La scheda del modello indica anche NVIDIA SM75 e oltre, con almeno 10 GB di VRAM, una versione GGUF per processori x86 o ARM e MLX per Apple Silicon. La documentazione elenca infine alcune schede Jetson, tra cui la Jetson Orin Nano da 8 GB, tra le piattaforme supportate.
#Tre modi per avviarlo
- 01Con la libreria moondream e PhotonInstalla il pacchetto, poi carica il modello: i pesi vengono scaricati da Hugging Face alla prima chiamata e, secondo la documentazione, non è richiesta alcuna chiave API per i modelli base. Photon funziona solo su GPU NVIDIA Ampere o successive, oppure su Mac Apple Silicon.
- 02Con TransformersIl repository vikhyatk/moondream2 si carica con AutoModelForCausalLM. Specifica la revisione: l'autore avverte che il modello viene aggiornato frequentemente e raccomanda di fissare la versione in produzione. L'opzione trust_remote_code=True esegue codice fornito dal repository: attivala solo se ti fidi della fonte.
- 03Con OllamaLa pagina Ollama di moondream indica 1,7 GB, un contesto di 2 000 token e un ultimo aggiornamento risalente a due anni fa, quindi precedente alle versioni del 2025 di Moondream 2; non copre le generazioni 3. Verifica che offra le capacità di cui hai bisogno prima di adottarla.
Ricorda che la funzione detect restituisce coordinate normalizzate: moltiplicale per la larghezza e l'altezza dell'immagine originale per ottenere le coordinate in pixel.
- Panoramica dei modelli multimodali locali
- Fonte: la documentazione ufficiale per l'esecuzione locale
- Fonte: la pagina Hugging Face di Moondream 2
#Gli usi in cui ha la meglio
- 01Indicizzare una raccolta fotograficaGenerare una didascalia per ogni immagine per rendere un archivio fotografico consultabile tramite il testo. Il costo per immagine determina la fattibilità, ed è qui che un modello piccolo prevale. Usa didascalie brevi: quelle lunghe rischiano di inventare dettagli.
- 02Filtrare prima di passare a un modello di grandi dimensioniFare una prima selezione approssimativa per inviare al modello costoso solo le immagini che lo meritano. La funzione point serve a contare, la funzione detect a ritagliare automaticamente l'area da analizzare in seguito.
- 03Descrivere immagini per l'accessibilitàGenerare testi alternativi in batch su un sito esistente, in locale e senza inviare le immagini a un servizio di terzi. Rileggi un campione: una didascalia resta un'ipotesi.
- 04Monitorare un flussoPorre una domanda chiusa su immagini successive, su una macchina modesta che funziona ininterrottamente. Il modello 0,5B è progettato per essere affinato per un compito circoscritto, il che migliora notevolmente la sua precisione secondo M87 Labs.
Dalla scheda della versione 3.1 emerge una buona pratica: poni domande chiuse e precise. Un modello piccolo risponde bene a «la persona ha un casco in testa?» e tende a divagare con «analizza questa scena».
#Cosa non bisogna chiedergli
La scheda della versione 3.1 dedica un'intera sezione ai suoi limiti, cosa rara e preziosa. Descrive i malfunzionamenti più frequenti durante la valutazione, e le soglie che indica servono da riferimento per i modelli della stessa famiglia.
- Testo di piccole dimensioni
- Il testo di dimensioni inferiori a circa 10 pixel alla risoluzione del riquadro viene spesso letto male o ignorato: prima ritaglia e ingrandisci la zona.
- Piccoli oggetti
- Gli oggetti con il lato più lungo inferiore a 12 pixel non vengono rilevati da detect: usa point su un'area ritagliata.
- Scene affollate
- Oltre circa 50 istanze, il recall diminuisce e gli oggetti identici adiacenti si fondono. I conteggi superiori a 50 sono poco affidabili.
- Lettura di testo sfocato
- Con testo sfocato, stilizzato o parzialmente nascosto, il modello può generare una stringa plausibile ma errata, senza segnalare un basso livello di confidenza. Per un documento intero, un motore OCR è più affidabile.
- Usi ad alto impatto
- L'interpretazione medica e le decisioni giuridiche o finanziarie basate su documenti senza revisione umana sono dichiarate fuori ambito. L'output di un modello piccolo va controllato.
#Licenze: cosa puoi fare
| Modello | Licenza | Cosa permette, in sintesi |
|---|---|---|
| Moondream 2 | Apache 2.0 | Uso libero, anche commerciale, alle consuete condizioni della licenza Apache 2.0 |
| Moondream 3 Preview | Business Source License 1.1 con clausola «No Third-Party Service» | Uso personale, di ricerca e la maggior parte degli usi commerciali; nessuna offerta a pagamento in concorrenza con M87 Labs, compresi l'accesso tramite hosting o un SDK a pagamento che incorpora i pesi |
| Moondream 3.1 | Moondream Model License 1.0, con codice sorgente disponibile, in vigore il 7 luglio 2026 | Uso commerciale, fine-tuning, quantizzazione e redistribuzione consentiti; è richiesta una licenza separata per offrire Moondream stesso come servizio di uso generale ospitato su server |
Per indicizzare la tua fototeca o descrivere le immagini del tuo sito, nessuna di queste licenze pone problemi: l'uso interno o come componente di un prodotto è consentito. Il limite riguarda solo chi volesse vendere l'accesso a Moondream stesso, ad esempio tramite un'API di visione generica ospitata su un server. In caso di dubbi su un uso commerciale, fa fede la licenza, non questo riassunto.
#Moondream o un modello di visione di grandi dimensioni
La domanda da porsi non è «qual è il migliore», ma «quante immagini e per quale decisione». Poche immagini al giorno e domande aperte: scegli il modello più grande che la tua scheda può gestire. Migliaia di immagini e una domanda chiusa ripetuta: un modello piccolo rende il progetto possibile.
Un'architettura a cascata combina i due: il modello piccolo elabora tutto e segnala i casi interessanti, il modello grande interviene solo su quelli. Su una raccolta di grandi dimensioni, è questo schema a offrire il miglior rapporto tra qualità e tempo di calcolo. La capacità di rilevamento di Moondream funge allora da filtro: ritaglia l'oggetto e il modello grande analizza l'area ritagliata.
- Modelli multimodali locali con Ollama
- Qwen3-VL in locale
- PaddleOCR: l'OCR che comprende la pagina
- Fonte: il repository GitHub di Moondream
- Fonte: la pagina dei modelli di Moondream
#FAQ
Moondream è gratuito?+
Serve una scheda grafica?+
Sa leggere un documento scansionato?+
Moondream o un modello di visione più grande?+
È possibile usarlo su molte immagini di fila?+
È possibile eseguirne il fine-tuning per un compito specifico?+
Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.