Phase 12: Multimodal AI

Qwen-VL خانواده و ویدئو FPS دینامیک

خانواده Qwen-VL Qwen-VL (2023), Qwen2-VL (2024), Qwen2.5-VL (2025), Qwen3-VL (2025) در سال 2026 تأثیرگذارترین مدل زبان دید باز است. هر نسل یک شرط معماری قطعی را انجام داد که بقیه اکوسیستم باز در عرض دوازده ماه کپی کرد: رزولوشن دینامیک بومی از طریق M-RoPE، نمونه گیری دینامیک-FPS با هماهنگی مطلق زمان، توجه پنجره در ViT و فرمت های خروجی عامل ساختاری. با Qwen3-VL، دستور العمل ثابت شده بود: یک کدگر 2D-RoPE-ViT با ورودی نسبت جنبه های بومی، یک پروژکتور MLP به یک پایگاه زبان Qwen3 بزرگ، و مراحل آموزشی که بر OCR، زمین سازی و رفتار عامل به عنوان اهداف درجه اول تاکید می کردند. این درس خانواده رو به ترتیب خونده تا تو بفهمي چرا هر دکمه اي همونجاست

Type: Learn

Languages: Python (stdlib, M-RoPE encoder + dynamic-FPS sampler)

Prerequisites: Phase 12 · 06 (patch-n'-pack)

Time: ~120 minutes

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

  • گردش سه محور M-RoPE را محاسبه کنید (زمان، ارتفاع، عرض) و توضیح دهید که چرا همه سه مورد نیاز است.
  • برای یک ویدیو یک استراتژی نمونه گیری FPS پویا انتخاب کنید و در مورد دقت توکن در ثانیه در مقابل تشخیص رویداد استدلال کنید.
  • چهار ارتقاء نسل Qwen-VL را به ترتیب و آنچه هر کدام فعال می کنند نام ببرید.
  • یک قالب JSON از نوع Qwen2.5 - VL را ارسال کنید و تماس های ابزار ساختاری را از پاسخ VLM تجزیه و تحلیل کنید.

مشکل

Qwen-VL در اوت 2023 به عنوان پاسخ مستقیم به LLaVA-1.5 و BLIP-2 ارسال شد. شکافی که تیم Qwen هدف قرار داد سه برابر بود: رزولوشن، ویدیو و خروجی ساختاری.

راه حل: LLaVA-1.5 با 336x336 اجرا شد. برای عکس ها خوب است، برای یک فاکتور به زبان چینی یا یک صفحه نمایش صفحه گسترده مفید نیست. اولین نوآوری Qwen-VL 448x448 و خروجی جعبه مرزی زمینی بود، اجازه می دهد مدل به چیزها اشاره کند.

ویدیو: ویدیو-LLaMA کدر های هر فریم را جمع کرده و به LLM می رساند. این برای کلیپ های کوتاه کار می کرد، نه برای ویدیوهای چند دقیقه ای که محور زمانی سیگنال است. تیم Qwen می خواست یک کدر واحد را که زمان را درک می کند.

تولید ساختار یافته: LLaVA متن فرم آزاد را ارسال می کند. یک عامل به JSON نیاز دارد. Qwen-VL در قالب های تولید JSON صریح شامل همبستگی های جعبه مرزی به عنوان متن آموزش دیده است.

هر نسل Qwen-VL یکی از این سه محور را گسترش می دهد.

مفهوم

Qwen-VL (آگوست 2023)

نسل اول: OpenCLIP ViT-bigG/14 به عنوان کدگر (2.5B پارام) ، Q-Former سازگار LLama (1 مرحله با 256 سوال) ، Qwen-7B پایه. مشارکت:

  • رزولوشن 448x448 (پس SOTA برای یک VLM باز).
  • زمین سازی: در جفت های تصویر و متن با خروجی مشخص از نقاط هماهنگی آموزش دیده است. " گربه در <box> 112, 204), (280, 344)</box> است".
  • آموزش چند زبانی چینی + انگلیسی از ابتدا

شاخص های آن زمان: رقابتی با GPT-4V در زبان انگلیسی، غالب در زبان چینی. نظارت بر زمین سازی عنوان اصلی بود.

Qwen2-VL (ستمبر 2024) M-RoPE و قطعنامه بومی

Qwen2-VL جایگزین استیک با وضوح ثابت + Q-Former با یک کدر ViT با وضوح پویا به طور بومی جایگزین شد. تغییرات اصلی:

  • رزولوشن دینامیک بومی. ViT هر HxW قابل تقسیم با 28 (پات 14 با 2x ترکیب فضایی) را پذیرفته است. یک تصویر در 1120x672 (40x24 پات های ترکیب شده) 960 توکن بصری تولید می کند. هیچ اندازه، هیچ تاچ، هیچ تمنیل.
  • M-RoPE (روپی چندگانه) هر توکن دارای موقعیت 3D (t، h، w) به جای 1D است. برای تصاویر t=0, برای ویدیو t=frame_index. RoPE متری های جستجو / کلید را با فرکانس در هر محور به گردش می رساند. هیچ جدول گنجانشی موقعیتی وجود ندارد.
  • پروژکتور MLP. Q-Former رو کنار بگذار. از MLP دو لایه روی توکن های پیوند ادغام استفاده کن.
  • ویدیو با FPS پویا. نمونه ویدئویی با 1-2 FPS به طور پیش فرض، اما مدل شمارش قاب های تعسفی را پذیرفته است.

نتیجه: Qwen2-VL-7B با GPT-4o در چندین معیار چند مدل مطابقت داشت و در DocVQA (94.5 در مقابل 88.4) شکست خورد. تغییر معماری حرکت قطعی بود.

Qwen2.5-VL (فروری 2025) FPS پویا + زمان مطلق

تغییر بزرگ Qwen2.5VL ویدئو بود. FPS پویا فقط "برچینه های بیشتر در صورت نیاز" نیست.

  • نماد زمان مطلق. به جای شاخص های موقعیت (چشمۀ 0، 1، 2...) ، از زمان واقعی استفاده کنید. "در 0:04، گربه پر می شود". مدل می بیند<time>0.04</time>توکن هایی که با توکن های فریم متقابل هستند.
  • FPS پویا. نمونه در 1 FPS برای فیلمبرداری آهسته، 4+ FPS برای عمل. کاربر یا مربی انتخاب می کند؛ M-RoPE سازگار می شود.
  • توجه پنجره در ViT. توجه فضایی برای تولید پنجره (مقامی در داخل بلوک ها) است؛ توجه جهانی هر چند لایه.
  • فرمت JSON صریح. آموزش داده های تماس ابزار: "{\" ابزار\": \" کلیک\", \" کاردها\": [380, 220]}".
  • مقیاس MRoPE-v2: مقیاس موقعیت ها با حداکثر اندازه ورودی به طوری که یک ویدیو 10 دقیقه ای از محدوده فرکانس خارج نشود.

معیار: Qwen2.5-VL-72B GPT-4o را در اکثر معیار های ویدیویی پیروز می کند، با Gemini 2.0 در اسناد مطابقت دارد و مدل SOTA را برای زمین سازی GUI (ScreenSpot: 84٪ دقت در مقابل 38٪ برای GPT-4o) تنظیم می کند.

Qwen3-VL (نومبر 2025)

Qwen3-VL یک ارتقاء تدریجی است که به جای اختراع مجدد: ستون فقرات LLM بزرگتر (Qwen3-72B) ، داده های آموزشی گسترده تر، OCR بهبود یافته، استدلال قوی تر از طریق "وضع تفکر" Qwen3 است.

نتیجهٔ اصلی: تا سال 2025 معماری Qwen-VL پایدار شده بود. نسل های اضافی مقیاس محاسبه و داده ها را، نه ابتدایی ها.

M-RoPE به لحاظ ریاضی

روپی کلاسیک یک سوال را می چرخدqاندازه اشdبه لحاظ موقعیتmبا استفاده از نقاط هماهنگی جفت:

q_rot[2i]   = q[2i]   * cos(m * theta_i) - q[2i+1] * sin(m * theta_i)
q_rot[2i+1] = q[2i]   * sin(m * theta_i) + q[2i+1] * cos(m * theta_i)
theta_i     = 10000^(-2i/d)

M-RoPE، کمال پنهان رو به سه دسته تقسیم ميکنهd = 96. 32 کم به زمان، 32 به ارتفاع، 32 به عرض اختصاص دهید. هر باند با موقعیت محور خود چرخش می کند. یک پیچ در (t=5، h=10, w=20) چرخش می یابد R_t(5)،R_h(10)،R_w(20)به سه دسته اش اعمال می شود.

استفاده از توکن های متنی t = text_index, h = 0, w = 0(یا یک انتخاب عادی) ، حفظ سازگاری.t = frame_time, h = row, w = col. استفاده از تصاویر تکt = 0. .

مزیت: یک کد پوزیشن متن، تصویر و ویدیو را بدون کد شاخه بندی یا جدول های مختلف موقعیت مدیریت می کند.

منطق نمونه گیری FPS دینامیک

به نظر می رسد که مدت زمان ویدیوTثانیه ها و بودجه توکن های هدفB:

  1. حداکثر FPS رو که میتونی تحمل کنی محاسبه کن:fps_max = B / (T * tokens_per_frame). .
  2. از بين هدف FPS رو انتخاب کن{1, 2, 4, 8}که رضایت میدهfps <= fps_max. .
  3. اگر حرکت بالا باشد (هیرستیک جریان نوری یا درخواست صریح کاربر) FPS بالاتر را انتخاب کنید.
  4. نمونه به صورت یکسانی در FPS انتخاب شده؛ وارد کنید <time>t</time>توکن ها بین فریم ها

Qwen2.5 - VL این منطق را به طور ضمنی آموزش می دهد؛ در نتیجه کاربر از طریق fpsیک سری عمل 60 ثانیه ای در 4 FPS با 81 توکن در هر فریم = 19440 توکن، قابل مدیریت در یک زمینه 32k.

تولید اجنسی ساختار یافته

آموزش عامل Qwen2.5 - VL به طور صریح به تماس های ابزار ساختاری هدف قرار می دهد:

{
  "tool": "mouse_click",
  "coords": [1024, 512],
  "button": "left",
  "modifier": null
}

تجزیه و تحلیل تعیین کننده است: JSON.parse بر روی محصول مدل است. مقایسه با فرم آزاد "کلیک در (1024, 512) " که نیاز به کنترل regex و عدم وضوح دارد. تغییر این است که چرا امتیاز ScreenSpot Qwen2.5-VL از 55٪ به 84٪ از Qwen2-VL افزایش یافته است.

ازش استفاده کن

code/main.pyابزار:

  • محاسبه موقعیت M-RoPE برای یک ردیف بسته شده ترکیب متن، پیچ های تصویر و فریم های ویدیویی.
  • نمونه گیری FPS پویا: داده شده (مدت، بودجه، motion_level) ، FPS را انتخاب کنید و زمان فریم را ارسال کنید.
  • یک بازیافت کننده JSON Qwen2.5 - VL که پاسخ های تماس ابزار را با زمینه های هماهنگی اداره می کند.

آن را اجرا کنید، سپس تفاوت را احساس کنید وقتی که FPS ثابت را برای FPS پویا در یک ویدیو 5 دقیقه ای تغییر دهید.

-باده

این درس به ما کمک می کندoutputs/skill-qwen-vl-pipeline-designer.md. در نظر گرفتن یک کار ویدیویی (مراقب، عامل، تشخیص عمل، دسترسی) ، آن Qwen2.5 - VL پیکربندی (بودژۀ فریم، استراتژی FPS، پرچم توجه پنجره، حالت عامل-خروجی) و یک تاخیر تخمین می دهد. از این استفاده کنید هر زمان که شما یک مدل Qwen-VL- خانواده برای یک محصول ویدیویی استفاده کنید.

تمرینات

  1. گردش M-RoPE را برای یک پیچ در (t=3، h=5، w=7) با 48 (16 در هر باند، پایه theta 10000) پنهان کنید. زاویه های چرخش برای سه جفت اول در هر باند را نشان دهید.
  1. یک دوربین امنیتی ۱۰ دقیقه ای که با ۱ فاپس ضبط می کند، چند فریم تولید می کند؟ در ۳۸۴ رزولوشن با ۳x پول، چند توکن کل؟ آیا زمینه پیش فرض ۳۲ک Qwen2.5-VL آن را اداره می کند؟
  1. FPS را برای رالی تنیس ۳۰ ثانیه مقابل دیمو ترسیپی ۳۰ ثانیه مقابل ضبط ۳۰ ثانیه توسط عامل UI انتخاب کنید. هر یک را با منطق FPS پویا توجیه کنید.
  1. Qwen2.5VL Q-Former را کاملاً از بین می برد. چرا یک MLP ساده در سال 2025 کار می کند اما در سال 2023 کار نمی کند؟
  1. 3 Qwen2.5-VL JSON ابزار تماس در Dicts پایتون. چه چیزی برای JSON اشکال غلط و چه استراتژی بازیابی توصیه می کند Qwen کتاب آشپزی؟

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

TermWhat people sayWhat it actually means
M-RoPE"Multimodal RoPE"3D rotary position embedding with temporal, height, and width bands in the hidden dim
Dynamic FPS"Smart sampling"Frame sampling rate chosen per video based on motion, duration, and token budget
Absolute time token"Timestamp token"<time>t</time> interleaved in the sequence so the model sees actual seconds not frame index
Window attention"Local attention"Spatial self-attention restricted to small windows for speed; global attention added periodically
Structured agent output"JSON mode"Training data supervision teaching the VLM to emit parseable JSON with coords and tool names
min_pixels / max_pixels"Resolution bounds"Per-request Qwen2.5-VL controls bounding total pixel count and therefore token count
Grounding"Point-at-it"Outputting bounding-box coordinates as text tokens; used since Qwen-VL v1

خواندن بیشتر

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.