Phase 12: Multimodal AI

Qwen-VL परिवार और गतिशील-FPS वीडियो

क्यूवेन-वीएल परिवार क्यूवेन-वीएल (2023), क्यूवेन2-वीएल (2024), क्यूवेन2.5 वीएल (2025), क्यूवेन3-वीएल (2025) 2026 में सबसे प्रभावशाली ओपन विजन-भाषा मॉडल वंश है। प्रत्येक पीढ़ी ने एक ही निर्णायक वास्तुकला शर्त लगाई कि खुले पारिस्थितिकी तंत्र के बाकी हिस्सों ने बारह महीने के भीतर कॉपी कीः एम-रोपीई के माध्यम से मूल गतिशील संकल्प, पूर्ण समय संरेखण के साथ गतिशील-एफपीएस नमूनाकरण, विंटर ध्यान में ViT, और संरचित एजेंट आउटपुट प्रारूप। Qwen3-VL द्वारा, नुस्खा स्थिर हो गया थाः एक 2 डी-रोपी-विट एन्कोडर नेटिव-एस्पेक्ट-रेशियो इनपुट के साथ, एक एमएलपी प्रोजेक्टर एक बड़े Qwen3 भाषा आधार में, और प्रशिक्षण चरणों में जो ओसीआर, ग्राउंडिंग और एजेंट व्यवहार पर जोर देते थे प्रथम श्रेणी के लक्ष्य। यह सबक परिवार को समयानुसार पढ़ता है ताकि आप समझ सकें कि हर बटन क्यों है।

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 के चार पीढ़ीगत उन्नयनों का क्रम और प्रत्येक ने क्या सक्षम किया है, उसका नाम बताइए।
  • Qwen2.5-VL शैली JSON एजेंट आउटपुट प्रारूप को वायर करें और VLM प्रतिक्रिया से संरचित उपकरण कॉल को विश्लेषण करें।

समस्या

Qwen-VL को अगस्त 2023 में LLaVA-1.5 और BLIP-2 के लिए प्रत्यक्ष प्रतिक्रिया के रूप में भेजा गया था। Qwen टीम द्वारा लक्षित अंतर तीन गुना थाः रिज़ॉल्यूशन, वीडियो और संरचित आउटपुट।

संकल्पः LLaVA-1.5 336x336 पर चला गया। तस्वीरों के लिए अच्छा, चीनी भाषा के एक चालान या घने स्प्रेडशीट स्क्रीनशॉट के लिए बेकार। क्यूवेन-वीएल का पहला नवाचार 448x448 था और ग्राउंड बॉयनिंग बॉक्स आउटपुट था, जिससे मॉडल चीजों को इंगित करता है।

वीडियोः वीडियो-एलएएमए ने प्रति फ्रेम एन्कोडर को ढेर किया और उन्हें एलएलएम में खिलाया। यह लघु क्लिप के लिए काम करता था, न कि बहु-मिनट के वीडियो के लिए जहां समय अक्ष संकेत है। क्यूवेन टीम एक एकल एन्कोडर चाहती थी जो समय को समझती है।

संरचित आउटपुटः LLaVA मुक्त रूप पाठ जारी करता है। एक एजेंट को JSON की आवश्यकता होती है। Qwen-VL को पाठ के रूप में बॉयनिंग-बॉक्स निर्देशांक सहित स्पष्ट JSON आउटपुट प्रारूपों पर प्रशिक्षित किया जाता है।

प्रत्येक Qwen-VL पीढ़ी इन तीन अक्षों में से एक को बढ़ाता है।

अवधारणा

Qwen-VL (अगस्त 2023)

पहली पीढ़ीः ओपनक्लिप ViT-bigG/14 को एन्कोडर (2.5B पैरामीटर), LLama- संगत Q-Former (1-चरण 256 क्वेरी के साथ), Qwen-7B आधार। योगदानः

  • 448x448 रिज़ॉल्यूशन (तो एक खुला VLM के लिए SOTA) ।
  • ग्राउंडिंगः स्पष्ट निर्देशांक-सकेत आउटपुट के साथ छवि-पाठ जोड़े पर प्रशिक्षित। "बिल्ली <box>112, 204), (280, 344)</box> पर है।"
  • शुरुआत से चीनी + अंग्रेजी बहुभाषी प्रशिक्षण।

उस समय बेंचमार्कः अंग्रेजी में जीपीटी-4वी के साथ प्रतिस्पर्धी, चीनी में हावी। ग्राउंडिंग पर्यवेक्षण वास्तविक शीर्षक था।

Qwen2-VL (सितंबर 2024) M-RoPE और मूल निवारण

Qwen2-VL ने फिक्स्ड-रिज़ॉल्यूशन + Q-Former स्टैक को एक मूल रूप से गतिशील-रिज़ॉल्यूशन ViT एन्कोडर से बदल दिया। प्रमुख परिवर्तनः

  • मूल गतिशील संकल्प। ViT 28 से विभाजित किसी भी HxW को स्वीकार करता है (पैच 14 2x स्थानिक विलय के साथ) । 1120x672 (40x24 विलय किए गए पैच) पर एक छवि 960 दृश्य टोकन उत्पन्न करती है। कोई आकार, कोई टाइलिंग, कोई थंबनेल नहीं।
  • M-RoPE (मल्टीमोडल RoPE) प्रत्येक टोकन में 1D के बजाय 3D स्थिति (t, h, w) होती है। छवियों के लिए t = 0, वीडियो के लिए t = frame_index। RoPE प्रति अक्ष आवृत्ति द्वारा क्वेरी / कुंजी वेक्टरों को घुमाता है। कोई स्थिति सम्मिलित तालिका नहीं है।
  • MLP प्रोजेक्टर. Q-Former छोड़ दें; विलय पैच टोकन पर एक 2-परत MLP का उपयोग करें.
  • गतिशील एफपीएस के साथ वीडियो। वीडियो डिफ़ॉल्ट रूप से 1-2 एफपीएस पर नमूना है, लेकिन मॉडल मनमाने फ्रेम गिनती स्वीकार करता है।

परिणामः 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>फ्रेम टोकन के साथ इंटरलेव किए गए टोकन।
  • गतिशील एफपीएस. धीमी फुटेज के लिए 1 एफपीएस पर नमूना, कार्रवाई के लिए 4+ एफपीएस। उपयोगकर्ता या प्रशिक्षक चुनते हैं; एम-रोपीई अनुकूलित होता है।
  • विंटा ध्यान ViT में खिड़की ध्यान खिड़की (स्थानिक ब्लॉक के भीतर) के लिए पारगमन के लिए; वैश्विक ध्यान हर कुछ परतों में।
  • स्पष्ट JSON आउटपुट प्रारूप। उपकरण-कॉल डेटा पर प्रशिक्षितः "{\"उपकरण\": \"क्लिक\", \"कोर्ड्स\": [380, 220]}". एजेंट-तैयार बॉक्स से बाहर।
  • MRoPE-v2 स्केलिंग. अधिकतम इनपुट आकार के साथ स्थिति स्केल ताकि 10 मिनट का वीडियो आवृत्ति रेंज से बाहर न चले।

बेंचमार्कः Qwen2.5-VL-72B अधिकांश वीडियो बेंचमार्क पर GPT-4o से बेहतर है, दस्तावेजों पर Gemini 2.0 से मेल खाता है, और GUI ग्राउंडिंग के लिए ओपन-मोडल SOTA सेट करता है (स्क्रीनस्पॉटः 84% सटीकता बनाम GPT-4o के लिए 38%).

Qwen3-VL (नवंबर 2025)

Qwen3-VL एक क्रमिक उन्नयन है जो पुनर्मूल्यांकन के बजाय समेकित करता हैः बड़ा LLM रीढ़ (Qwen3-72B), विस्तारित प्रशिक्षण डेटा, बेहतर OCR, Qwen3 "विचार मोड" के माध्यम से मजबूत तर्क। ViT और M-RoPE रहना। पेपर वास्तुकला पर डेटा और प्रशिक्षण सुधार पर केंद्रित है।

वंशावली का निष्कर्षः 2025 तक क्यूवेन-वीएल वास्तुकला स्थिर हो गई थी। अतिरिक्त पीढ़ियों ने गणना और डेटा को स्केल किया, आदिम नहीं।

मैथमेटिकल रूप से एम-रोपी

क्लासिकल 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 छिपे हुए dim को तीन बैंड में विभाजित करता है।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. .

लाभः एक स्थिति कोडिंग टेक्स्ट, छवि और वीडियो को बिना शाखा कोड या विभिन्न स्थिति तालिकाओं के संभालती है।

गतिशील-एफपीएस नमूना लेने की तर्क

वीडियो की अवधि को देखते हुए Tसेकंड और लक्ष्य टोकन बजट B:

  1. अधिकतम FPS की गणना करें जो आप अपने लिए कर सकते हैंः fps_max = B / (T * tokens_per_frame). .
  2. से एक लक्ष्य FPS चुनें{1, 2, 4, 8}जो संतुष्ट करता है fps <= fps_max. .
  3. यदि गति उच्च है (ऑप्टिकल-फ्लो हेउरिस्टिक या स्पष्ट उपयोगकर्ता अनुरोध), उच्च एफपीएस चुनें। यदि गति कम है, तो कम चुनें।
  4. चयनित एफपीएस पर नमूना समान रूप से; सम्मिलित करें <time>t</time>फ्रेम के बीच टोकन।

Qwen2.5-VL इस तर्क को अप्रत्यक्ष रूप से प्रशिक्षित करता है; निष्कर्ष पर उपयोगकर्ता नियंत्रण के माध्यम से fpsपैरामीटर. एक 60 सेकंड की कार्रवाई क्रम 4 FPS के साथ 81 टोकन प्रति फ्रेम = 19440 टोकन, 32k संदर्भ में प्रबंधनीय।

संरचित एजेंट आउटपुट

Qwen2.5VL के एजेंट प्रशिक्षण स्पष्ट रूप से संरचित उपकरण कॉल को लक्षित करता हैः

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

पार्सिंग निर्धारक हैः मॉडल के आउटपुट पर JSON.parse की तुलना करें। मुक्त-फॉर्म "क्लिक करें (1024, 512) " की तुलना करें, जिसमें रेजेक्स और अस्पष्टता हैंडलिंग की आवश्यकता थी। बदलाव इस कारण है कि क्यूवेन2.5 - वीएल के स्क्रीनस्पॉट स्कोर क्यूवेन2-वीएल के 55% से 84% तक कूद गए।

इसका प्रयोग करें

code/main.pyकार्य करता हैः

  • पैक किए गए अनुक्रम के लिए M-RoPE स्थिति गणना पाठ, छवि पैच और वीडियो फ्रेम को मिलाकर।
  • गतिशील-एफपीएस नमूनाः दी गई (समय, बजट, गति_स्तर), एफपीएस चुनें और फ्रेम समय टिकट जारी करें।
  • एक खिलौना Qwen2.5-VL JSON-आउटपुट पार्सर जो निर्देशांक क्षेत्रों के साथ उपकरण-कॉल प्रतिक्रियाओं को संभालता है।

इसे चलाएं, फिर 5 मिनट के वीडियो पर स्थिर-एफपीएस के लिए गतिशील-एफपीएस के लिए आदान-प्रदान करते समय अंतर महसूस करें।

इसे भेजें

यह सबक हमें फल देता हैoutputs/skill-qwen-vl-pipeline-designer.md. एक वीडियो कार्य (निरीक्षण, एजेंट, कार्रवाई की पहचान, पहुंच) को देखते हुए, यह Qwen2.5VL कॉन्फ़िगरेशन (फ्रेम बजट, FPS रणनीति, विंडो-अटेंशन फ्लैग, एजेंट-आउटपुट मोड) और एक विलंबता अनुमान जारी करता है। इसका उपयोग जब भी आप एक वीडियो उत्पाद के लिए Qwen-VL-परिवार मॉडल को तैनात करते हैं।

व्यायाम

  1. (t=3, h=5, w=7) पर छिपे हुए 48 (16 प्रति बैंड, आधार थैटा 10000) के साथ एक पैच के लिए M-RoPE घूर्णन की गणना करें। प्रत्येक बैंड में पहले तीन जोड़े के लिए घूर्णन कोण दिखाएं।
  1. एक 10 मिनट के सुरक्षा कैमरा रिकॉर्डिंग 1 FPS पर कितने फ्रेम का उत्पादन करता है? 384 संकल्प के साथ 3x पूल, कुल कितने टोकन? Qwen2.5-VL के डिफ़ॉल्ट 32k संदर्भ इसे संभालता है?
  1. 30 सेकंड के टेनिस रैली के लिए FPS चुनें बनाम 30 सेकंड के नुस्खा डेमो बनाम 30 सेकंड के UI एजेंट रिकॉर्डिंग। गतिशील-FPS तर्क के साथ प्रत्येक को सही ठहराना।
  1. Qwen2.5-VL पूरी तरह से Q-Former को छोड़ देता है। एक सरल MLP 2025 में काम क्यों करता है लेकिन 2023 में नहीं? (संकेतः डेटा पैमाने और एन्कोडर गुणवत्ता)
  1. पायथन डिक्ट में Qwen2.5-VL JSON टूल-कॉल आउटपुट को पार्स करें। गलत स्वरूपित 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.