Distillation de programmes visuels : Distiller des outils et un raisonnement programmatique dans les modèles vision-langue

La résolution de tâches visuelles complexes telles que « Qui a inventé l'instrument musical à droite ? » implique une combinaison de compétences : la compréhension de l'espace, la reconnaissance d'instruments et le rappel des connaissances antérieures. Des travaux récents montrent un potentiel en décomposant ces tâches à l'aide d'un grand modèle linguistique (LLM) en un programme exécutable qui invoque des modèles visuels spécialisés. Cependant, les programmes générés sont sujets aux erreurs : ils omettent des étapes nécessaires, incluent des étapes superflues et ne peuvent pas se corriger lorsque les modèles spécialisés fournissent des sorties incorrectes. De plus, ils nécessitent le chargement de plusieurs modèles, entraînant des latences élevées et des coûts de calcul importants. Nous proposons la Distillation de Programmes Visuels (VPD), un cadre d'ajustement d'instructions qui produit un modèle vision-langage (VLM) capable de résoudre des tâches visuelles complexes en une seule passe avant. La VPD distille la capacité de raisonnement des LLMs en utilisant ces derniers pour échantillonner plusieurs programmes candidats, qui sont ensuite exécutés et vérifiés afin d'identifier un programme correct. Elle traduit chaque programme correct en une description linguistique des étapes de raisonnement, qui sont ensuite distillées dans un VLM. Des expériences approfondies montrent que la VPD améliore la capacité du VLM à compter, comprendre les relations spatiales et raisonner de manière compositionnelle. Notre PaLI-X formé avec VPD surpasse tous les modèles VLM précédents, atteignant des performances de pointe sur diverses tâches visuelles complexes, notamment MMBench, OK-VQA, A-OKVQA, TallyQA, POPE et Hateful Memes. Une évaluation par des annotateurs humains confirme également que la VPD améliore la véridicité et la cohérence des réponses du modèle. Enfin, des expériences sur la modération de contenu démontrent que la VPD est également utile pour s'adapter aux applications du monde réel avec peu de données.