مدلهای پایهای مثل CLIP توانایی چشمگیری در همتراز کردن فضای متن و تصویر دارند، اما ذرات سازندهی آنها توان زبانی کافی برای نگارش پاسخهای تشریحی، گفتوگو یا تحلیل تصویری را فراهم نمیکند. اتصال مستقیم اینکودرهای بینایی به مدلهای زبانی بزرگ (LLM) هم چالش تازهای میسازد: تزریق صدها توکن پچِ تصویر به بافتار ورودی مدل زبانی، حافظه و بودجهی پردازشی را بهشدت میبلعد و فاینتیونینگ کل این شبکه هزینهای نجومی بر دوش سیستم میگذارد.
مدل BLIP-2 با ارائهی ایدهی Q-Former راهحلی ساختاری برای این بحران ارائه داد: پل ارتباطی باریک و آموزشپذیری با 188 میلیون پارامتر که بازنمایی 256توکنیِ اینکودر بینایی منجمد را تنها در 32 بردار پرسوجوی یادگیرنده خلاصه میکند و بدون دستکاری وزنهای سنگین LLM، دادهها را مستقیماً تحویل مدل زبانی میدهد. این رویکرد به استاندارد اصلی مدلهای چندوجهی در بهینهسازی سقف توکن تبدیل شد.
در شرایطی که سختافزارهای پردازشی پیشرفته و زیرساختهای ابری بزرگ پرهزینهاند، درک معماریهایی که روی بکبونهای منجمد سوار میشوند اهمیت دوچندان دارد. در این درس با جزئیات سازوکار کراساتنشن، آموزش دومرحلهای Q-Former و تفاوت آن با پروجکتورهای سادهی امثال LLaVA آشنا میشوید تا بدانید در هر مسئلهی واقعی پردازش تصویر و ویدیو کدام پل اتصال کارآمدتر است.
مدل CLIP تصویر و متن را همتراز میکند، اما توانایی تولید کپشن، پاسخ به پرسشها یا ادامهی مکالمه را ندارد. مدل BLIP-2 (شرکت Salesforce، سال 2023) این مشکل را با یک پل ارتباطی کوچک و آموزشپذیر حل کرد: 32 بردار پرسوجوی (query) یادگیرنده از طریق کراساتنشن (cross-attention) روی ویژگیهای یک ViT منجمد اعمال میشوند و سپس مستقیماً به جریان ورودیِ یک مدل زبانی بزرگ (LLM) منجمد میپیوندند. این پل با 188 میلیون پارامتر توانست ViT-g/14 را به مدلهای زبانی منجمدِ بزرگی مانند Flan-T5-XXL با 11 میلیارد پارامتر متصل کند. تمام مدلهای بینایی-زبانی (VLM) مبتنی بر آداپتور تا سال 2026 — از جمله MiniGPT-4، InstructBLIP و خانوادهی LLaVA — از نسل همین ایده هستند. در این درس، معماری Q-Former را بررسی میکنیم، پیشآموزش دومرحلهای آن را شرح میدهیم و یک نسخهی ساده میسازیم که توکنهای بصری را به دیکودرِ متنی منجمد تزریق میکند.
اهداف یادگیری
- توضیح دهید چرا ایجاد یک گلوگاهِ آموزشپذیر میان اینکودر تصویرِ منجمد و LLM منجمد، از نظر هزینه و پایداری بر فاینتیونینگ سرتاسری (end-to-end) برتری دارد.
- یک بلوک کراساتنشن پیادهسازی کنید که در آن مجموعهای ثابت از پرسوجوهای یادگیرنده به ویژگیهای خارجی تصویر توجه میکنند.
- مراحل پیشآموزش دومرحلهای BLIP-2 را تحلیل کنید: بازنمایی (ITC + ITM + ITG) و سپس تولیدی (تابع زیان مدل زبانی با دیکودر منجمد).
- ساختار Q-Former را با پروجکتورِ سادهترِ MLP در LLaVA مقایسه کنید و نشان دهید در چه شرایطی هرکدام دست بالا را دارند.
صورت مسئله
فرض کنید یک ViT منجمد دارید که به ازای هر تصویر، 256 توکن پَچ (patch token) با بُعد 1408 تولید میکند. از طرفی یک LLM منجمد 7B دارید که انتظار دارد امبدینگهای ورودی با بُعد 4096 باشند. بدیهیترین پل ارتباطی — یعنی یک لایهی خطی از 1408 به 4096 — جواب میدهد؛ اما فرستادن تمام 256 توکن پچ به بافتار (context) مدل زبانی، هزینهی اضافیِ 256 توکن به ازای هر تصویر را به همراه دارد. در یک دستهی (batch) 32تایی از تصاویر، این یعنی 8192 توکن فقط و فقط برای مدالیتهی بصری مصرف میشود.
پرسشی که BLIP-2 مطرح کرد این بود: آیا میتوان بازنمایی 256توکنیِ تصویر را در تعداد بسیار کمتری توکن (مثلاً 32) فشرده کرد، به طوری که اطلاعات کافی برای کپشننویسی، پاسخ به پرسشها و استدلال دربارهی تصویر برای LLM حفظ شود؟ و آیا میتوان این پل را بدون دستزدن به بکبونهای منجمد (frozen backbones) آموزش داد تا هزینهی آموزش فقط محدود به پارامترهای خودِ پل باشد؟
پاسخ، Q-Former است: 32 بردار پرسوجوی یادگیرنده که از طریق کراساتنشن روی توکنهای پچِ ViT اِعمال میشوند و یک خلاصهی بصریِ 32توکنی میسازند تا تحویل LLM شود. کل مجموعه 188 میلیون پارامتر دارد و قبل از آنکه اصلاً پای LLM به میان بیاید، با اهداف مقابلهای (contrastive)، تطبیقی (matching) و تولیدی (generative) آموزش میبیند.
مفاهیم کلیدی
پرسوجوهای یادگیرنده
ترفند اصلی Q-Former این است: بهجای اینکه توکنهای متنیِ LLM به پچهای تصویر توجه کنند، مجموعهی جدیدی از 32 بردار پرسوجوی یادگیرنده به نام Q معرفی میکنیم و اجازه میدهیم آنها به پچهای تصویر توجه کنند. این پرسوجوها جزو پارامترهای مدل هستند — در طول آموزش یاد گرفته میشوند و همین 32 پرسوجو برای تمام تصاویر به کار میروند.
پس از اعمال کراساتنشن، هر پرسوجو خلاصهای فشرده از تصویر را نگه میدارد؛ مواردی مانند «توصیف سوژهی اصلی»، «توصیف پسزمینه»، «شمارش اشیا» و غیره. البته پرسوجوها دقیقاً روی برچسبهای معنایی تفکیک نمیشوند؛ بلکه هر بازنمایی مفیدی را که باعث کاهش تابع زیان (loss) در مراحل بعدی شود، یاد میگیرند.
معماری
مدل Q-Former یک ترنسفورمر کوچک (12 لایه، حدود 100 میلیون پارامتر) با دو مسیر است:
- مسیر پرسوجو: 32 بردار پرسوجو از طریق خوداتنشن (self-attention) بین خودشان، سپس کراساتنشن روی توکنهای پچِ ViT منجمد و در نهایت یک لایهی پیشخور (FFN) عبور میکنند.
- مسیر متن: یک اینکودر متن شبیه به BERT که وزنهای خوداتنشن و FFN را با مسیر پرسوجو به اشتراک میگذارد. کراساتنشن برای مسیر متن غیرفعال است.
در زمان آموزش، هر دو مسیر اجرا میشوند. پرسوجوها و متن از طریق خوداتنشنِ مشترک با یکدیگر تعامل دارند؛ یعنی پرسوجوها میتوانند برای وظایفی که به متن وابستهاند (مانند ITM و ITG)، بر اساس متن شرطیسازی شوند. در زمان استنتاج برای تحویل خروجی به مدل زبانی، فقط پرسوجوها در شبکه جریان مییابند و 32 توکن بصری تولید میکنند.
پیشآموزش دومرحلهای
مدل BLIP-2 در دو مرحله پیشآموزش میبیند:
مرحلهی 1: یادگیری بازنمایی (بدون حضور LLM). سه تابع زیان (loss) در این مرحله تعریف میشود:
- زیان ITC (همترازسازی مقابلهای تصویر و متن): مقایسهی مقابلهای به سبک CLIP میان توکنهای ادغامشدهی پرسوجو و توکن CLS متن.
- زیان ITM (تطبیق تصویر و متن): یک طبقهبند باینری روی این پرسش که آیا این جفت تصویر و متن با هم تطابق دارند یا نه؟ در این بخش از نمونههای منفی دشوار (hard negatives) استفاده میشود.
- زیان ITG (تولید متن مبتنی بر تصویر): یک سرِ مدل زبانی علّی (causal LM head) روی متن، که با پرسوجوها شرطی شده است. این سازوکار پرسوجوها را وادار میکند محتوایی قابل تبدیل به متن را کدگذاری کنند.
در این مرحله فقط Q-Former آموزش میبیند. مدل ViT کاملاً منجمد است و هیچ مدل زبانی بزرگی درگیر نمیشود.
مرحلهی 2: یادگیری تولیدی. یک LLM منجمد (مثل OPT-2.7B یا Flan-T5-XL) به مدل متصل میشود. خروجیِ این 32 پرسوجو از طریق یک لایهی خطی کوچک، روی بُعد امبدینگِ LLM تصویر میشود (linear projection). سپس این خروجیها به ابتدای پرامپت (prompt) متنی افزوده میشوند. در این مرحله، فقط لایهی پروجکشن خطی و Q-Former با استفاده از تابع زیان مدل زبانی روی دنبالهی متصلشدهی «پرامپت + تصویر + کپشن» آموزش میبینند.
پس از پایان مرحلهی 2، ترکیب Q-Former و پروجکشن نقشه یک آداپتور بصری کامل را ایفا میکند. فرآیند استنتاج بدین صورت خواهد بود: تصویر → ViT → Q-Former → تصویر کردن خطی → الحاق به ابتدای متن → تولید خروجی توسط LLM منجمد.
صرفهی اقتصادی پارامترها
ترکیب BLIP-2 با ViT-g/14 منجمد (1.1 میلیارد پارامتر) + OPT-6.7B منجمد (6.7 میلیارد پارامتر) + Q-Former آموزشپذیر (188 میلیون پارامتر) در مجموع 8 میلیارد پارامتر دارد که فقط 188 میلیون آن آموزش میبیند. خود Q-Former به تنهایی حدود 2.4 درصد از کل پارامترهای معماری را تشکیل میدهد. هزینهی آموزش هم به همین نسبت کاهش مییابد: چند روز آموزش روی چند کارت A100، در برابر چندین هفته برای آموزش سراسری.
از نظر کیفیت، BLIP-2 در آزمون پاسخ به پرسشهای بصری بدون نمونه (zero-shot VQA) عملکردی برابر یا حتی بهتر از Flamingo-80B نشان میدهد؛ آن هم با ابعادی 50 برابر کوچکتر. این پل کاملاً کارآمد است.
مدل InstructBLIP و نسخهی آگاه از دستورالعمل Q-Former
مدل InstructBLIP (سال 2023) ساختار Q-Former را با یک ورودیِ افزوده ارتقا داد: خود متن دستورالعمل (instruction text). در زمان اعمال کراساتنشن، پرسوجوها هم به پچهای تصویر و هم به دستورالعمل دسترسی دارند. با این روش، پرسوجوها میتوانند بر اساس هر دستورالعمل به شکل اختصاصی تنظیم شوند (مثلاً «ماشینها را بشمار»، «حالوهوای تصویر را توصیف کن»)، بهجای اینکه فقط یک خلاصهی ثابت بسازند. این تغییر باعث رشد چشمگیر بنچمارکها در وظایف دیدهنشده شد.
روشِ صرفاً مبتنی بر پروجکتور در MiniGPT-4
مدل MiniGPT-4 معماری Q-Former را حفظ کرد، اما فقط پروجکشن خطیِ خروجی را آموزش داد و بقیهی بخشها را منجمد نگه داشت. روشی بسیار کمهزینه بود، اما به افت کیفیت منجر شد؛ چون پرسوجوها همان پرسوجوهای BLIP-2 بودند و روی دادههای اختصاصی شما تنظیم نشده بودند. این رویکرد برای آزمونوخطاهای سریع عالی بود، اما بهترین معماری محسوب نمیشد.
چرا LLaVA به سمت سادگی رفت؟
مدل LLaVA (سال 2023، درس 12.05) بهجای Q-Former از یک پروجکتور MLP سادهی دولایه استفاده کرد که تکتک توکنهای پچِ ViT را مستقیماً به فضای برداری LLM تصویر میکند؛ یعنی 576 توکن به ازای هر تصویر با شبکهی 24 در 24، که تمام آنها به LLM تحویل داده میشوند. با اینکه نرخ فشردهسازی کاهش مییابد، اما به LLM اجازه میدهد روی پچهای خام اتنشن بزند. در آن زمان این تصمیم بحثبرانگیز بود، اما تا اواخر 2023 فراگیر شد؛ زیرا دادههای دستورالعمل بصری (LLaVA-Instruct-150k) نشان دادند که آموزش درست یک MLP ساده هم میتواند سیگنال لازم را حفظ کند. این موازنه به قیمت پر شدن سریعتر بافتار LLaVA تمام میشود، اما در عوض بهطور طبیعی برای سناریوهای چندتصویری و ویدیو مقیاسپذیر است.
تا سال 2026 این حوزه دو مسیر متفاوت را در پیش گرفت: Q-Former در جایی که سقف تعداد توکن محدودیت دارد (ویدیوهای طولانی، تصاویر پرتعداد) زنده مانده است؛ و پروجکتور MLP در شرایطی برنده است که کیفیتِ بازنمایی به ازای هر تکتوکن اولویت اول باشد.
کراساتنشن گیتدار: Flamingo، ایدهی مادر
مدل Flamingo (درس 12.04) پیش از BLIP-2 معرفی شد و از ایدهی مشابه کراساتنشن استفاده میکرد، با این تفاوت که آن را در تمام لایههای LLM منجمد قرار میداد، نه در قالب یک پل ارتباطی واحد. مدل BLIP-2 ثابت کرد فشردهسازی در همان لایهی ورودی هم کارایی لازم را دارد. مدلهایی مثل Gemini و Idefics هر دو روش را تلفیق میکنند: توکنهای ورودیِ درهمتنیده همراه با کراساتنشن گیتدارِ اختیاری برای یادگیری چندنمونهای درونبافتاری (in-context few-shot).
وارثان این معماری در سال 2026
- ساختار Q-Former: مدلهای BLIP-2، InstructBLIP، MiniGPT-4 و بیشتر مدلهای ویدیویی-زبانی بهخاطر محدودیت سقف توکن.
- بازنمونهگیر پرسیور (Perceiver resampler): نسخهی بازطراحیشده در Flamingo (درس 12.04)؛ خانوادهی Idefics، Eagle، OmniMAE.
- پروجکتور MLP: مدلهای LLaVA، LLaVA-NeXT، LLaVA-OneVision، Cambrian-1.
- ادغام اتنشن (Attention pool): مدلهای VILA و PaliGemma.
هر چهار رویکرد معتبرند. تصمیمگیری میان آنها به این بستگی دارد که محدودیت شما سقف تعداد توکن است یا کیفیت بازنمایی به ازای هر توکن.
استفاده از ابزارهای واقعی
فایل code/main.py یک مکانیزم کراساتنشن به سبک Q-Former را با استفاده از کتابخانهی استاندارد پیادهسازی میکند:
- شبیهسازی 256 توکن پچ تصویر (با بُعد 128).
- ساخت 32 پرسوجوی یادگیرنده (با بُعد 128).
- اجرای کراساتنشن ضرب نقطهایِ مقیاسشده (Q از پرسوجوها، K و V از پچها).
- تصویر کردن روی بُعد LLM (512) با یک لایهی خطی.
- خروجی دادن 32 توکن بصریِ آماده برای LLM.
همهی محاسبات در پایتون خالص (با حلقههای تودرتو روی بردارها) انجام شده است؛ مقیاس پروژه کوچک اما ابعاد و رفتار ریاضی دقیق است. ماتریس وزنهای اتنشن در خروجی چاپ میشود تا بتوانید ببینید هر پرسوجو از کدام پچها داده گرفته است.
خروجی این درس
خروجی این درس فایل outputs/skill-modality-bridge-picker.md است. این راهنما با گرفتن پیکربندی هدف VLM (تعداد توکنهای اینکودر تصویر، سقف بافتار LLM، محدودیتهای استقرار، هدفگذاری کیفی)، بهترین گزینه را بین Q-Former، MLP یا Perceiver resampler پیشنهاد میدهد و همراه با یک توجیه کوتاه، تخمینی از تعداد پارامترهای هر پل ارائه میکند.
تمرینها
-
بلوک کراساتنشن را با PyTorch پیادهسازی کنید. بررسی کنید که با 32 پرسوجو و 256 کلید/مقدار، ابعاد ماتریس وزنهای اتنشن 32 در 256 باشد و مجموع هر ردیف پس از سافتمکس (softmax) به 1 برسد.
-
در مرحلهی 1 مدل BLIP-2، ساختار Q-Former سه تابع زیان را همزمان به کار میگیرد: ITC، ITM و ITG. امضای متد فوروارد (forward) هر کدام را بهصورت شبهکد بنویسید. کدامیک نیازمند فعال بودن مسیر اینکودر متن است؟
-
تعداد پارامترها را مقایسه کنید: Q-Former (12 لایه، بعد مخفی 768) در برابر پروجکتور MLP دولایه (تبدیل 1408 به 4096، در دو لایه). در چه مقیاسی از LLM، هزینهی 188 میلیون پارامتری Q-Former از نظر راندمان آموزش جبران میشود؟
-
بخش 3.2 مقالهی BLIP-2 (به شناسه arXiv:2301.12597) دربارهی نحوهی مقداردهی اولیهی Q-Former را بخوانید. توضیح دهید چرا مقداردهی اولیه از روی وزنهای BERT-base (بهجای مقادیر تصادفی) سرعت همگرایی را بالا میبرد.
-
برای یک ویدیوی 10 دقیقهای با نرخ 1 فریم بر ثانیه که به 60 فریم نمونهبرداری شده است، هزینهی توکن به ازای هر فریم را در دو حالت (Q-Former با 32 توکن در فریم) و (پروجکتور MLP با 576 توکن در فریم) محاسبه کنید. قبل از اینکه فضایی به متن پرامپت اختصاص داده شود، هر پل چه تعداد فریم را میتواند در پنجرهی بافتار 128k توکنی LLM جای دهد؟
اصطلاحات کلیدی
| اصطلاح | معنای رایج | معنای دقیق فنی |
|---|---|---|
| Q-Former | ترنسفورمر پرسوجوگر | ترنسفورمر کوچکی با 32 بردار پرسوجوی یادگیرنده که به ویژگیهای ViT منجمد کراساتنشن میزند |
| پرسوجوهای یادگیرنده (Learnable queries) | پرامپت نرم برای تصویر | مجموعهای ثابت از پارامترها که نقش پرسوجو (Q) را در کراساتنشن بازی میکنند؛ برای کل مدل یاد گرفته شده و در همهی ورودیها یکساناند |
| کراساتنشن (Cross-attention) | Q از اینجا، K/V از آنجا | نوعی از اتنشن که در آن پرسوجو از یک منبع و کلید و مقدار از منبعی دیگر میآیند؛ شیوهای که پرسوجوها با آن از پچهای ViT اطلاعات استخراج میکنند |
| ITC | مقابلهای تصویر و متن | تابع زیان مشابه CLIP که روی پرسوجوهای ادغامشدهی Q-Former و توکن CLS متن اعمال میشود |
| ITM | تطبیق تصویر و متن | طبقهبند باینری روی جفتهای منفیِ دشوار؛ پرسوجوها را وادار به تشخیص تمایزهای ظریف میکند |
| ITG | تولید متن مبتنی بر تصویر | تابع زیان مدل زبانی علّی که در آن متن با شرط حضور پرسوجوها تولید میشود؛ پرسوجوها را مجبور به ذخیرهی دادههای قابل ترجمه به متن میکند |
| پیشآموزش دومرحلهای (Two-stage pretraining) | ابتدا بازنمایی، سپس تولید | مرحلهی 1 فقط Q-Former را آموزش میدهد (ITC/ITM/ITG)؛ مرحلهی 2 به LLM منجمد متصل میشود و فقط پروجکشن و Q-Former را آموزش میدهد |
| بکبون منجمد (Frozen backbone) | دست نزدن به وزنها در فاینتیونینگ | وزنهای اینکودر تصویر و LLM کاملاً ثابتاند و فقط پل ارتباطی آموزش میبیند |
| سر پروجکشن (Projection head) | لایهی خطی به بُعد LLM | آخرین لایهی خطی که خروجی Q-Former را به بُعد امبدینگ LLM تصویر میکند |
| بازنمونهگیر پرسیور (Perceiver resampler) | نسخهی اختصاصی Flamingo | کراساتنشن مشابه با پرسوجوهای یادگیرنده؛ Flamingo یکبار آن را اجرا میکند تا متغیرهای پنهان ثابت بسازد، سپس در تمام لایههای LLM با کراساتنشن گیتدار آنها را میخواند |
برای مطالعهی بیشتر
- Li et al. — BLIP-2 (arXiv:2301.12597) — مقالهی اصلی.
- Li et al. — BLIP (arXiv:2201.12086) — مدل نسل قبلی که مثلث ITC/ITM/ITG را پایهگذاری کرد.
- Li et al. — ALBEF (arXiv:2107.07651) — رویکرد «همترازی پیش از ادغام»، ریشهی مفهومی آموزش در مرحلهی اول.
- 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) — معماری پایه برای کراساتنشن با پرسوجوهای یادگیرنده.
