CLIP से BLIP-2 तक Q-Former Modality Bridge के रूप में
Type: Build
Languages: Python (stdlib, cross-attention + learnable-query demo)
Prerequisites: Phase 12 · 02 (CLIP), Phase 7 (Transformers)
Time: ~180 minutes
सीखने के लक्ष्य
- समझाएं कि ठंडे दृष्टि एन्कोडर और ठंडे एलएलएम के बीच एक प्रशिक्षित बोतल गला क्यों लागत और स्थिरता में अंत-से-अंत fineetuning से बेहतर है।
- एक क्रॉस-एटेंशन ब्लॉक लागू करें जहां बाहरी छवि विशेषताओं को सीखने योग्य क्वेरीओं का एक निश्चित सेट ध्यान देता है।
- BLIP-2 के दो चरणों के पूर्व प्रशिक्षण के माध्यम से जाएंः प्रतिनिधित्व (ITC + ITM + ITG) फिर जनरेटिव (मुस्कृत डिकोडर के साथ एलएम हानि) ।
- Q-Former की तुलना LLaVA में इस्तेमाल किए जाने वाले सरल MLP प्रोजेक्टर से करें और तर्क दें कि प्रत्येक विकल्प कब जीतता है।
समस्या
आपके पास एक जमे हुए ViT है जो प्रति छवि 256 पैच टोकन कम 1408 का उत्पादन करता है। आपके पास एक जमे हुए 7B LLM है जो कम 4096 के टोकन एम्बेडिंग की उम्मीद करता है। स्पष्ट पुल 1408 से 4096 तक एक रैखिक परत काम करता है, लेकिन एलएलएम के संदर्भ में सभी 256 पैच टोकन को खिलाए जाने पर प्रति छवि 256 अतिरिक्त टोकन खर्च होते हैं। 32 छवियों के बैच से अधिक जो केवल दृश्य मोडलिटी द्वारा खपत किए जाने वाले 8192 टोकन हैं।
BLIP-2 प्रश्नः क्या आप 256 टोकन छवि प्रतिनिधित्व को बहुत कम टोकन (कहें 32) में संपीड़ित कर सकते हैं जबकि एलएलएम के लिए कैप्शन, प्रश्नों का उत्तर देने और छवि के बारे में तर्क देने के लिए पर्याप्त जानकारी को संरक्षित कर सकते हैं? और क्या आप इस पुल को ठंडे रीढ़ की हड्डी को छूने के बिना प्रशिक्षित कर सकते हैं, प्रशिक्षण लागत को केवल पुल के मापदंडों पर रखते हुए?
उत्तरः एक Q-Former। 32 सीखने योग्य "सवाल" वेक्टर जो ViT के पैच टोकन को पार करते हैं, एक 32-टोकन दृश्य सारांश का उत्पादन करते हैं जो LLM का उपभोग करता है। 188M पैरामीटर कुल। LLM को छूने से पहले विरोधाभासी, मिलान और सृजनशील उद्देश्यों के साथ प्रशिक्षित।
अवधारणा
सीखने योग्य प्रश्न
Q-Former की मुख्य चालः LLM के पाठ टोकन को छवि पैचों पर ध्यान देने के बजाय, 32 सीखने योग्य क्वेरी वेक्टरों का एक नया सेट पेश करें Qप्रश्न मॉडल के पैरामीटर हैं वे प्रशिक्षण के दौरान सीखे जाते हैं और प्रत्येक छवि के लिए एक ही 32 प्रश्नों का उपयोग किया जाता है।
क्रॉस-अटेंशन के बाद, प्रत्येक क्वेरी में छवि का संपीड़ित सारांश होता है "मुख्य वस्तु का वर्णन करें", "पृष्ठभूमि का वर्णन करें", "वस्तुओं की गणना करें", आदि। क्वेरीएं सचमुच अर्थशास्त्र लेबल पर विशेषज्ञता नहीं देती हैं; वे सीखते हैं कि जो भी एन्कोडिंग डाउनस्ट्रीम नुकसान को कम करती है।
वास्तुकला
Q-Former एक छोटा ट्रांसफार्मर (12 परतें, ~ 100M पैराम) है जिसमें दो पथ हैंः
- क्वेरी पथः 32 क्वेरी वेक्टर स्व-विचार (अपने आप में) के माध्यम से बहते हैं, फिर जमे हुए ViT के पैच टोकन पर क्रॉस-विचार, फिर FFN।
- पाठ पथः BERT-जैसे पाठ एन्कोडर स्वयं-विचार पथ के साथ स्वयं-विचार और FFN वजन साझा करता है। पाठ पथ के लिए क्रॉस-विचार अक्षम है।
प्रशिक्षण के समय दोनों पथ चलते हैं। क्वेरी और पाठ साझा स्व-विचार के माध्यम से बातचीत करते हैं, जिसका अर्थ है कि क्वेरीएं पाठ पर आवश्यकता वाले कार्यों (आईटीएम, आईटीजी) के लिए शर्त लगा सकती हैं। वीएलएम हस्तान्तरण के लिए निष्कर्ष समय पर, केवल क्वेरीएं पार होती हैं, जिससे 32 दृश्य टोकन उत्पन्न होते हैं।
दो चरणों में प्रशिक्षण
बीएलआईपी-2 दो चरणों में प्री-ट्रेनिंग करता हैः
चरण 1: प्रतिनिधित्व सीखने (एलएलएम नहीं) तीन नुकसानः
- आईटीसी (छवि-पाठ विपरीत): संयुक्त क्वेरी टोकन और पाठ CLS टोकन के बीच CLIP शैली का विपरीत।
- आईटीएम (छवि-पाठ मिलान): द्विआधारी वर्गीकरण क्या यह छवि-पाठ जोड़ी एक मेल खाता है? हार्ड-नकारात्मक-माइन।
- आईटीजी (छवि आधारित पाठ उत्पादन): कारण एलएम पाठ पर हेड, क्वेरी पर आधारित। क्वेरी को पाठ-जनित सामग्री को कोडित करने के लिए मजबूर करता है।
केवल Q-Former ट्रेनें. ViT जमे हुए है. कोई LLM शामिल नहीं.
चरण 2: जनरेटिव लर्निंग. एक जमे हुए एलएलएम (ओपीटी -2.7 बी या फ्लेन-टी -एक्सएल, आदि) संलग्न करें। एक छोटी रैखिक परत के माध्यम से एलएलएम के एम्बेडिंग डिम में 32 क्वेरी आउटपुट का प्रोजेक्ट करें। उन्हें टेक्स्ट प्रॉम्प्ट के लिए तैयार करें। केवल रैखिक प्रोजेक्शन और क्यू-फॉर्म को सीपीएस पर खो दें।
चरण 2 के बाद, Q-Former + प्रोजेक्शन पूर्ण दृश्य एडाप्टर है। निष्कर्ष परः छवि → ViT → Q-Former → रैखिक परियोजना → पाठ → जमे हुए LLM आउटपुट जारी करता है।
पैरामीटर अर्थशास्त्र
बीएलआईपी-2 के साथ वीटी-जी/14 (1.1 बी, जमे हुए) + ओपीटी-6.7 बी (6.7 बी, जमे हुए) + क्यू-फॉर्मर (188 एम, प्रशिक्षित) = 8 बी कुल, 188 एम प्रशिक्षित। अकेले क्यू-फॉर्मर पूरे स्टैक के मापदंडों का ~ 2.4% है। प्रशिक्षण लागत इस पर प्रतिबिंबित करती हैः कुछ ए 100 के लिए दिन बनाम सप्ताह अंत से अंत तक।
गुणवत्ताः BLIP-2 शून्य शॉट VQA पर Flamingo-80B से मेल खाता है या उससे भी छोटा है।
इंस्ट्रक्टBLIP और निर्देश-जागरूक Q-Former
InstructBLIP (2023) एक अतिरिक्त इनपुट के साथ Q-Former का विस्तार करता हैः निर्देश पाठ स्वयं। क्रॉस-अंतर्वार्ता समय में, क्वेरी को अब छवि पैच और निर्देश दोनों तक पहुंच है। क्वेरी एक एकल निश्चित सारांश सीखने के बजाय प्रत्येक निर्देश पर विशेषज्ञता प्राप्त कर सकती है ("कारों की गिनती करें", "मूड का वर्णन करें") । बेंचमार्क लंबे समय तक किए गए कार्यों पर लाभ प्राप्त करता है।
MiniGPT-4 और केवल प्रोजेक्टर दृष्टिकोण
MiniGPT-4 ने Q-Former को रखा लेकिन बाकी सब कुछ फ्रीज करते हुए केवल आउटपुट रैखिक प्रक्षेपण को प्रशिक्षित किया। सस्ता, लेकिन लागत गुणवत्ता है प्रश्न BLIP-2 के थे, आपके नहीं। तेजी से पुनरावृत्ति के लिए अच्छा, सबसे अच्छा वास्तुकला नहीं।
क्यों LLaVA सरल हो गया
LLaVA (2023, पाठ 12.05) ने Q-Former को एक सादे 2-परत MLP से बदल दिया जो LLM स्थान में प्रत्येक ViT पैच टोकन को 576 टोकन प्रति छवि के लिए 24x24 ग्रिड में प्रोजेक्ट करता है, जो सभी LLM को खिलाया जाता है। कम संपीड़न लेकिन एलएलएम के लिए भाग लेने देता है कच्चे पैच पर. उस समय यह विवादास्पद था; 2023 के अंत तक यह प्रमुख था क्योंकि दृश्य निर्देश डेटा (एलएलएवीए-इंस्ट्रक्ट-150k) ने साबित किया कि एमएलपी को पर्याप्त संकेत को संरक्षित करने के लिए प्रशिक्षित किया जा सकता है। समझौताः LLaVA का संदर्भ तेजी से भरता है, लेकिन यह स्वाभाविक रूप से मल्टी-इमेज और वीडियो के लिए स्केल करता है।
2026 तक क्षेत्र विभाजनः क्यू-फॉर्मर तब जीवित रहता है जब टोकन बजट मायने रखता है (लंबे वीडियो, कई छवियां); एमएलपी प्रोजेक्टर तब हावी होता है जब प्रति टोकन कच्चे गुणवत्ता प्राथमिकता होती है।
ग्लेटेड क्रॉस-अटेंशनः फ्लेमिंगो, पूर्वज
फ्लेमिंगो (पढ़ना 12.04) BLIP-2 से पहले था और उसी क्रॉस-अटेंशन विचार का उपयोग किया लेकिन हर जमे हुए LLM परत पर, एक एकल पुल के रूप में नहीं। BLIP-2 ने दिखाया कि आप केवल इनपुट परत तक संपीड़ित कर सकते हैं और अभी भी काम करते हैं। मिथुन और आइडिएफिक्स दोनों को जोड़ते हैंः इंटरलेवेड इनपुट टोकन प्लस वैकल्पिक गेट क्रॉस-अटेंशन इन-संदर्भ कुछ शॉट के लिए।
2026 के वंशज
- Q-Former: BLIP-2, InstructBLIP, MiniGPT-4, और अधिकांश वीडियो-भाषा मॉडल टोकन बजट कारणों से।
- प्रतिबिंबक पुनः नमूनाः फ्लेमिंगो का संस्करण (पढ़ना 12.04); आइडिएफिक्स परिवार, ईगल, ओम्निमाई।
- एमएलपी प्रोजेक्टर: एलएलवीए, एलएलवीए-नेक्स्ट, एलएलवीए-वनविज़न, कैंब्रियन-1।
- ध्यान पूल: विला, पालीगेम्मा।
चारो ही वैध हैं. निर्णायक सवाल यह है कि क्या आप टोकन बजट पर प्रतिबंधित हैं या प्रति टोकन गुणवत्ता पर।
इसका प्रयोग करें
code/main.pyएक stdlib Q-Former शैली के पार ध्यान बनाता हैः
- 256 छवि पैच टोकन (dim 128) का अनुकरण करें।
- 32 त्वरित सीखने योग्य प्रश्न (डिम 128) ।
- स्केलेड-डॉट-प्रोडक्ट क्रॉस-अटेंशन चलाएं (क्यू क्वेरी से, K/V पैच से) ।
- एक रैखिक परत के माध्यम से एलएलएम-डिम (512) तक परियोजना।
- 32 एलएलएम के लिए तैयार दृश्य टोकन आउटपुट.
सभी गणित शुद्ध पायथन में (वेक्टरों पर घोंसले हुए लूप) । खिलौना लेकिन सही आकार। ध्यान-वजन मैट्रिक्स मुद्रित किया जाता है ताकि आप देख सकें कि प्रत्येक क्वेरी से किस पैच से खींची गई है।
इसे भेजें
यह सबक हमें फल देता हैoutputs/skill-modality-bridge-picker.md. लक्ष्य VLM कॉन्फ़िगरेशन (विजन एन्कोडर टोकन गिनती, LLM संदर्भ बजट, तैनाती प्रतिबंध, गुणवत्ता लक्ष्य) को देखते हुए, यह प्रत्येक पुल के लिए एक संक्षिप्त औचित्य और पैरामीटर गिनती अनुमान के साथ Q-Former बनाम MLP बनाम Perceiver resampler की सिफारिश करता है।
व्यायाम
- PyTorch में क्रॉस-अटेंशन ब्लॉक को लागू करें. यह सत्यापित करें कि 32 क्वेरी और 256 कुंजी/मूल्य के साथ, ध्यान-वजन मैट्रिक्स 32 x 256 है और प्रत्येक पंक्ति सॉफ्टमैक्स के बाद 1 के रूप में योग है।
- BLIP-2 चरण 1 में Q-Former एक साथ तीन नुकसान चलाता हैः ITC, ITM, ITG। प्रत्येक के लिए आगे हस्ताक्षर लिखें छद्म कोड में। किस एक को सक्रिय करने के लिए पाठ एन्कोडर पथ की आवश्यकता होती है?
- पैरामीटर गिनती की तुलना करेंः क्यू-फॉर्म (12 परतें, 768 छिपे हुए) बनाम 2-परत एमएलपी प्रोजेक्टर (1408 → 4096, दो परतें) । एलएलएम स्केल पर 188 एम क्यू-फॉर्म लागत प्रशिक्षण दक्षता में वापस भुगतान करती है?
- Q-Former को कैसे आरंभ किया जाता है, इस बारे में BLIP-2 पेपर (arXiv:2301.12597) की धारा 3.2 को पढ़ें। समझाएं कि BERT-बेस से आरंभ करने से (जिसके लिए यह यादृच्छिक नहीं है) अभिसरण को तेज क्यों किया जाता है।
- 1 एफपीएस पर 10 मिनट के वीडियो के लिए 60 फ्रेम तक नमूने, प्रति फ्रेम टोकन लागत की गणना (क्यू-फॉर्म → 32 टोकन / फ्रेम) बनाम (एमएलपी प्रोजेक्टर → 576 टोकन / फ्रेम) पर करें। जो 128k टोकन एलएलएम संदर्भ विंडो में फिट बैठता है?
प्रमुख शर्तें
| Term | What people say | What it actually means |
|---|---|---|
| Q-Former | "Querying transformer" | Small transformer with 32 learnable query vectors that cross-attend to frozen ViT features |
| Learnable queries | "Soft prompt for vision" | A fixed set of parameters that serve as the query side of cross-attention; learned per model, shared across all inputs |
| Cross-attention | "Q from here, K/V from there" | Attention where query, key, and value come from different sources; how the queries pull from ViT patches |
| ITC | "Image-text contrastive" | CLIP-style loss applied to Q-Former pooled queries vs text CLS |
| ITM | "Image-text matching" | Binary classifier on hard-negative-mined pairs; forces the queries to discriminate fine-grained mismatches |
| ITG | "Image-grounded text generation" | Causal LM loss where text is generated conditioned on queries; forces queries to encode text-decodable content |
| Two-stage pretraining | "Representation then generative" | Stage 1 trains Q-Former alone (ITC/ITM/ITG); Stage 2 attaches frozen LLM and trains only the projection + Q-Former |
| Frozen backbone | "Do not finetune" | The vision encoder and LLM weights are fixed; only the bridge trains |
| Projection head | "Linear to LLM dim" | Final linear layer mapping Q-Former output to the LLM's embedding dimension |
| Perceiver resampler | "Flamingo's version" | Similar learnable-query cross-attention, used by Flamingo at every layer rather than as a single bridge |
आगे पढ़ना
- Li et al. — BLIP-2 (arXiv:2301.12597) कोर पेपर।
- Li et al. — BLIP (arXiv:2201.12086) आईटीसी/आईटीएम/आईटीजी त्रयी के साथ पूर्ववर्ती।
- Li et al. — ALBEF (arXiv:2107.07651) "फ्यूज से पहले संरेखित करें" चरण 1 प्रशिक्षण का अवधारणा पूर्वज।
- Dai et al. — InstructBLIP (arXiv:2305.06500) निर्देशों के बारे में जागरूक Q-Former।
- Zhu et al. — MiniGPT-4 (arXiv:2304.10592) केवल प्रोजेक्टर-केवल दृष्टिकोण।
- Jaegle et al. — Perceiver IO (arXiv:2107.14795) सामान्य वास्तुकला सीखने योग्य-सवाल पार ध्यान के लिए।
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.