15 points par GN⁺ 2025-05-14 | 1 commentaires | Partager sur WhatsApp
  • Repo officiel de « FastVLM: Efficient Vision Encoding for Vision Language Models », présenté par Apple à la CVPR 2025
  • FastViTHD montre des performances de réduction du nombre de tokens et de diminution du temps d’encodage des images haute résolution
  • Le plus petit modèle atteint des résultats 85 fois plus rapides que LLaVA-OneVision-0.5B avec un encodeur 3,4 fois plus petit
  • Le grand modèle affiche des performances supérieures à Cambrian-1-8B avec une vitesse 7,9 fois plus rapide
  • Une application de démonstration fonctionnant sur des appareils mobiles comme l’iPhone est fournie

Importance et avantages du projet FastVLM

  • FastVLM est une implémentation open source officielle pour les modèles vision-langage (Vision Language Model, VLM)
  • Il offre des avantages remarquables en matière de vitesse et d’efficacité par rapport aux encodeurs visuels existants
  • Il est particulièrement utile sur différents matériels, notamment dans les environnements Apple Silicon et mobiles
  • Il est possible de choisir et d’utiliser directement des modèles préentraînés de tailles et de performances variées
  • Par rapport à d’autres projets, sa petite taille de modèle garantit des réponses temps réel optimisées et une faible consommation de ressources matérielles

Principales caractéristiques

  • FastViTHD est un encodeur visuel innovant à architecture hybride, qui réduit le nombre de tokens en sortie et diminue fortement le temps d’encodage des images haute résolution
  • Le plus petit modèle, FastVLM-0.5B, offre un TTFT (temps jusqu’au premier token) 85 fois plus rapide que LLaVA-OneVision-0.5B et un encodeur 3,4 fois plus petit
  • Le grand modèle FastVLM-7B, associé au LLM Qwen2-7B, affiche un TTFT 7,9 fois plus rapide et de meilleures performances avec un encodeur d’image unique face aux SOTA récents comme Cambrian-1-8B
  • Une application de démonstration fonctionnant dans un environnement mobile réel (iOS) est également fournie, ce qui permet de valider immédiatement l’usage de la technologie

Informations sur les modèles (Model Zoo)

  • Des modèles FastVLM de différentes tailles (FastVLM-0.5B, FastVLM-1.5B, FastVLM-7B) sont proposés en versions étape 2 et étape 3
  • Des fichiers de checkpoints PyTorch sont officiellement fournis pour chaque modèle
  • Les utilisateurs peuvent utiliser les commandes officielles pour télécharger en lot plusieurs modèles dans le répertoire checkpoints

Exemples d’utilisation (Usage Example)

  • Les checkpoints PyTorch déjà entraînés peuvent être testés facilement et rapidement en inférence avec le script predict.py
  • En fournissant une image et un prompt (question) via les commandes d’exemple, on peut obtenir une description de l’image ou une réponse à la question posée

Prise en charge d’Apple Silicon et des appareils mobiles

  • Un guide explique le processus distinct d’export du modèle et de quantification pour l’inférence sur Apple Silicon
  • Des fichiers de checkpoints de version directement optimisée pour Apple Silicon sont officiellement distribués
  • Un guide de développement d’application et le code source utilisables directement sur iPhone, iPad et Mac sont indiqués dans le dossier /app

Informations complémentaires et open source

  • Le lien arXiv officiel de l’article FastVLM ainsi qu’un format de citation pour l’article de la CVPR 2025 sont fournis
  • Le code repose sur plusieurs projets open source, et les contributions ainsi que les informations de licence sont indiquées séparément
  • Avant toute utilisation des modèles et du code, il faut impérativement vérifier la licence (fichier de licence et licence du modèle)

1 commentaires

 
GN⁺ 2025-05-14
Commentaires Hacker News
  • Un modèle haut de gamme de 0,5B qui pèse 2 Go : il paraît absurde de laisser chaque app le télécharger séparément. Apple a probablement l’intention de précharger clairement ces modèles au niveau de l’OS et de fournir un SDK permettant à toutes les apps de les appeler localement. C’est vraiment une période enthousiasmante. J’ai même ouvert une issue pour vérifier ce point.
    • Je pense qu’un modèle de fondation standardisé au niveau de l’OS, basé sur des poids ouverts, offrirait un potentiel énorme. Si l’API permettait aux développeurs d’apps de charger à l’exécution des fine-tunings LoRa personnalisés sur le modèle standard de l’OS, on pourrait idéalement profiter à la fois des avantages d’un modèle spécifique à l’app tout en conservant une taille d’app populaire, et de ceux d’un modèle de fondation.
    • On pourrait encore réduire la taille du modèle en le quantifiant en f16 ou même en int8, mais tu as mis le doigt sur l’essentiel. Du point de vue de l’utilisateur aussi, devoir télécharger un fichier de 500 Mo pour une seule app n’est pas une expérience très agréable.
    • Il me semble qu’ils avaient déjà évoqué quelque chose de similaire à la WWDC l’an dernier à propos des LLM. L’idée était que l’OS fournisse le modèle de base et que chaque app puisse l’affiner avec des LoRA ou y ajouter des têtes personnalisées.
    • Je doute qu’ils en parlent publiquement en dehors d’une grande présentation. J’imagine qu’on ne pourra en avoir confirmation qu’à un événement comme la WWDC.
  • J’ai l’impression qu’augmenter suffisamment la vitesse du time-to-first-token est indispensable pour des apps qui regardent l’écran et agissent immédiatement, comme des assistants on-device fondés sur une vision continue. Voir une vraie app tourner dans le dépôt était assez impressionnant, et je suis impatient de la compiler et de l’essayer moi-même ce soir.
  • J’aimerais qu’ils contribuent plus activement à la communauté AI/ML et publient aussi les poids et l’architecture du modèle sur HuggingFace. Ce qui est amusant, c’est que j’ai vu aujourd’hui une démo VLM similaire utilisant un VLM gratuit. Lien de référence : https://github.com/ngxson/smolvlm-realtime-webcam
  • Je développe moi-même une app de voix + vision en temps réel appelée Sen. Elle est actuellement disponible en bêta et diffuse les frames en temps réel via webrtc. Je la trouve rapide et intelligente, et je me demande à quel point ce sera encore meilleur à mesure que ces modèles se rapprocheront davantage du matériel. À l’avenir, on dirait bien que ce type de modèle pourra tourner directement sur l’appareil avec un TTFB naturel et rapide.
    • Si tu as un billet qui récapitule ta stack technique et ton setup, pourrais-tu le partager ? Même un simple résumé serait apprécié. J’aimerais créer quelque chose dans le style d’un Qwen personnel pour enfants, avec des échanges de prompts via boutons et voix, mais je n’ai pas encore besoin de la partie vision pour le moment (même si ce serait cool à ajouter un jour). Siri est vraiment décevant. On n’est pas encore au niveau que j’attends.
  • Je trouve vraiment enthousiasmant de voir qu’au lieu d’injecter des ressources sans limite, on travaille à les réduire efficacement et à faire tourner des modèles plus petits.
  • J’ai de plus en plus le sentiment que l’avenir de la robotique passera par les modèles VLA (vision-language-action). Tesla FSD est lui aussi un modèle VLA end-to-end, et un encodage visuel efficace me semble décisif pour la sécurité et la réactivité des robots.
  • En tant que père d’un jeune enfant dont le nerf optique a été gravement endommagé, avec la perspective d’une cécité possible à tout moment, un traitement expérimental dans le cadre d’un essai clinique du NIH a permis de préserver une partie de sa vue (je pense qu’il faut continuer à soutenir la science). Grâce aux progrès des Vision-Language Models, j’ai désormais l’espoir que, même si mon enfant venait à perdre la vue, il pourrait continuer à interagir avec le monde, aller à l’université et s’épanouir dans les sciences ou l’ingénierie qu’il aime. Il est particulièrement doué pour son âge, et son avenir semble prometteur.
    • J’aimerais partager mon expérience de personne ayant grandi dans les années 80 avec une cécité totale. À l’époque, la technologie n’avait rien à voir avec celle d’aujourd’hui, et ce n’est qu’autour de mes 12 ans que les ordinateurs sont apparus ; j’ai appris à taper sur une vieille machine à écrire et à écrire en braille avec une lourde machine en métal. Les technologies OCR étaient médiocres, et ce n’est qu’au lycée que j’ai pu suivre les cours avec un ordinateur portable équipé d’un afficheur braille. J’utilisais DOS et je prenais mes notes avec Word 5.5. À part PC Lingua pour apprendre le latin, il n’existait pratiquement pas d’outils pédagogiques spécialisés. Au final, je n’avais guère plus que mes notes électroniques et ma tête, et pourtant j’ai terminé mes études ; aujourd’hui j’ai un travail qui me satisfait vraiment, je vis chez moi, je partage ma vie avec une adorable compagne, et je mène une existence totalement indépendante. J’ai même dû repousser délibérément ma mère, qui voulait sans cesse m’aider. Entre personnes handicapées, on dit parfois que la surprotection parentale crée un « handicap supplémentaire causé par les parents », car c’est l’un des principaux freins à l’autonomie. Je t’invite à bien réfléchir au sens de cette formule sans la prendre émotionnellement. Ton enfant peut tout à fait être autonome à 18 ans. Plus on retarde artificiellement ce moment, plus la véritable autonomie devient difficile, et plus on lui fait perdre des occasions de développer sa force intérieure. Je comprends que les avancées technologiques te donnent de l’espoir aujourd’hui, mais je crois que le potentiel de ton enfant dépasse sans doute ce que tu imagines. Si tu l’aides à découvrir ce dont il est capable, il pourra accomplir des choses vraiment étonnantes. Et j’aimerais aussi qu’il ne dépende pas uniquement d’appareils coûteux ou des outils les plus récents. Moi aussi, j’adore les modèles de vision, mais encore aujourd’hui, quand je sors de chez moi, je prends simplement ma canne et mon téléphone. Il m’arrive parfois de demander à Siri « où suis-je ? », mais au final, c’est ma cane qui me guide. En réalité, la plupart des technologies les plus récentes sont survendues, et je veux souligner qu’avec une audition et un toucher ordinaires, on peut faire bien plus qu’on ne le pense. Je vous souhaite sincèrement, à toi, à ta famille et à ton enfant, le meilleur pour la suite.
  • Je me dis qu’avec ce genre de technologie, un simple téléphone et une caméra fixée sur des lunettes pourraient suffire à créer un véritable assistant pour les personnes malvoyantes ou aveugles. Des personnes qui ne pouvaient auparavant pas se déplacer sans aide pourraient peut-être mener une vie autonome au quotidien.
    • Cela peut être utile pour distinguer du poulet à la crème d’une soupe de champignons à la crème, mais pour tout ce qui touche à la mobilité, je ne pense pas que ce soit vraiment utile par rapport aux stratégies déjà utilisées par les personnes aveugles. Un retour du genre « il y a un arbre ici, encore un arbre, un piéton, encore un arbre, un panneau » ne me semble pas très utile en situation réelle de déplacement.
  • Je me demande s’il serait possible de convertir/exécuter ça dans llama.cpp. Le fait que ce soit basé sur LLaVA est plutôt encourageant.