Modèles vidéo: jetons temporaires et mise au sol
Type: Build
Languages: Python (stdlib, frame sampler + temporal-grounding evaluator)
Prerequisites: Phase 12 · 08 (LLaVA-OneVision)
Time: ~180 minutes
Objectifs d'apprentissage
- Expliquez pourquoi le codage positionnel temporel modifie les performances de la vidéo VLM indépendamment du codageur de vision.
- Comparer l'échantillonnage uniforme, dynamique-FPS et événement-driven de cadres sur les jetons-par seconde par rapport à la précision de mise à terre.
- Décrivez les conceptions Q-ex-per-clip (Video-LLaMA) vs. pooled-per-frame (Video-LLaVA) vs. M-RoPE-per-token (Qwen2.5-VL).
- Nombre des quatre critères de référence pour la vidéo: VideoMME, TempCompass, EgoSchema, Video-MMMU.
Le problème
Une vidéo de 1 minute à 30 FPS est de 1800 images. À 196 jetons visuels par image (ViT-B à 224), c'est 352k jetons plus gros que tout contexte LLM de l'ère 2024.
Il existe trois stratégies de réduction:
- Les cadres de sous-échantillons (1-8 FPS selon le contenu).
- Rassembler les jetons de patch de chaque cadre de manière agressive (3x3 ou 4x4 bilinéaires).
- Comprimez par un Q-former qui prend un clip de 16 cadres et sort 64 jetons.
Chaque trade-off est différent. le sous-échantillonnage perd les détails temporels. le pooling perd les détails spatiaux. le Q-former perd un peu les deux mais économise des jetons.
Le codeur de position temporelle est l'autre axe: comment le modèle sait-il que le cadre 5 est venu avant le cadre 6 ? Les options incluent le simple RoPE temporel 1D (Video-LLaMA), les emblèmes temporels apprises (Video-LLaVA) et le TMRoPE (Qwen2.5-VL, 3D complet).
Le concept
Vidéo-LLaMA: Q-former par clip + branche audio
Le vidéo-LLMA (2023) est le premier vidéo-LLM ouvert.
- Des clips de 16 images à 2 FPS (jusqu'à 8 secondes).
- Les fonctionnalités ViT par cadre -> Video Q-former qui intervient sur les 16 cadres -> 32 requêtes apprises -> LLM.
- Branche audio parallèle: forme d'onde -> encodeur audio ImageBind -> Audio Q-former -> 32 requêtes -> LLM.
La force: raisonnement articulaire audiovisuel.
VidéoChat et Vidéo-LLaVA
VideoChat a gardé l'idée de Video-LLaMA mais a abandonné l'audio et simplifié. Video-LLaVA (Lin et coll., 2023) a formé un seul encodeur visuel sur les images et les cadres vidéo ("alignement avant la projection"), donnant une représentation unifiée.
Aucun ne peut traiter de longues vidéos.
Qwen2,5-VL et TMRoPE
Qwen2.5-VL introduit TMRoPE Embedding de position rotative temporelle-modalité. Chaque jeton de patch porte une position (t, h, w) où t est le timestamp réel (pas l'index du cadre).
Différences clés par rapport à l'intégration temporelle simple:
- Le modèle voit "à 4,2 secondes" et non "à 15".
- Chaque jeton visuel tourne indépendamment par son timestamp.
- Si vous prenez un échantillon à 2 FPS ici et 4 FPS là, TMRoPE gère l'espacement inégalitaire de manière native.
TMRoPE permet de " à quelle seconde le chat saute-t-il ? " Le modèle peut sortir " à 4,2 secondes. " Video-LLaMA ne pouvait dire que " tôt dans le clip. "
Stratégies de prélèvement d'échantillons
Unique: l'échantillon N cadres uniformément sur la durée.
FPS dynamique: échantillon adapté en fonction de l'intensité du mouvement.
Événement-driven: exécuter un détecteur léger, échantillonner plus où l'action se produit.
Tasté + contexte: échantillon aux limites des prises de vue + quelques cadres adjacents. Utilisé pour le contenu cinématographique.
Rassemblement par cadre
À 1 FPS et 576 jetons par image, un clip de 5 minutes est de 172.800 jetons. Faible avec le contexte 128k de Qwen2.5-VL-72B mais coûteux.
Le pool bilinéaire 3x3 se réduit à 64 jetons par cadre -> 19 200 jetons pendant 5 minutes.
Les actions de base sont plus agressives (6x6 -> 16 jetons par cadre) pour les flux de travail des agents où les détails spatiaux comptent moins.
Les quatre critères de référence vidéo
- Vidéo-MME: compréhension vidéo complète, courte + moyenne + longue.
- TempCompass: raisonnement temporel finement nourri, questions "avant" / "après".
- EgoSchema: vidéo à la première personne.
- Vidéo-MMMU: questions vidéo multimodelles et multidisciplinaires.
Une évaluation vidéo-VLM complète touche les quatre. Ils soulignent différents axes TempCompass est tout sur la commande, EgoSchema est environ 3 + minutes de raisonnement, VideoMME couvre les durées.
Format de sortie de mise au sol
Format de sortie pour la mise à terre temporelle:
- "Le chat saute autour de la marque de 4 secondes". Facile à analyser mais imprecise.
- JSON structuré:
{"event": "jump", "start": 4.1, "end": 4.3}Le Qwen2.5VL est équipé de ce train. - Basé sur des jetons: spécial
<time>4.1</time>Les jetons sont interconnectés avec la réponse.
Le format de sortie JSON de Qwen2.5VL partage directement.
2026 les meilleures pratiques
Pour les VLM vidéo en 2026:
- Encodeur: SigLIP 2 avec M-RoPE ou TMRoPE (Qwen2.5-VL).
- Prise d'échantillons de cadres: FPS dynamique (1-4 en fonction du mouvement) avec capot maximal de cadres.
- Le poids par cadre: 3x3 bilinéaire.
- Sortie: JSON structuré avec champs de temps + événement.
- Les critères de référence: Vidéo- PME + TempCompass pour les entreprises générales; EgoSchema pour les entreprises à long terme.
Utilisez-le
code/main.pycomprend:
- Des échantillonnages de cadres FPS uniformes et dynamiques.
- Un évaluateur de la fondation temporelle de jouets: étant donné un événement de "vérité fondamentale" au moment T et une sortie de modèle, la précision est notée avec tolérance.
- Une comparaison entre les vidéos-LLaMA (16 images, Q-former), Vidéos-LLaVA (8 images, MLP), Qwen2.5-VL (FPS dynamique + TMRoPE).
La faire partir
Cette leçon produit outputs/skill-video-vlm-frame-planner.md. En fonction d'une tâche vidéo (monitoring, reconnaissance d'action, repérage temporel, résumé), il choisit l'échantillon de cadre, le facteur de mise en commun, le format de sortie et le niveau de précision attendu.
Exercices
- Pour une démonstration de cuisson de 3 minutes, choisissez uniforme contre FPS dynamique.
- TMRoPE ajoute ce qu'une simple table d'intégration temporelle ne peut pas faire spécifiquement ?
- Écrivez un schéma JSON pour le repérage temporel qu'un VLM peut apprendre à émettre.
- Lisez la section 3 de Video-LLaVA sur "L'alignement avant la projection". Pourquoi est-ce mieux que de former des encoders d'image et de vidéo séparés?
- Compte tenu du classement des entreprises vidéo-médicales, quelle est la différence entre le modèle ouvert le plus élevé et le modèle propriétaire le plus élevé à partir de 2026?
Les termes clés
| Term | What people say | What it actually means |
|---|---|---|
| Temporal grounding | "Time-localized answers" | VLM outputs a specific timestamp range for when an event happens |
| TMRoPE | "Time-Multimodal RoPE" | 3D rotary position with absolute timestamps, used by Qwen2.5-VL |
| Dynamic FPS | "Motion-aware sampling" | Sample more frames in high-motion segments, fewer in static ones |
| Frame pooling | "Spatial compress per frame" | Reduce patches per frame with bilinear interpolation before the LLM |
| Video Q-former | "Clip compressor" | Cross-attention bottleneck mapping N frames to K learned queries |
| VideoMME | "Video bench" | Comprehensive short/medium/long video benchmark, 2500+ samples |
Pour en savoir plus
- Zhang et al. — Video-LLaMA (arXiv:2306.02858)
- Li et al. — VideoChat (arXiv:2305.06355)
- Lin et al. — Video-LLaVA (arXiv:2311.10122)
- Qwen Team — Qwen2.5-VL (arXiv:2502.13923)
- Lin et al. — VILA-1.5 (arXiv:2312.07533)
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.