Chiosa
FR
Systems & Infrastructure

StreamAhead adapte le traitement vidéo avant l’arrivée des questions

StreamAhead: Real-Time Streaming Video Question Answering via Adaptive Precomputation · arXiv:2610.25551

4 min
Mis à jour
(a) Building KV caches for every segment, (b) deferring computation under temporal dependencies, and (c) adaptive precomputation in StreamAhead.
(a) Building KV caches for every segment, (b) deferring computation under temporal dependencies, and (c) adaptive precomputation in StreamAhead.Fig. 1 · StreamAhead: Real-Time Streaming Video Question Answering via Adaptive Precomputation · Haoyang Fan et al. · CC BY 4.0

En termes simples

Un système qui répond à des questions sur une vidéo en direct doit suivre l’arrivée des nouvelles images sans savoir à quel moment une question sera posée. StreamAhead règle à l’avance la quantité de calcul effectuée sur chaque partie de la vidéo, puis termine le traitement des parties utiles à la question.

Lors d’un test par rejeu, il a traité 30 images par seconde tout en maintenant sous une demi-seconde le temps d’attente au 95e percentile entre l’arrivée d’une question et la génération du premier jeton. Ce résultat concerne la configuration et le rejeu testés.

La recherche

Comment un système qui répond à des questions sur une vidéo peut-il suivre le débit requis d’un flux en direct tout en répondant rapidement, s’il ne sait pas quand une question arrivera ?

Effectuer davantage de calcul à l’avance peut accélérer les réponses, mais risque de laisser les nouvelles images en attente ; retarder ce calcul peut ralentir la réponse.

StreamAhead fait progresser chaque segment vidéo selon les ressources disponibles, puis termine le traitement des segments récupérés lorsqu’une question arrive, afin d’équilibrer le débit du flux et le délai de réponse.

StreamAhead stocke chaque segment vidéo après une quantité variable de traitement, puis réutilise la représentation stockée la plus complète et ne termine que le calcul restant pour les segments récupérés. Son planificateur mesure ces coûts, donne la priorité au traitement nécessaire à la réponse lorsqu’une question arrive et utilise les ressources CPU et GPU disponibles pour préparer davantage de segments.

Les auteurs rapportent la précision des réponses sur des tests de questions vidéo et, lors d’une série de rejeux à différents débits, un traitement à 30 images par seconde avec un temps d’attente au 95e percentile inférieur à 0,5 seconde entre l’arrivée d’une question et la génération du premier jeton.

Ces résultats étayent l’idée d’ajuster le calcul effectué à l’avance pour équilibrer le traitement de la vidéo reçue et le délai de réponse.

Les résultats reposent sur les charges de travail et les configurations testées. Les segments sont encodés indépendamment, ce qui limite leurs interactions.

Les essais du système ont utilisé un seul GPU, répété les images vidéo d’origine lorsque le débit de traitement dépassait la fréquence d’images de la vidéo, et reposaient sur des profils qui supposent une charge de travail stable.

Ce que montrent les preuves

  • Le conflit de calendrier

    StreamAhead associe la conception d’un algorithme et celle d’un système pour répondre à des questions sur une vidéo en direct.

    Il s’attaque à un conflit de calendrier : le système doit traiter les images à mesure qu’elles arrivent, sans savoir quand une question sera posée. Effectuer davantage de calcul à l’avance peut réduire le travail après l’arrivée d’une question, mais un excès de calcul anticipé peut faire prendre du retard sur la vidéo reçue.

  • Le calcul réparti par segments

    Le système découpe la vidéo en segments indépendants, qui peuvent s’arrêter à différentes étapes du traitement. Un segment peut conserver ses images, des caractéristiques visuelles calculées à partir de celles-ci, ou un cache de clés-valeurs indépendant de la question.

    Lorsqu’une question arrive, StreamAhead récupère les segments pertinents, réutilise pour chacun l’étape la plus avancée disponible et n’effectue que le calcul restant avant de les assembler pour produire une réponse.

  • Évaluer la qualité des réponses

    Les auteurs ont mesuré la précision des réponses sur OVO-Bench, qui évalue la proportion de questions sur des vidéos auxquelles le système répond correctement, et sur StreamingBench Real-Time, qui teste les réponses à des questions sur une vidéo en cours et mesure également leur précision.

    Avec Qwen3-VL-8B, StreamAhead a obtenu 76,9 % et 53,5 % sur les sous-ensembles complets Perception et Backward d’OVO-Bench. Il a obtenu 79,30 % sur un sous-ensemble tiré au hasard, représentant environ la moitié de StreamingBench Real-Time ; les questions dépendant de l’audio ont été exclues.

  • Équilibrer débit et attente

    Un test par rejeu a mesuré le débit vidéo maximal permettant de respecter un objectif de temps d’attente au 95e percentile entre l’arrivée d’une question et la génération du premier jeton. StreamAhead a traité 30 images par seconde avec un temps inférieur à 0,5 seconde, et 57 images par seconde avec un temps inférieur à 2 secondes.

    Ces rejeux portaient sur 20 secondes de vidéo, avec une question posée à la fin ; l’entrée vidéo s’arrêtait à l’arrivée de la question.

  • Tester le chevauchement du pipeline

    Un test de contrôle à l’exécution a comparé StreamAhead à une version sans chevauchement des étapes CPU et GPU, tout en conservant le cache GPU de 16 GiB et les optimisations d’exécution sur GPU. À 40 et 50 images par seconde, le système complet a respecté l’objectif d’un délai de traitement au 95e percentile de 0,5 seconde ; la version sans chevauchement l’a dépassé.

    Ces essais indiquent que le chevauchement aide à respecter cet objectif dans les exécutions testées.

Détails

Article suivantPourquoi un cache partagé pour les invites a accru la latence de queue