Créez un Résumeur Vidéo avec Qwen2.5-Omni 3B & Gradio

Debuggercafe

Une nouvelle application démontre les capacités de Qwen2.5-Omni 3B, un modèle d’IA multimodal avancé de bout en bout, en créant un résumeur vidéo simple mais perspicace. Développé en utilisant Hugging Face pour l’intégration du modèle et Gradio pour l’interface utilisateur, ce projet met en évidence comment de puissants modèles d’IA peuvent être déployés sur du matériel grand public pour des applications pratiques.

Qwen2.5-Omni se distingue par sa capacité à traiter diverses entrées, y compris le texte, les images, les vidéos et l’audio, et à générer à la fois du texte et des sorties vocales naturelles. Exploitant la version à 3 milliards de paramètres de ce modèle, le résumeur vidéo est conçu pour prendre une vidéo téléchargée par l’utilisateur, la traiter par segments et générer un résumé complet.

Approche Technique et Implémentation

Le cœur de la fonctionnalité du résumeur réside dans sa gestion efficace de Qwen2.5-Omni 3B. Pour permettre au modèle de fonctionner sur des systèmes avec une VRAM limitée, comme une GPU RTX 3080 de 10 Go, plusieurs optimisations sont employées. Celles-ci incluent la quantification 4 bits, qui réduit l’empreinte mémoire des poids du modèle, et l’intégration de Flash Attention 2, une technique qui accélère les mécanismes d’attention et économise la mémoire GPU.

Étant donné que le traitement de vidéos entières à la fois peut être très gourmand en GPU, l’application adopte une stratégie de découpage vidéo en “chunks”. Les vidéos d’entrée sont divisées en segments plus petits et gérables à l’aide d’OpenCV. Chaque “chunk” vidéo temporaire est ensuite alimenté au modèle Qwen. Le processus de résumé se déroule en deux étapes principales :

  1. Analyse des Chunks : Le modèle analyse les “chunks” vidéo individuels, guidé par une invite système spécifique (SYSTEM_PROMPT_ANALYTICS), pour générer une description textuelle pour chaque segment. Ces analyses individuelles sont accumulées.

  2. Génération du Résumé Final : Une fois tous les “chunks” traités, les analyses accumulées sont concaténées. Ce texte combiné forme une nouvelle entrée pour Qwen, cette fois en utilisant un SYSTEM_PROMPT_SUMMARY pour guider le modèle dans la génération d’un résumé global et approfondi de l’ensemble de la vidéo. Pour une expérience utilisateur plus fluide, le résumé final est diffusé jeton par jeton (token by token) vers l’interface utilisateur.

L’interface utilisateur, construite avec Gradio, offre une expérience simple. Les utilisateurs peuvent télécharger une vidéo et spécifier une durée de “chunk”. L’interface utilisateur offre un retour d’information en temps réel, affichant la progression du traitement des “chunks” et le journal cumulatif des analyses de segments individuels. La gestion des erreurs et le nettoyage des fichiers temporaires sont robustement implémentés pour assurer la stabilité et une gestion efficace des ressources.

Résultats Expérimentaux et Observations

Le résumeur vidéo a été testé avec divers types de vidéos, révélant à la fois les forces et les limitations actuelles du modèle.

  • Vidéo d’Intersection Routière (Courte) : Lors des tests avec une courte vidéo représentant une intersection routière, divisée en quatre “chunks” de 5 secondes, le modèle a généré un résumé final remarquablement précis. Cela démontre sa capacité à résumer efficacement des informations visuelles concises et claires.

  • Vidéo de Scène de Détail Intérieur (Longue) : Un test plus difficile a impliqué une scène de détail intérieur de 30 minutes. Initialement, le modèle a bien fonctionné, générant des résumés corrects pour les premiers “chunks”. Cependant, il a rapidement commencé à “halluciner”, identifiant à tort des scènes comme provenant du “jeu vidéo Minecraft”. Bien que certains “chunks” ultérieurs aient été correctement décrits, la prévalence de ces erreurs a conduit à un résumé final partiellement inexact. Cela met en évidence un défi avec des entrées plus longues, où la compréhension contextuelle du modèle peut se dégrader ou entraîner des confabulations.

  • Considérations de Mémoire Insuffisante (OOM) : Une observation critique lors des expériences a été le potentiel d’erreurs de mémoire insuffisante (OOM), en particulier lors de la génération du résumé final pour de très longues vidéos (par exemple, dépassant 2 minutes, ce qui entraîne 100 à 170 “chunks”). Le volume considérable de résumés de “chunks” accumulés alimentant le générateur de résumé final peut dépasser les limites de mémoire GPU, même avec le découpage.

  • Vidéo de Forêt Enneigée (Simple) : Étonnamment, une vidéo apparemment simple de deux personnes marchant dans une forêt enneigée a donné des résultats majoritairement incorrects. Le modèle a “halluciné”, décrivant des “pixels corrompus” et ne mentionnant que brièvement la forêt enneigée. La cause exacte de cette mauvaise interprétation n’est pas claire, mais suggère que les performances du modèle peuvent varier de manière imprévisible même avec des entrées simples. Le développeur a noté que l’exécution du modèle en pleine précision (FP16/BF16) pourrait donner des résultats différents, bien que cela n’ait pas été testé.

Améliorations Futures

Le résumeur vidéo actuel sert de première étape. De futures améliorations pourraient le transformer en une plateforme d’analyse vidéo open-source plus complète, similaire à des solutions commerciales comme Azure Vision Studio. Les améliorations potentielles incluent :

  • Recherche Avancée : Permettre aux utilisateurs de trouver des scénarios ou des incidents spécifiques dans une vidéo à l’aide de requêtes en langage naturel.

  • Intégration d’Horodatages : Ajout d’horodatages pour localiser précisément les événements ou incidents spécifiques dans la vidéo.

  • Capacités Vocales : Utilisation du spectre multimodal complet de Qwen2.5-Omni pour intégrer la synthèse vocale pour les résumés générés.

  • Analyse de Pistes Audio : Intégration de l’analyse des pistes audio vidéo pour créer des résumés plus riches et plus approfondis.

  • Résolution des Malentendus du Modèle : Des recherches supplémentaires sur les raisons pour lesquelles le modèle interprète occasionnellement mal les images ou “hallucine” sont cruciales pour améliorer la précision.

Bien que Gradio offre un environnement de prototypage rapide, une plateforme d’analyse vidéo plus avancée nécessiterait probablement une interface utilisateur complète et personnalisée pour s’adapter à ses fonctionnalités étendues et à sa complexité.

En conclusion, ce projet démontre avec succès la construction d’un résumeur vidéo utilisant Qwen2.5-Omni 3B, mettant en valeur son potentiel pour des applications pratiques. Les expériences ont fourni des informations précieuses sur les performances du modèle, soulignant ses forces dans la synthèse de contenu clair et concis, tout en identifiant les défis liés à l’hallucination, à la gestion de très longues vidéos et aux interprétations erronées occasionnelles et imprévisibles. Ces observations ouvrent la voie à de futures recherches et développements dans la compréhension vidéo multimodale.