Moondream : le modèle de vision qui tient partout
Moondream est une famille de modèles de vision-langage ouverts qui décrivent une image, répondent à une question, détectent, pointent et segmentent. Moondream 2 (1,9 milliard de paramètres, Apache 2.0) demande environ 2 Go de VRAM en int4 ; la version 0,5B, 816 Mio. Les générations 3 et 3.1 (9 milliards au total, 2 actifs) demandent environ 10 Go de VRAM et une licence qui n'interdit que de revendre Moondream lui-même comme service hébergé.
Les modèles multimodaux impressionnants pèsent des dizaines de gigaoctets et immobilisent une carte graphique entière. Moondream prend le problème par l'autre bout : une famille de modèles de vision compacts, dont la plus petite version tient en moins d'un gigaoctet, pour décrire une image, répondre à une question ou localiser un objet sur un ordinateur ordinaire. Ce guide, à jour au 28 septembre 2026, distingue les quatre variantes, chiffre ce qu'elles consomment d'après leur éditeur, explique les licences et dit ce qu'il ne faut pas lui demander.
#Une famille, pas un modèle
Moondream est publié par M87 Labs. Son auteur d'origine, Vikhyat Korrapati, le décrit dans le dépôt GitHub comme « a tiny vision language model that kicks ass and runs anywhere ». Le mot Moondream désigne aujourd'hui quatre variantes aux caractéristiques très différentes, et les guides plus anciens les confondent souvent.
| Variante | Architecture | Poids et mémoire | Contexte | Licence |
|---|---|---|---|---|
| Moondream 2 (0,5B) | 500 millions de paramètres, conçu comme cible de distillation pour l'embarqué | int4 : 375 Mio à télécharger, 816 Mio en mémoire | Non indiqué | Apache 2.0 pour le dépôt de code (licence du modèle non précisée) |
| Moondream 2 | Modèle dense, 1,9 milliard de paramètres, mis à jour depuis mars 2024 | Fichier de 3,85 Go ; int8 : 2 624 Mio de VRAM ; int4 : 2 002 Mio | 2 000 jetons | Apache 2.0 |
| Moondream 3 Preview | Mixture d'experts, 9 milliards au total, 2 milliards actifs par jeton ; 64 experts, 8 activés | Environ 18,5 Go en BF16, ou 10,51 Go en FP8 | 32 000 jetons | Business Source License 1.1 avec clause « No Third-Party Service » |
| Moondream 3.1 9B A2B | Mixture d'experts, 9,0 milliards au total, 2,0 actifs ; 8 experts, 2 activés, 1 partagé | Experts en FP8, au moins 10 Go de VRAM selon la fiche | 32 768 jetons | Moondream Model License 1.0, en vigueur depuis le 7 juillet 2026 |
La différence d'échelle change la nature des usages. Un modèle de 2 milliards de paramètres se charge sur un portable sans carte dédiée ou sur une machine embarquée. Un modèle de 9 milliards au total, même s'il n'en active que 2 par jeton, doit garder tous ses poids en mémoire : c'est pourquoi la génération 3 demande une dizaine de gigaoctets, avec un fichier FP8 de 10,51 Go pour la Preview. La documentation de Moondream précise qu'un Mac mini M4 de base avec 16 Go accueille Moondream 2, mais que les poids de Moondream 3 dépassent sa mémoire unifiée.
#Ce qu'il sait faire
Ton ChatGPT privé et gratuit sur ta machine en 1 heure — LM Studio, Ollama, Open WebUI, tes documents, sans cloud.
- Espace en ligne à vie
- PDF + fichiers
- Mises à jour à vie
Les modèles Moondream exposent des compétences natives, avec des sorties structurées plutôt que du texte libre à interpréter. Selon la fiche de la version 3.1, chacune a un contrat de sortie fixe.
- Query (répondre à une question)
- Question en langage naturel sur l'image, réponse libre. C'est l'entrée générale. La fiche précise qu'il n'y a pas de confiance calibrée : formulez des questions vérifiables.
- Caption (décrire)
- Légende en trois longueurs : short, normal ou long. La fiche prévient qu'une légende longue échange du rappel contre plus de risque d'hallucination et qu'il ne faut pas l'analyser pour en tirer des comptages ni des coordonnées.
- Detect (détecter)
- Boîtes englobantes pour n'importe quelle expression, avec des coordonnées normalisées entre 0 et 1 depuis le coin supérieur gauche. Jusqu'à 200 boîtes par appel, seuil par défaut de 0,30.
- Point (pointer)
- Le centre de chaque instance, jusqu'à 64 points : plus économique qu'une boîte et adapté au comptage.
- Segment (segmenter)
- Un masque par objet correspondant, jusqu'à 50 instances ; les scores de confiance ne sont pas fournis pour les masques.
Moondream 2 a gagné ces capacités par étapes. Son journal des modifications, publié par l'auteur, mentionne en mars 2025 la légende longue, l'étiquetage à vocabulaire ouvert et un comptage amélioré (CountBenchQA de 80 à 86,4). En avril 2025, la lecture de documents et de graphiques progresse (ChartQA de 74,8 à 77,5). En juin 2025 arrive un mode de raisonnement ancré, activé par reasoning=True dans la compétence query, qui échange de la vitesse contre de la précision, ainsi qu'une génération de texte 20 à 40 % plus rapide selon l'auteur. Ces chiffres sont ceux de l'auteur, sur ses propres évaluations : servez-vous-en pour situer l'évolution, pas pour comparer avec un autre modèle.
Un point d'usage : Moondream ne travaille pas sur l'image entière, il la découpe. D'après sa FAQ, il redimensionne l'image pour qu'une grille de tuiles d'environ 378 × 378 pixels la couvre, avec au plus 12 tuiles locales plus une vue globale, soit environ 1,7 million de pixels pour les tuiles locales. La fiche de la version 3.1 confirme un découpage adaptatif en au plus 12 tuiles, pour des images PNG, JPEG ou WebP de 4 096 pixels au plus sur le grand côté. Une photo de 12 mégapixels est donc fortement réduite avant analyse : pour lire un détail, recadrez d'abord la zone.
#Ce qu'il consomme
| Mesure | Moondream 2 (0,5B) | Moondream 2 (1,9B) |
|---|---|---|
| Mémoire à l'exécution, int8 | 996 Mio | 2 624 Mio |
| Mémoire à l'exécution, int4 | 816 Mio | 2 002 Mio |
| Téléchargement, int4 | 375 Mio | Non indiqué |
| Vitesse, RTX 3090, int4 avec compile() | Non indiquée | 184 jetons par seconde |
Ces chiffres sont ceux de la page des modèles de Moondream : le contexte compte, il s'agit d'une carte RTX 3090, en int4 avec compile(), et d'une vitesse de génération de texte, pas d'un temps par image. Le temps par image dépend de la taille de la sortie et du nombre de tuiles. La même page annonce que la quantification int4 réduit la mémoire de 42 % pour 0,6 % de perte de précision, sans préciser l'évaluation ; retenez-le comme une déclaration de l'éditeur.
Pour la génération 3.1, le matériel pris en charge par le moteur Photon est une carte NVIDIA Ampere ou plus récente sous Linux ou Windows, ou un Mac Apple Silicon sous macOS 13 ou plus, avec Python 3.10 à 3.14. La fiche de modèle indique aussi NVIDIA SM75 et au-delà, avec au moins 10 Go de VRAM, une version GGUF pour processeur x86 ou ARM et MLX pour Apple Silicon. La documentation liste enfin des cartes Jetson, dont la Jetson Orin Nano de 8 Go, parmi les plateformes prises en charge.
#Trois façons de le lancer
- 01Avec la bibliothèque moondream et PhotonInstallez le paquet, puis chargez le modèle : les poids se téléchargent depuis Hugging Face au premier appel, et aucune clé d'API n'est requise pour les modèles de base, selon la documentation. Photon ne fonctionne que sur GPU NVIDIA Ampere ou plus récent, ou sur Mac Apple Silicon.
- 02Avec TransformersLe dépôt vikhyatk/moondream2 se charge avec AutoModelForCausalLM. Précisez la révision : l'auteur avertit que le modèle est mis à jour fréquemment et recommande de fixer la version en production. L'option trust_remote_code=True exécute du code fourni par le dépôt : ne l'activez que si vous faites confiance à la source.
- 03Avec OllamaLa page Ollama de moondream indique 1,7 Go, un contexte de 2 000 jetons et une dernière mise à jour il y a deux ans, donc avant les versions de 2025 de Moondream 2 et qui ne couvre pas les générations 3. Vérifiez qu'elle offre les compétences dont vous avez besoin avant de l'adopter.
Rappelez-vous que la compétence detect renvoie des coordonnées normalisées : multipliez-les par la largeur et la hauteur de l'image d'origine pour retrouver des pixels.
- Panorama des modèles multimodaux en local
- Source : la documentation officielle pour l'exécution locale
- Source : la fiche Hugging Face de Moondream 2
#Les usages où il gagne
- 01Indexer une photothèqueGénérer une légende par image pour rendre un fonds de photos consultable par le texte. Le coût par image décide de la faisabilité, et c'est là qu'un petit modèle l'emporte. Utilisez des légendes courtes : les longues risquent d'inventer des détails.
- 02Filtrer avant un gros modèleTrier grossièrement pour n'envoyer au modèle coûteux que les images qui le méritent. La compétence point sert à compter, la compétence detect à recadrer automatiquement la zone à analyser ensuite.
- 03Décrire des images pour l'accessibilitéProduire des textes alternatifs par lots sur un site existant, en local et sans envoyer les visuels à un service tiers. Relisez un échantillon : une légende reste une hypothèse.
- 04Surveiller un fluxPoser une question fermée sur des images successives, sur une machine modeste qui tourne en continu. Le modèle 0,5B est conçu pour être affiné à une tâche étroite, ce qui améliore fortement sa précision selon M87 Labs.
Une bonne pratique se dégage de la fiche de la version 3.1 : posez des questions fermées et précises. Un petit modèle répond bien à « y a-t-il un casque sur la tête de la personne ? » et se disperse sur « analyse cette scène ».
#Ce qu'il ne faut pas lui demander
La fiche de la version 3.1 consacre une section entière à ses limites, ce qui est rare et précieux. Elle décrit les pannes les plus fréquentes en évaluation, et les seuils qu'elle donne valent comme repères pour les modèles de la même famille.
- Petits textes
- Le texte inférieur à environ 10 pixels à la résolution de la tuile est souvent mal lu ou ignoré : recadrez et agrandissez la zone d'abord.
- Petits objets
- Les objets de moins de 12 pixels sur le grand côté sont manqués par detect : utilisez point sur une zone recadrée.
- Scènes chargées
- Au-delà d'environ 50 instances, le rappel baisse et les objets identiques adjacents fusionnent. Les comptages supérieurs à 50 sont peu fiables.
- Lecture de texte floue
- Sur du texte flou, stylisé ou partiellement caché, le modèle peut sortir une chaîne plausible mais fausse, sans signal de faible confiance. Pour un document entier, un moteur d'OCR est plus sûr.
- Usages à enjeu
- Interprétation médicale et décisions juridiques ou financières sur documents sans relecture humaine sont déclarées hors périmètre. La sortie d'un petit modèle se contrôle.
#Licences : ce que vous pouvez faire
| Modèle | Licence | Ce qu'elle permet, en résumé |
|---|---|---|
| Moondream 2 | Apache 2.0 | Usage libre, y compris commercial, avec les conditions habituelles d'Apache 2.0 |
| Moondream 3 Preview | Business Source License 1.1 avec clause « No Third-Party Service » | Usage personnel, de recherche et la plupart des usages commerciaux ; pas d'offre payante concurrente de M87 Labs, y compris un accès hébergé ou un SDK payant qui embarque les poids |
| Moondream 3.1 | Moondream Model License 1.0, source-available, en vigueur le 7 juillet 2026 | Usage commercial, affinage, quantification et redistribution autorisés ; une licence séparée est requise pour offrir Moondream lui-même comme service hébergé général |
Pour indexer votre propre photothèque ou décrire les images de votre site, aucune de ces licences ne pose de problème : un usage interne ou une brique de produit est autorisé. La limite ne concerne que celui qui voudrait vendre l'accès à Moondream lui-même, par exemple une API générale de vision hébergée. En cas de doute pour un usage commercial, la licence fait foi, pas ce résumé.
#Moondream ou un gros modèle de vision
La question à se poser n'est pas « lequel est le meilleur » mais « combien d'images, et pour quelle décision ». Une poignée d'images par jour et des questions ouvertes : prenez le plus gros modèle que votre carte accepte. Des milliers d'images et une question fermée répétée : un petit modèle rend le projet possible.
Une architecture en cascade combine les deux : le petit modèle traite tout et signale les cas intéressants, le grand modèle n'intervient que sur ceux-là. Sur un fonds important, c'est le schéma qui offre le meilleur rapport entre qualité et temps de calcul. La compétence de détection de Moondream sert alors de filtre : elle recadre l'objet, et le grand modèle analyse la zone recadrée.
- Modèles multimodaux en local avec Ollama
- Qwen3-VL en local
- PaddleOCR : l'OCR qui comprend la page
- Source : le dépôt GitHub de Moondream
- Source : la page des modèles de Moondream
#FAQ
Moondream est-il gratuit ?+
Faut-il une carte graphique ?+
Sait-il lire un document scanné ?+
Moondream ou un modèle de vision plus gros ?+
Peut-on l'utiliser sur beaucoup d'images à la suite ?+
Peut-on l'affiner pour une tâche précise ?+
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.