Phase 12: Multimodal AI

مدل های چند مدل فقط از توکن های کاملیون و Early-Fusion

هر VLM که تا حالا دیده ایم، تصاویر و متن را جدا نگه می دارد. توکن های بصری از یک کدر بینایی می آیند، به یک پروژکتور جریان می دهند، سپس با متن در داخل LLM ملاقات می کنند. لغات بینایی و متن هرگز همپوش نمی شوند. شاملئون (میتا، مه 2024) پرسید: اگر این کار را انجام دهند چه می شود؟ آموزش VQ-VAE که یک تصویر را به یک سری از توکن های متمایز از یک ذخایر مشترک تبدیل می کند. هر سند چندرنگه ای اکنون یک ردیف است توکن های متن و توکن های تصویر با هم پیوند خورده، یک از دست دادن خودکار. اثر جانبی: مدل می تواند در یک تماس نتیجه گیری، خروجی های حالت مخلوط تولید کند. این درس پایان نامه ی فیوژن اولیه را می خواند و یک نسخه ی اسباب بازی را از پایان به آخر می سازد.

Type: Build

Languages: Python (stdlib, VQ-VAE tokenizer + interleaved decoder)

Prerequisites: Phase 12 · 05, Phase 8 (Generative AI)

Time: ~180 minutes

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

  • توضیح دهید که چرا یک ذخایر مشترک + یک ضایع تغییر می کند که مدل می تواند انجام دهد.
  • توضیح دهید که چگونه یک VQ-VAE یک تصویر را به یک دنباله جداگانه که با هدف توکن بعدی یک ترانسفورماتور سازگار است، نشان می دهد.
  • اسباب آموزش و ثبات چاملیون رو نام بده: QK-Norm، قرار دادن ترک، سفارش دادن LayerNorm
  • رویکرد Q-Former را در مقایسه با Chameleon و BLIP-2 مقایسه کنید و توصیف کنید که هر کدام انتخاب درست است.

مشکل

VLMs مبتنی بر آداپتور (LLaVA، BLIP-2, Qwen-VL) متن و تصویر را به عنوان دو چیز متفاوت می شناسند.embed(text_token)؛ يه تصويري از بين مي رودvisual_encoder(image) → projector → ... pseudo_tokensمدل دو مسیر ورودی دارد که در یک جا هم می پیوندند.

سه تا عواقب:

  1. مدرک تحصیلی فقط می تواند تصاویر را مصرف کند، نه آنها را پخش کند. تولید فقط متن است.
  2. اسناد موادی مختلط (برابر پاراگراف ها و تصاویر، مانند در یک مقاله) ناراحت کننده هستند شما یا ورودی چند مودیل را خارج از مدل یا نسل های زنجیره ای تجزیه و تحلیل می کنید.
  3. عدم مطابقت توزیع. توکن های بصری و توکن های متنی در مناطق مختلف فضای پنهان زندگی می کنند و مشکلات موازی ظریف ایجاد می کنند.

کاملیون این فرضیه را رد می کند: تصاویر فقط دنباله هایی از توکن های متمایز از یک لغت مشترک هستند. مدل را بر روی اسناد متقابل تمرین کنید، یک از دست دادن، یک کلاهبرداری خودکار، و شما تولید حالت مخلوط را رایگان باز می کنید.

مفهوم

VQ-VAE به عنوان نشان دهنده تصویر

توکنایزر یک خودکار کدگذاری متغیر کوانتزی شده است.

  • کدرها: CNN + ViT که تصویر را به یک نقشه ویژگی های فضایی نقشه می دهد، مثلا ویژگی های 32x32 از dim 256.
  • کتاب کد: یک لغت آموخته از متری K (Chameleon استفاده می کند 8192) ، همچنین dim 256.
  • کوانتزی: برای هر ویژگی فضایی، نزدیک ترین ورودی کد بوک را با فاصله L2 جستجو کنید. ویژگی مداوم را با شاخص عددی جایگزین کنید.
  • کدگر: CNN که ویژگی های کوانتایی را به پیکسل ها برمی گرداند.

آموزش: از دست دادن بازسازی VAE + از دست دادن تعهد + از دست دادن کتاب کد. شاخص های کتاب کد یک الفبا جداگانه برای تصاویر را تشکیل می دهند.

برای Chameleon: یک تصویر به 32*32 = 1024 توکن تبدیل می شود که از یک ذخایر 8192 استخراج شده است. با توکن های متن (از ذخایر BPE LLM ، مثلا 32000) ترکیب می شود. ذخایر نهایی: 40192. ترانسفورماتور یک دنباله ، یک از دست دادن را می بیند.

ذخایر مفرد مشترک

در این بخش از کلمات، توکن های متن، توکن های تصویر و جداکننده های حالت ترکیب می شوند. هر توکن یک شناسه دارد. لایه ورودی هر شناسه را به یک ویکتور پنهان D-dim نقشه می زند. نقشه های پروژکتور خروجی به logits لغات پنهان می شود. Softmax توکن بعدی را انتخاب می کند، هر گونه.

جدا کننده ها مهم هستند:<image>و</image>برچسب ها به دنباله ای از علامت تصویر را در برنج می کنند. در زمان تولید، اگر مدل انتشار می کند <image>، نرم افزار پایین به پایین می داند که 1024 توکن بعدی شاخص های VQ هستند که برای ارسال به کدگر برای نمایش پیکسل ها ارسال می شوند.

تولید با حالت مخلوط

اینفروژن پیش بینی بعدی در لغات مشترک است. مثال فوری: "یک گربه را نقاشی کنید و آن را توصیف کنید".

<image> 4821 1029 2891 ... (1024 image tokens) </image>
The cat is orange, sitting on a windowsill...

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

مقایسه با VLM های آداپتور که تولید فقط متن است.

ثبات آموزش QK-Norm، ترک، سفارش LayerNorm

آموزش فيوژن زودرس در مقیاس نامثبت است. کاغذ چameleon سه ترفند را مستند مي کند:

  • QK-Norm. LayerNorm را قبل از محصول نقطه ای به پرسش و پیش بینی های کلیدی در داخل توجه اعمال کنید. از انفجار شدت لوگیت در عمق جلوگیری می کند. توسط چندین مدل بزرگ پس از 2024 استفاده می شود.
  • قرار دادن ترک. ترک پس از هر اضافه باقیمانده، نه فقط پس از توجه و MLP. تنظیم بیشتر مورد نیاز است زمانی که گرادینت های از نمادهای تصویر می تواند تسلط داشته باشد.
  • ترتیب LayerNorm. پیش از LN در شاخه باقیمانده (استانداردی) ، به علاوه LN اضافی در اتصال skip بلوک آخر. جریان گرادینت لایه نهایی را ثابت می کند.

بدون این ترفند ها، آموزش 34B-param Chameleon در نقاط کنترل متعددی منحرف شده است. با آنها، آن را به هم نزدیک می کند. دستور آموزش به همان اندازه از سهم معماری است.

سقف بازسازی توکنز

VQ-VAE ضایع است. در 8192 ورودی کد بوک و 1024 توکن در هر تصویر 512x512، بازساز PSNR حدود 26-28 dB است. این برای ژن تصویر قابل تشخیص کافی است اما به وضوح بدتر از انتشار فضای مداوم (Stable Diffusion 3 به 32+ dB می رسد).

توکنایزر گلو شکنی است. توکنایزر های بهتر (MAGVIT-v2 ، IBQ ، SBER-MoVQGAN) سقف را بالا می برند. Emu3 (درس 12.12) از طریق یک توکنایزر بهتر تولید کیفیت SDXL را به دست می آورد.

شاملیون در مقابل BLIP-2 / LLaVA

شاملیون (موجب اولیه، لغت مشترک):

  • يه بازي، يه رمزگشایی
  • تولید خروجی با حالت مخلوط
  • توکنيزر سقف کيفيتي است.
  • گران قیمت: VQ-VAE decoder در هر تصویر تولید شده در مسیر نتیجه گیری.

BLIP-2 / LLaVA (مصنوعات متمایز و برج های جداگانه):

  • چشم ها وارد شده، فقط پیام ها خارج شده
  • دوباره مدرک تحصیلی قبلی رو استفاده میکنه
  • هيچ شکلي براي درک نميشه
  • ارزان: واحد پیشرو گذر

اگه به تولید تصویر نیاز داری، خانواده شاملئون، اگه فقط به درک نیاز داری، آداپتور VLM ساده تر و از حسابداري های پیش از آموزش استفاده می کنه

فویو و اینی جی پی تی

فیو (Adept، 2023) یک رویکرد مرتبط است: کدر دید جداگانه را به طور کامل رد کنید، پیچ های تصویر خام را از طریق پروژکتور ورودی LLM تغذیه کنید به عنوان اینکه توکن ها هستند، بدون توکن. ساده تر از Chameleon، تولید خروجی مشترک تلفظ را از دست می دهد.

AnyGPT (Zhan et al., 2024) به چهار روش: متن، تصویر، صحبت، موسیقی، هر یک از این ترانسفارمر ها را به اشتراک می گذارد. هر نسل به هر نسل. بیشتر در درس 12.16 پوشش داده شده است.

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

code/main.pyساخت یک مدل ادغام اولیه از پایان تا پایان بازی:

  • یک کوانتزیزر کوچک به سبک VQ-VAE که 8×8 پیچ ها را به شاخص های کد بوک (K=16) نقشه می زند.
  • یک لغت مشترک از (تکست IDs 0..31) + (تکست IDs 32..47) + (تفرقه کنندگان 48, 49).
  • یک دیکودر بازویی خودکشی (تابلوی بیگرام) که بر روی عناوین مصنوعی + دنباله های تصویر نشان داده شده آموزش دیده است.
  • حلقه نمونه گیری که به صورت متناوب توکن های متن + تصویر را به صورت پرامپت ارسال می کند.

کد عمداً ترانسفورماتور را کوچک نگه می دارد (بگرام) تا بتوانید جریان سیگنال را از انتها تا انتها ردیابی کنید.

-باده

این درس به ما کمک می کندoutputs/skill-tokenizer-vs-adapter-picker.md. با توجه به مشخصات محصول (فهم فقط در مقابل درک + تولید، کیفیت تصویر مورد نیاز، بودجه هزینه) ، بین خانواده Chameleon (فوزن اولیه) و خانواده LLaVA (فوزن دیر) انتخاب می کند و با قوانین کمی توجیه می کند.

تمرینات

  1. Chameleon از K=8192 ورودی کد بوک و 1024 توکن برای هر تصویر 512x512 استفاده می کند. نسبت فشرده سازی نسبت به یک تصویر RGB 24 بیت تخمین زده کنید. آیا این خسارت دارد؟ چقدر خسارت دارد؟
  1. یک تصویر 4K (3840x2160) با همان چگالی VQ-VAE چه تعداد توکن تصویر تولید می کند؟ آیا یک مدل سبک شاملیون می تواند یک تصویر 4K را در یک تماس نتیجه گیری تولید کند؟ چه چیزی اولین زمینه، کیفیت توکنر یا کیش KV را شکسته است؟
  1. QK-Norm را در پایتون خالص پیاده سازی کنید. با توجه به یک سوال 64 بعدی و کلید، محصول نقطه را قبل و بعد از LayerNorm نشان دهید. چرا کنترل شدت در عمق مهم است؟
  1. بخش 2.3 در مورد ثبات آموزش را بخوانید. حالت شکست دقیق را که در کاغذ بدون QK-Norm مشاهده شده در 34B توصیف کنید. امضای "نفجار استاندارد" چیست؟
  1. توسعه کدرس بازیابی برای ارسال پاسخ با حالت مخلوط با یک پیام فقط متن. اندازه گیری کنید که چگونه اغلب مدل تصویر اول در مقابل متن اول را انتخاب می کند. توزیع داده های آموزش 60٪ متن اول / 40٪ تصویر اول.

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

TermWhat people sayWhat it actually means
Early fusion"Unified tokens"Images converted to discrete tokens sharing the transformer's vocabulary from step one
VQ-VAE"Image tokenizer"CNN + ViT + codebook that maps images to integer indices the transformer can predict
Shared vocabulary"One dictionary"A single token ID space covering text + image + modality separators
QK-Norm"Attention stabilizer"LayerNorm applied to query and key before their dot product, prevents norm blowup
Mixed-modality generation"Text + image output"Inference that autonomously produces interleaved text and image tokens in one pass
Codebook size"K entries"Number of discrete vectors the VQ-VAE can quantize to; trades compression for fidelity
Tokenizer ceiling"Reconstruction limit"Best PSNR achievable by decoding VQ tokens; bounds the model's image quality

خواندن بیشتر

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.