فاز 12 · درس 18

درک ویدیوهای طولانی در پنجره کانتکست چند میلیون توکنی

نوع
ساختنی
زمان
حدود 180 دقیقه
زبان‌ها
Python (stdlib, needle-in-haystack simulator + agentic-retrieval router)
پیش‌نیاز
فاز 12 · درس 17 (توکن‌های زمانی ویدیو)
طومار طولانی از نگاتیو فیلم سینمایی که در یک حلقه شناور پیچیده شده و پرتوی نوری یک فریم مشخص از آن را مانند ذره‌بین روشن کرده است
فهرست مطالب
  1. اهداف یادگیری
  2. صورت مسئله
  3. مفاهیم کلیدی
  4. مسیر 1: کانتکست خام (Gemini 1.5 و Claude Opus)
  5. مسیر 2: رینگ اتنشن (LWM و LongVILA)
  6. مسیر 3: فشرده‌سازی توکن (Video-XL و LongVA)
  7. مسیر 4: بازیابی ایجنتی (VideoAgent)
  8. بنچمارک‌های سوزن در انبار کاه
  9. کدام مسیر را انتخاب کنیم؟
  10. الگوی عملیاتی در سال 2026
  11. استفاده در عمل
  12. خروجی این درس
  13. تمرین‌ها
  14. اصطلاحات کلیدی
  15. برای مطالعه‌ی بیشتر

تبدیل یک ویدیوی باکیفیت و طولانی به توکن‌های بصری، به معنای تولید صدها هزار یا حتی ده‌ها میلیون توکن است. برای توسعه‌دهنده‌ای که می‌خواهد سیستم تحلیل ویدیو یا پاسخ به پرسش روی محتوای ویدیویی بسازد، پر کردن مستقیم حافظه‌ی مدل با تمام فریم‌ها نه اقتصادی است و نه در عمل ممکن. درک تکنیک‌های مدیریت این کانتکست سنگین، تفاوت میان یک سیستم کند و پرهزینه با یک راهکار عملیاتی است.

در حال حاضر چهار رویکرد مشخص برای حل این گلوگاه به کار می‌رود: پذیرش مستقیم کانتکست خام چندمیلیونی، توزیع بار حافظه با رینگ اتنشن (Ring Attention)، خلاصه‌سازی و فشرده‌سازی فریم‌ها پیش از ورود به مدل، و در نهایت معماری بازیابی ایجنتی (Agentic Retrieval). هر مسیر بر اساس نیاز شما به دقت در بازخوانی جزئیات یا سرعت پاسخ‌دهی، بده‌بستان‌های خاص خود را تحمیل می‌کند.

اگر از داخل ایران توسعه می‌دهید، استفاده از پنجره‌های کانتکست چندمیلیونی سرویس‌های ابری خارجی مانند Gemini API علاوه بر هزینه‌های دلاری سنگین با چالش پرداخت ارزی و ناپایداری دسترسی به API همراه است؛ از سوی دیگر، اجرای محلی مدل‌های بزرگ متن‌باز مثل گزینه‌های 72 میلیاردی روی ویدیوهای طولانی به منابع پردازشی و کارت‌های گرافیک بسیار قدرتمند نیاز دارد. شناخت الگوهای ترکیبی و روش‌های کاهش توکن، کلید ساخت سرویس‌های قابل‌اجرا و بهینه خواهد بود.

یک ویدیوی 4K یک‌ساعته با نرخ 24 فریم بر ثانیه (FPS)، پس از قطعه‌بندی (patching) و امبدینگ، در حدود 60 میلیون توکن (Token) تولید می‌کند. متن پیاده‌شده‌ی یک اپیزود پادکست 2 ساعته حدود 30,000 توکن است. یک فیلم سینمایی کامل روی دیسک Blu-ray، حتی پس از فشرده‌سازی با ادغام (pooling) تهاجمی، صدها هزار توکن حجم دارد. مدل Gemini 1.5 شرکت گوگل (مارس 2024) با کانتکست 10 میلیون توکنی خود آغازگر این عصر شد و توانست بازخوانی (Recall) سوزن در انبار کاه (needle-in-a-haystack) را روی ویدیوهای یک‌ساعته بسیار مطمئن انجام دهد. مدل LWM (لیو و همکاران، فوریه 2024) مسیر مقیاس‌پذیری با رینگ اتنشن (ring attention) را نشان داد. پروژه‌های LongVILA و Video-XL ظرفیت دریافت و پردازش داده‌ها را فراتر بردند و VideoAgent نیز کانتکست خام را با بازیابی ایجنتی (agentic retrieval) جایگزین کرد. هر رویکرد، توازن متفاوتی میان توان محاسباتی، بازخوانی و پیچیدگی مهندسی برقرار می‌کند. در این درس، این رویکردها را در کنار یکدیگر بررسی می‌کنیم.

اهداف یادگیری

  • محاسبه‌ی تعداد کل توکن‌های بصری برای ویدیوهای طولانی بر اساس FPS و ضرایب مختلف ادغام.
  • شرح چهار مسیر مقیاس‌پذیری: کانتکست خام (Gemini 1.5)، رینگ اتنشن (LWM)، فشرده‌سازی توکن (LongVILA / Video-XL) و بازیابی ایجنتی (VideoAgent).
  • مقایسه‌ی مدل‌های بینایی-زبانی (VLM) با کانتکست خام در برابر مدل‌های مبتنی بر بازیابی ایجنتی (مانند VideoAgent) از نظر دقت و تاخیر (Latency).
  • طراحی آزمون سوزن در انبار کاه برای یک ویدیوی 30 دقیقه‌ای و سنجش بازخوانی در یک دقیقه‌ی مشخص.

صورت مسئله

یک تک‌فریم با پچ‌های هم‌اندازه‌ی Qwen2.5-VL در رزولوشن پیش‌فرض 384 حدود 729 توکن مصرف می‌کند. با ادغام 3x3، این مقدار به 81 توکن در هر فریم می‌رسد. یک ویدیوی 30 دقیقه‌ای با نرخ 1 فریم بر ثانیه معادل 1800 فریم و در نتیجه 145,800 توکن است؛ مقداری که مدل‌های متن‌باز سال 2025 با زحمت و لب‌به‌لب از پس آن برمی‌آیند. همین ویدیو با نرخ 2 فریم بر ثانیه به 291,600 توکن نیاز دارد که فقط در بزرگ‌ترین کانتکست‌ها جا می‌گیرد.

یک فیلم 2 ساعته با نرخ 1 فریم بر ثانیه به 583 هزار توکن فضا نیاز دارد. این حجم از توان اکثر مدل‌های متن‌باز سال 2026 خارج است و به مدل‌هایی مثل Gemini 2.5 Pro یا ادغام بسیار تهاجمی‌تر نیاز دارد.

در مواجهه با این چالش، چهار مسیر برای مقیاس‌پذیری شکل گرفت.

مفاهیم کلیدی

مسیر 1: کانتکست خام (Gemini 1.5 و Claude Opus)

حل مسئله با تکیه بر سخت‌افزار قدرتمند: افزایش طول کانتکست به میلیون‌ها توکن و پردازش کل داده در یک گذر رو به جلو (forward pass).

مدل Gemini 1.5 Pro با کانتکست 1 میلیون توکن معرفی شد؛ Gemini 1.5 Ultra این مقدار را به 10 میلیون توکن رساند؛ و Gemini 2.5 Pro در سال 2026 ویدیوهای چندساعته را با اطمینان کامل پردازش می‌کند. مقاله‌ی این مدل (arXiv:2403.05530) بازخوانی 99.7 درصدی در آزمون سوزن در انبار کاه را تا حجم حدود 9.5 میلیون توکن گزارش کرده است.

از نظر مهندسی: یک پیاده‌سازی اختصاصی اتنشن با سلسله‌مراتب حافظه (محلی + سراسری + خلوت یا sparse) همراه با مسیریابی کارشناسان در ساختار ترکیبی از متخصصان (MoE) تا کارایی در کانتکست‌های طولانی حفظ شود. جزئیات دقیق آن منتشر نشده و متن‌باز نیست.

مسیر 2: رینگ اتنشن (LWM و LongVILA)

رینگ اتنشن دنباله‌های طولانی را بین چندین دستگاه در قالب یک «حلقه» (ring) توزیع می‌کند؛ به این صورت که هر دستگاه بخشی از دنباله را نگه می‌دارد. اتنشن روی کل دنباله به این شکل محاسبه می‌شود که هر دستگاه بخش خودش را در یک الگوی حلقوی به دستگاه بعدی می‌فرستد، اتنشن جزئی را حساب می‌کند و در نهایت نتایج را تجمیع می‌نماید.

مدل LWM (لیو و همکاران، 2024) با این روش مدلی با کانتکست 1 میلیون توکن آموزش داد. حافظه‌ی مورد نیاز هر دستگاه متناسب با اندازه‌ی بخشی که نگه می‌دارد مقیاس می‌شود؛ بنابراین با افزودن دستگاه‌ها، طول کانتکست تقریباً به‌صورت خطی افزایش می‌یابد. کل بار محاسباتی اتنشن همچنان نسبت به طول کانتکست درجه‌دو باقی می‌ماند؛ رینگ اتنشن این بار را بین دستگاه‌ها تقسیم می‌کند و انتقال مقادیر کلید/مقدار (Key/Value) را با انجام محاسبات هم‌پوشانی می‌دهد.

مدل LongVILA (arXiv:2408.10188) این الگو را برای VLMها تطبیق داد. ویدیوهای 1400 فریمی با 192 توکن در هر فریم (معادل 268 هزار توکن کانتکست)، با رینگ اتنشن و به کمک موازی‌سازی 8 جهته آموزش داده شدند.

مسیر 3: فشرده‌سازی توکن (Video-XL و LongVA)

رویکردی کم‌هزینه‌تر از کانتکست خام: فشرده‌سازی تهاجمی توکن‌ها پیش از آنکه دنباله به دست مدل زبانی بزرگ (LLM) برسد.

مدل Video-XL (arXiv:2409.14485) از یک توکن خلاصه‌ی بصری استفاده می‌کند: هر کلیپ با N فریم تنها یک توکن «خلاصه» تولید می‌کند که به این N فریم اتنشن می‌زند. در مرحله‌ی استنتاج، مدل زبانی برای هر کلیپ فقط یک توکن خلاصه می‌بیند و همین کار حجم کانتکست را به‌شدت کاهش می‌دهد.

مدل LongVA با تکنیکی به نام «انتقال کانتکست طولانی» (long context transfer)، کانتکست مدل زبانی را از 200 هزار به 2 میلیون توکن می‌رساند؛ ابتدا روی متن‌های طولانی آموزش می‌بیند و سپس این قابلیت را از طریق بازنمایی مشترک به ویدیوهای طولانی منتقل می‌کند.

فشرده‌سازی توکن، بازخوانی در زمان‌بندی‌های دقیق را فدای مقیاس‌پذیری می‌کند. مدل کلیت ماجرا را می‌داند، اما گاهی فریم‌های دقیق را از دست می‌دهد.

مسیر 4: بازیابی ایجنتی (VideoAgent)

به جای فرستادن کل ویدیو به LLM، ویدیو را مانند یک پایگاه داده در نظر بگیرید و از یک LLM برای پرس‌وجو از آن استفاده کنید.

روند کار در VideoAgent (arXiv:2403.10517):

  1. مدل زبانی پرسش را می‌خواند.
  2. مدل زبانی از یک ابزار بازیابی، کلیپ‌های مرتبط را درخواست می‌کند («بخش‌هایی را که گربه در آن‌ها حضور دارد نشان بده»).
  3. ابزار، بازه‌های زمانی کلیپ‌های منطبق را برمی‌گرداند.
  4. مدل زبانی آن کلیپ‌ها را از طریق یک VLM بررسی می‌کند.
  5. مدل زبانی پاسخ را تولید می‌کند یا پرسش‌های تکمیلی می‌پرسد.

این همان الگوی «LLM به‌عنوان ایجنت» است که برای ویدیوهای طولانی به کار می‌رود. هزینه‌ی استنتاج کمتر تمام می‌شود (چون فقط کلیپ‌های مرتبط انکود می‌شوند)، ولی پیچیدگی مهندسی بالاتر می‌رود؛ زیرا کیفیت ابزار بازیابی به گلگاه سیستم تبدیل خواهد شد.

بنچمارک‌های سوزن در انبار کاه

آزمون استاندارد کانتکست‌های طولانی: قرار دادن یک نشانه‌ی بصری یا متنی خاص در نقطه‌ای تصادفی از ویدیو و سپس طرح پرسشی که پاسخ به آن مستلزم بازخوانی همان نشانه باشد.

معیار ارزیابی: بازخوانی در K (Recall@K) بر حسب طول ویدیو و موقعیت قرارگیری نشانه.

مدل Gemini 2.5 Pro در ویدیوهای تا 90 دقیقه به بازخوانی بیش از 99 درصد می‌رسد. مدل‌های متن‌باز 72 میلیاردی (مانند Qwen2.5-VL-72B و InternVL3-78B) در ویدیوهای 30 دقیقه‌ای به بازخوانی حدود 85 تا 90 درصد می‌رسند، اما بعد از 60 دقیقه افت می‌کنند.

مدل VideoAgent در ویدیوهای بالای 2 ساعت می‌تواند با مدل‌های کانتکست خام رقابت کند یا حتی از آن‌ها جلو بزند؛ چرا که اگر ابزار بازیابی دقیق باشد، مستقیماً به خود سوزن دست پیدا می‌کند.

کدام مسیر را انتخاب کنیم؟

برای یک کلیپ 15 دقیقه‌ای با دقتی در لبه‌ی فناوری: مدل متن‌باز 72 میلیاردی همراه با کانتکست پیش‌فرض معمولاً پاسخگو است؛ مثلاً Qwen2.5-VL-72B را انتخاب کنید.

برای محتوای 30 دقیقه تا 1 ساعت: در میان مدل‌های متن‌باز LongVILA یا Video-XL، و در میان گزینه‌های اختصاصی Gemini 2.5 Pro مناسب است. سطح کیفیت خروجی تعیین‌کننده است؛ اگر بالاترین کیفیت را می‌خواهید، باید سراغ مدل‌های اختصاصی بروید.

برای محتوای بالای 2 ساعت: سراغ VideoAgent یا الگوهای مشابه بازیابی بروید. همچنین می‌توانید ویدیو را به بخش‌های کوچک‌تر خلاصه کنید و خلاصه‌های سلسله‌مراتبی را به مدل بدهید.

الگوی عملیاتی در سال 2026

پایپ‌لاین‌های عملیاتی پردازش ویدیوهای طولانی در عمل به صورت ترکیبی (هیبرید) ساخته می‌شوند:

  1. اجرای نمونه‌برداری با FPS متغیر به همراه ادغام تهاجمی روی کل ویدیو (دستیابی به یک بازنمایی سراسری 100 هزار توکنی).
  2. ارسال آن به یک VLM با اندازه‌ی 72B برای دریافت خلاصه‌ی سراسری.
  3. در صورت پرسیدن سوالات دقیق از سوی کاربر، اجرای بازیابی ایجنتی با استفاده از خلاصه‌ی سراسری به‌عنوان شاخص (Index).

این روش، کانتکست خام را برای درک سراسری، با بازیابی برای جزئیات محلی ترکیب می‌کند.

بودجه توکن ویدیوتعداد فریم بر ثانیه توکن‌ها را چند برابر می‌کند
VIDEO TOKEN BUDGETVisual tokens scale with sampled frames, and frames scale with FPS times duration. Doubling the sampling rate doubles the token count, so an hour-long clip races past any fixed context window. The three escape routes are brute-force million-token context, ring attention split across devices, and aggressive pooling or agentic retrieval that never loads the whole video at once.محدودیت زمینهتوکن‌هافریم بر ثانیه1 fps2 fps4 fps8 fps16 fps
توکن‌های بصری بر اساس فریم‌های نمونه‌برداری‌شده مقیاس می‌گیرند، و فریم‌ها با ضرب FPS در مدت‌زمان ویدیو رشد می‌کنند. دو برابر کردن نرخ نمونه‌برداری تعداد توکن‌ها را دو برابر می‌کند، بنابراین یک ویدیوی یک‌ساعته به‌سرعت از هر پنجره زمینه ثابتی عبور خواهد کرد. سه راه نجات عبارتند از زمینه میلیونی از طریق قدرت پردازشی صرف، Ring Attention توزیع‌شده میان دستگاه‌ها، و ادغام تهاجمی (pooling) یا بازیابی ایجنتی که هیچ‌گاه کل ویدیو را یک‌باره بارگذاری نمی‌کند.

استفاده در عمل

فایل code/main.py:

  • بودجه‌ی توکن را برای ویدیوهای 1 دقیقه‌ای تا 3 ساعته در FPSها و ضرایب ادغام مختلف محاسبه می‌کند.
  • اجرای آزمون سوزن در انبار کاه را شبیه‌سازی می‌کند: تزریق یک نشانه در زمانی تصادفی، طرح پرسش، و محاسبه‌ی امتیاز بازخوانی.
  • شامل یک شبیه‌ساز مسیریاب (Router) بازیابی ایجنتی است که کلیپ‌های مشخصی را برای ارسال به VLM پایین‌دستی انتخاب می‌کند.

جدول بودجه‌بندی را اجرا کنید تا شکاف عظیم میان ابعاد مختلف ویدیو را حس کنید.

خروجی این درس

این درس فایل outputs/skill-long-video-strategy-planner.md را تولید می‌کند. این ابزار بر اساس مدت‌زمان ویدیو و پیچیدگی پرسش، بهترین روش را از میان کانتکست خام، فشرده‌سازی یا بازیابی ایجنتی انتخاب کرده و انتظارات مربوط به تاخیر و کیفیت را محاسبه می‌کند.

تمرین‌ها

  1. یک ویدیو سخنرانی 45 دقیقه‌ای با نرخ 1 فریم بر ثانیه و 81 توکن به ازای هر فریم را در نظر بگیرید. تعداد کل توکن‌ها چقدر است؟ در کانتکست کدام مدل‌ها جا می‌گیرد؟

  2. یک آزمون سوزن در انبار کاه طراحی کنید: نشانه را در کدام دقیقه قرار می‌دهید و قالب دقیق پرسش چگونه خواهد بود؟

  3. مدل Qwen2.5-VL-72B با کانتکست خام (80 هزار توکن) را با VideoAgent (ترکیب Claude 3.5 و سیستم بازیابی) روی یک ویدیوی 1 ساعته مقایسه کنید. کدام‌یک از نظر بازخوانی و کدام‌یک از نظر تاخیر برنده می‌شود؟

  4. در رینگ اتنشن، حافظه‌ی هر دستگاه متناسب با طول دنباله تقسیم بر تعداد دستگاه‌ها مقیاس می‌شود، در حالی که کل بار محاسباتی اتنشن درجه‌دو باقی می‌ماند. علت را توضیح دهید و بگویید اگر مرحله‌ی چرخش در حلقه را حذف کنیم چه مشکلی پیش می‌آید.

  5. بخش 5 مقاله‌ی Gemini 1.5 درباره‌ی آزمون سوزن در انبار کاه را مطالعه کنید. این مقاله چه تفاوتی را برای بازخوانی در مرز 1 میلیون توکن در برابر 10 میلیون توکن نشان داده است؟

اصطلاحات کلیدی

اصطلاح در گفت‌وگوهای عامیانه معنای دقیق فنی
کانتکست خام (Brute context) «فقط توکن‌های بیشتر» گسترش کانتکست LLM به میلیون‌ها توکن و پردازش یک‌باره‌ی همه‌چیز در یک گذر
رینگ اتنشن (Ring attention) «موازی‌سازی به سبک LWM» الگوی اتنشن توزیع‌شده که در آن هر دستگاه بخشی از دنباله را نگه می‌دارد و در حلقه می‌چرخاند
فشرده‌سازی توکن (Token compression) «توکن‌های خلاصه» کاهش توکن‌های هر کلیپ قبل از ورود به LLM، با استفاده از یک فشرده‌ساز آموزش‌دیده
سوزن در انبار کاه (Needle-in-haystack) «تست NIH» قرار دادن یک نشانه‌ی منحصربه‌فرد در نقطه‌ای تصادفی و سنجش توانایی مدل در بازخوانی آن هنگام آزمون
بازیابی ایجنتی (Agentic retrieval) «LLM به‌عنوان برنامه‌ریز پرس‌وجو» فرآیندی که در آن LLM از یک ابزار بازیابی کلیپ‌های مرتبط را می‌خواهد، آن‌ها را با VLM بررسی می‌کند و پاسخ نهایی را می‌سازد
مدل VideoAgent «الگوی بازیابی برای ویدیو» طراحی استاندارد بازیابی ایجنتی: پرسش -> ابزار -> کلیپ -> پاسخ

برای مطالعه‌ی بیشتر

سؤالات متداول

آزمون سوزن در انبار کاه (Needle-in-a-Haystack) در ارزیابی ویدیو چیست؟

روشی استاندارد برای سنجش کانتکست که در آن یک نشانه بصری یا متنی خاص در نقطه‌ای تصادفی از ویدیو قرار داده می‌شود تا توانایی مدل در پیدا کردن و بازخوانی دقیق آن ارزیابی شود.

رینگ اتنشن (Ring Attention) چگونه مشکل حافظه را در توالی‌های طولانی حل می‌کند؟

دنباله طولانی فریم‌ها را بین چند دستگاه به شکل حلقه تقسیم می‌کند؛ هر دستگاه بخش خود را نگه داشته و مقادیر Key و Value را در طول حلقه می‌چرخاند تا مصرف حافظه هر کارت به صورت خطی کاهش یابد.

در ویدیوهای بالای 2 ساعت، بازیابی ایجنتی (VideoAgent) چه برتری نسبت به کانتکست خام دارد؟

به جای بارگذاری تمام فریم‌ها در کانتکست، از یک ابزار بازیابی برای پیدا کردن بخش‌های مرتبط استفاده می‌کند و فقط کلیپ‌های هدف را تحلیل می‌کند؛ در نتیجه هزینه و حافظه استنتاج به مراتب کمتر است.

ما رو توی گوگل بیشتر ببین

با افزودن نکست ادمین به «منابع ترجیحی» گوگل، درس‌ها و مطالب ما را در بخش اخبار برتر جستجو بیشتر می‌بینید.