مدل های یکپارچه نمایش و پخش متمایز
Type: Learn
Languages: Python (stdlib, masked-discrete-diffusion sampler)
Prerequisites: Phase 12 · 13 (Transfusion)
Time: ~120 minutes
اهداف یادگیری
- انتشار متمایز مخفي را توضیح دهید: برنامه ای که توکن ها را به صورت یکسانی مخفي می کند سپس از ترانسفورماتور می خواهد آنها را بازیابی کند.
- مقایسه کدگذاری تصویر موازی (Show-o، MaskGIT) با کدگذاری تصویر خودکشی (Chameleon، Emu3) در سرعت و کیفیت.
- سه وظیفه ای را که Show-o در یک نقطه بازرسی انجام می دهد، نام دهید: T2I، VQA، رنگ تصویر.
- یک برنامه پوشاندن (کوسین، خطی، کوتاه) را انتخاب کنید و در مورد تأثیر آن بر کیفیت نمونه استدلال کنید.
مشکل
تمرین دو ضرر پیوند کار می کند اما دارای پویایی پیچیده تر است کاهش انتشار مداوم در مقیاس عددی متفاوت از کاهش NTP متمایز است. تعادل وزن از دست دادن یک جستجوی هیپر پارامتر است. معماری موثر اما پیچیده است.
پاسخ Show-o: هر دو روش را متمایز نگه دارید (مانند Chameleon) ، اما تصاویر را به صورت موازی از طریق انتشار متمایز متمایز به جای ترتیب تولید کنید. هدف آموزش تبدیل به یک پیش بینی توکن متمایز واحد می شود که پیش بینی توکن بعدی را به طور طبیعی عمومی می کند.
مفهوم
انتشار متمایز مسموم (MaskGIT)
روش اصلی Chang et al. (2022) MaskGIT زیبا است. از یک تصویر کاملا ماسک شده شروع کنید (هر نماد ویژه ای است)<MASK>id). در هر مرحله، همه توکن های ماسک شده را موازی پیش بینی کنید، سپس مطمئن ترین پیش بینی های بالا K را نگه دارید و بقیه را دوباره ماسک کنید. پس از ~ 8 تا 16 تکرار، تمام توکن ها پر می شوند. برنامه ی تعداد توکن هایی که باید در هر مرحله از ماسک استفاده شود تنظیم می شود.
آموزش ساده است: نمونه یک نسبت ماسک یکسانی از [0, 1]، آن را به توکن های VQ تصویر اعمال کنید، ترانسفورماتور را برای بازیابی از توکن های ماسک شده آموزش دهید. دقیقا همان کاری که BERT برای متن انجام داد، مقیاس بندی شده به تولید تصویر.
نمایش: یک ترانسفورماتور، ماسک هیبریدی
نمایشگرها ماسک گیت را داخل یک ترانسفورماتور مدل زبان علت می کنند.
- توکن های متن: علت (معلمیت قانونی استاندارد).
- توکن های تصویر: دو جهت کامل در داخل بلوک تصویر (تا توکن های پوشیده شده بتوانند هر توکن تصویر دیگر را در طول پیش بینی ببینند).
- متن به تصویر: متن به تصاویر قبلی، تصویر به متن قبلی کمک می کند.
تعویضات آموزشی بین:
- NTP استاندارد در دنباله های متن
- نمونه های T2I: متن → تصویر با توکن های تصویر پنهان، از دست دادن پیش بینی توکن پنهان.
- نمونه های VQA: تصویر → متن با توکن متن پوشیده (در واقع فقط NTP).
خسارت متحد اين است که در اينترپي متقاطع<MASK>توکن ها، که شامل NTP متن (تنها آخرین توکن "ماسک" شده است) و انتشار مخفي تصویر (تعداد فرعی تصادفی مخفي شده است) می شود.
نمونه گیری موازی
Show-o یک تصویر را در ~16 مرحله به جای ~1000 (خودکشی در هر توکن) یا ~20 (توزان) تولید می کند. در هر مرحله، همه توکن های پوشیده را به طور موازی پیش بینی کنید؛ K بالا را اعتماد کنید؛ تکرار کنید.
مقایسه کنید:
- Chameleon / Emu3 (خودکشی بر روی توکن ها): N_tokens forward passes، معمولاً 1024-4096 در هر تصویر.
- انتقال خون (دففوز مداوم): ~ 20 مرحله، هر یک از آنها یک گذرگاه کامل ترانسفورماتور است.
- نمایش (توسعه متمایز پنهان): ~16 مرحله، هر یک از آنها یک گذرگاه کامل ترانسفورماتور است.
Show-o در مدل های مقیاس مشابه سریعتر از Chameleon است و تقریباً با تعداد مراحل Transfusion با هزینه های پایین تر در هر مرحله (logits لغت متمایز در مقابل از دست دادن MSE مداوم) مطابقت دارد.
وظایف در یک نقطه بازرسی
Show-o چهار وظیفه را در نتیجه گیری پشتیبانی می کند که با فرمت فوری انتخاب می شود:
- تولید متن: تولید متن استاندارد autoregressive.
- عکس وارد، پیام بیرون
- T2I: متن وارد، تصویر خارج از طریق مخفي انتشار متمایز.
- رنگ: تصویر با برخی از توکن ها مخفي شده، پر کنید.
قابلیت رنگ گذاری از آموزش پیش بینی ماسک رایگان است. یک منطقه از شبکه توکن VQ را ماسک کنید، بقیه را تغذیه کنید و یک پیام پیامک، توکن های ماسک شده را پیش بینی کنید.
برنامه پوشاندن
برنامه ی چند تاکن که باید در هر مرحله از آن ها استفاده شود، کیفیت را شکل می دهد.
mask_ratio(t) = cos(pi * t / (2 * T)) # t = 0..Tدر مرحله 0، همه توکن ها پنهان شده اند (تعداد 1.0). در مرحله T، هیچ یک پنهان نشده است. کوسین جرم را در نسبت های میان رده متمرکز می کند که پیش بینی بیشتر اطلاعات را می دهد. برنامه های خطی نیز کار می کنند اما سریع تر است.
نمایش
Show-o2 (2025 پیگیری، arXiv 2506.15564) مقیاس Show-o: پایه LLM بزرگتر، توکنایزر بهتر، برنامه ماسک بهبود یافته. الگوی معماری مشابه.
جایی که شو-او میخواد
در سال ۲۰۲۶:
- توکن های متناظر + NTP: شمالون، Emu3.
- توکن های متناظر + انتشار پنهان: Show-o، MaskGIT، LlamaGen، Muse. نمونه گیری موازی، هنوز هم از دست دادن توسط توکن.
- تزریق مداوم + انتشار: تزریق، MMDiT، DiT. کیفیت بالا، آموزش پیچیده تر.
- تطابق مداوم + جریان در یک VLM: JanusFlow، InternVL-U. جدیدترین.
انتخاب با توجه به وظیفه: نشان دادن زمانی که شما می خواهید T2I + رنگ + VQA در یک مدل باز با سرعت معقول؛ انتقال زمانی که کیفیت مهم است و شما می توانید هزینه دو ضرر لوله کشی را پرداخت کنید.
ازش استفاده کن
code/main.pyشبیه سازی نمونه برداری نمایش:
- یک شبکه اسباب بازی از 16 توکن VQ
- یک "ترانسفارمر" جعلی که بر اساس یک پیام و توکن های در حال حاضر ناشناس را پیش بینی می کند.
- نمونه گیری مساوی مخفي در طول 8 مرحله با برنامه cosine.
- حالت های میانگین (تطور الگوی ماسک) و توکن های نهایی را چاپ می کند.
.شرکت کن، تماشا کن ماسک قدم به قدم حل بشه
-باده
این درس به ما کمک می کندoutputs/skill-unified-gen-model-picker.mdبا توجه به یک محصول که نیاز به درک (VQA، عنوان) و تولید (T2I، رنگ) با محدودیت وزن باز دارد، انتخاب بین خانواده Show-o، خانواده Transfusion/MMDiT و خانواده Emu3 / Chameleon با تعادل های مشخص است.
تمرینات
- نمونه های انتشار متمایز در 16 مرحله پنهان شده. چرا 1؟ چه چیزی شکسته می شود اگر همه چیز را در مرحله 0 آشکار کنید؟
- رنگ بندی با انتشار پنهان رایگان است. یک مورد استفاده از محصول (واقعی یا فرضی) را پیشنهاد کنید که رنگ سازی Show-o از یک مدل متخصص برتری داشته باشد.
- جدول کوزین مقابل جدول خطی: تعداد توکن های آشکار شده را در هر مرحله برای T=8 ردیابی کنید. کدام یک متعادل تر است؟
- یک تصویر 512x512 نشان دادن 1024 توکن است. در K = 16384، مدل 1024 log2(16384) = 14.336 بیت (~1.75 KiB) داده ها را منتشر می کند. انتشار ثابت 512512*24 بیت = 6.291.456 بیت (~768 KiB) پیکسل های خام را می خرید. نسبت فشرده سازی چیست و چه کیفیت را می خرید؟
- مدل تصویر خودکشی در شرایط کلاس LlamaGen از روش ماسک شده Show-o چگونه متفاوت است؟
اصطلاحات کلیدی
| Term | What people say | What it actually means |
|---|---|---|
| Masked discrete diffusion | "MaskGIT-style" | Training to predict masked tokens; at inference, iteratively unmask the most-confident predictions |
| Cosine schedule | "Unmask schedule" | Decay of mask ratio over inference steps; concentrates confidence growth at mid-range |
| Parallel decoding | "All tokens at once" | Every step predicts the full sequence of masked tokens in one forward pass, then commits top-K |
| Hybrid attention | "Causal + bidirectional" | Mask that is causal over text tokens and bidirectional within image blocks |
| Inpainting | "Fill-in generation" | Condition on an image with some tokens masked, predict the missing ones; free from the training objective |
| Commitment rate | "Top-K per step" | How many tokens are declared "done" per iteration; controls inference vs quality trade-off |
خواندن بیشتر
- Xie et al. — Show-o (arXiv:2408.12528)
- Show-o2 (arXiv:2506.15564)
- Chang et al. — MaskGIT (arXiv:2202.04200)
- Sun et al. — LlamaGen (arXiv:2406.06525)
- Chang et al. — Muse (arXiv:2301.00704)
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.