Emu3: छवि और वीडियो पीढ़ी के लिए अगली बोली भविष्यवाणी
Type: Learn
Languages: Python (stdlib, 3D video tokenizer math + autoregressive sampler skeleton)
Prerequisites: Phase 12 · 11 (Chameleon)
Time: ~120 minutes
सीखने के लक्ष्य
- समझाएं कि ईएमयू3 का एकल-हानि अगला-टोकन उद्देश्य लंबे समय से चले आ रहे यह धारणा के बावजूद क्यों काम करता है कि छवि गुणवत्ता के लिए विसारण की आवश्यकता होती है।
- 3 डी वीडियो टोकनराइज़र का वर्णन करेंः एक स्पेस-टाइमर VQ कोडबुक कैसा दिखता है, पैच समय क्यों span करते हैं।
- Emu3 बनाम स्थिर विसारण XL की तुलना करें (प्रशिक्षण गणना, निष्कर्ष लागत, गुणवत्ता छत) ।
- तीन भूमिकाओं का नाम दें जो समान Emu3 मॉडल खेलता हैः Emu3-Gen (छवि gen), Emu3-Chat (धारणा), Emu3-Stage2 (वीडियो gen).
समस्या
2024 तक की पारंपरिक समझः छवि उत्पादन को प्रसार की आवश्यकता है। तर्कः विवश छवि टोकन विवरण को पुनर्निर्माण करने के लिए बहुत अधिक जानकारी खो देते हैं, और ऑटोरेग्रेसिव नमूनाकरण हजारों टोकन में त्रुटि जमा करता है। स्थिर विसारण, DALL- E 3, Imagen, Midjourney सभी किसी न किसी विसारण का उपयोग करते हैं। चमेलन (पढ़ें 12.11) ने छोटे पैमाने पर इसे आंशिक रूप से खारिज किया लेकिन गुणवत्ता के मामले में एसडीएक्सएल के साथ मेल नहीं खाया।
Emu3 ने तर्क पर हमला किया। दावाः बेहतर दृश्य टोकनाइज़र + पर्याप्त पैमाने + अगले टोकन हानि = उसी मॉडल में विसारण-बैक छवि उत्पादन जो धारणा भी करता है।
यह शर्त प्रकाशित होने पर विवादास्पद थी। दो साल बाद, ओपन-सोर्स यूनिफाइड-जेनेरेशन परिवार (ईएमयू 3, शो-ओ, जेनस-प्रो, ट्रांसफ्यूजन) अनुसंधान के लिए डिफ़ॉल्ट मार्ग है; उत्पादन सीमा मॉडल कुछ संस्करण का उपयोग करते हैं।
अवधारणा
ईएमयू3 टोकनराइज़र
मुख्य घटक दृश्य टोकनराइज़र है। Emu3 प्रति टोकन 8x8 रिज़ॉल्यूशन- Reduction पर कस्टम IBQ-क्लास टोकनराइज़र (इंवर्स बोतल गला क्वैंटीज़र, SBER-MoVQGAN परिवार) को प्रशिक्षित करता है। एक 512x512 छवि कोडबुक आकार 32768 पर 64x64 = 4096 टोकन बन जाती है।
यह 512x512 पर Chameleon के 1024 टोकन से बड़ा है लेकिन प्रति टोकन के लिए सस्ता है (छोटे कोडबुक खोज, सरल कोडेक) ।
वीडियो के लिएः एक 3 डी वीक्यू टोकनराइज़र एक स्पेस-टाइमर पैच (4x4x4 पिक्सल) को एक पूर्णांक में एन्कोड करता है। 8 एफपीएस पर एक 4s क्लिप में 32 फ़्रेम होते हैं; 4x स्थानिक और 4x समय घटाने के साथ 256x256 पर, टोकन की संख्या (256/4) (256/4) (32/4) = 64 64 8 = 32,768 टोकन होती है।
टोकनराइज़र की गुणवत्ता की सीमा है. ईएमयू3 का योगदान आंशिक रूप से है "हमने एक बहुत अच्छा टोकनराइज़र प्रशिक्षित किया है।"
एकल हानि प्रशिक्षण
ईएमयू 3 एक उद्देश्य का उपयोग करता हैः पाठ टोकन, 2 डी छवि टोकन और 3 डी वीडियो टोकन के बीच साझा शब्दावली पर अगले टोकन की भविष्यवाणी। प्रशिक्षण के दौरान योगदान को संतुलित करने के लिए मोडलिटी-विशिष्ट कारकों द्वारा वजन गुणा किया जाता है, लेकिन हानि समारोह समान है।
निम्नलिखित में से एक मिश्रण पर ट्रेनः
- छवि जनः
<text caption> <image> image_tokens </image> - छवि धारणा:
<image> image_tokens </image> <question> text_tokens - वीडियो जनरेटर:
<text caption> <video> video_tokens </video> - वीडियो धारणाः समान।
- केवल पाठः मानक एनटीपी।
मॉडल डेटा वितरण से छवि टोकन बनाम पाठ टोकन को कब उत्सर्जित करना सीखता है।<image>टैग.
वर्गीकरणकर्ता मुक्त मार्गदर्शन और तापमान
एमु 3 इसका उपयोग करता हैः दो बार उत्पन्न करें, एक बार पूर्ण कैप्शन के साथ, एक बार खाली कैप्शन के साथ, लॉजिट को एक गाइड वजन (आमतौर पर 3.0-7.0) के साथ मिलाएं। यह वही CFG ट्रिक विसारण उपयोग करता है, जो ऑटोरेग्रेसिव सेटिंग से उधार लिया गया है।
तापमान महत्वपूर्ण है: बहुत अधिक, कलाकृतियों; बहुत कम, मोड कोलप। Emu3 के लिए अनुशंसित तापमान धारणा के लिए 1.0 है, छवि उत्पादन के लिए 0.8 है।
तीन भूमिकाएं, एक मॉडल
Emu3 जहाज तीन कार्यात्मक रूप से अलग एपीआई के रूप में लेकिन एक अंतर्निहित वजन सेटः
- Emu3Gen. छवि उत्पादन. इनपुट पाठ, आउटपुट छवि टोकन.
- ईएमयू3-चैट. वीक्यूए और कैप्शन. इनपुट छवि (टोकन), आउटपुट पाठ.
- Emu3-Stage2. वीडियो जनरेशन और वीडियो VQA. इनपुट पाठ या वीडियो, आउटपुट पाठ या वीडियो।
कोई विशिष्ट कार्य सिर नहीं, केवल अलग-अलग प्रम्प्ट टेम्पलेट, एक ही चेकपॉइंट।
बेंचमार्क
ईएमयू3 पेपर (सितंबर 2024) सेः
- छवि उत्पादनः एमजेएचक्यू -30 के एफआईडी (5.4 बनाम 5.6), जनरल ईवल (0.54 बनाम 0.55 सांख्यिकीय टाई) पर एसडीएक्सएल को हराता है, और डीप-ईवल का कम्पोजिट ऑन-पर।
- छवि धारणाः VQAv2 (75.1 बनाम 72.4) पर LLaVA-1.6 से अधिक है और MMMU पर लगभग मेल खाता है।
- वीडियो उत्पादनः 4 सेकंड की क्लिप गुणवत्ता प्रतिस्पर्धी FVD के साथ सोरा युग के सार्वजनिक रूप से बेंचमार्क किए गए मॉडल।
संख्याएँ हमेशा जीत नहीं रही हैं Emu3 यहाँ एक बिंदु के लिए एक बिंदु का व्यापार करता है लेकिन दावा "अगले टोकन भविष्यवाणी है कि आप सभी की जरूरत है" विभिन्न तरीकों पर बचाव किया जा सकता है।
गणना लागत
ईएमयू 3 को 7 बी पैरामीटर मॉडल के साथ ~ 300 बिलियन मल्टीमोडल टोकन पर प्रशिक्षित किया गया था। जीपीयू-घंटे लगभग एलएमए -2-7 बी प्री-ट्रेनिंग (2k-4k जीपीयू-वर्ष A100-वर्ग सिलिकॉन पर) के समान हैं। स्थिर विसार 3 जैसे विसारण मॉडल समान बजट में ट्रेन करते हैं लेकिन अलग पाठ एन्कोडर और अधिक जटिल पाइपलाइनों की आवश्यकता होती है।
निष्कर्ष पर, Emu3 प्रति छवि SDXL से धीमा हैः 30 tok/s पर 4096 छवि टोकन प्रति 512x512 छवि के लिए ~ 2 मिनट है, एसडीएक्सएल के लिए 2-5 सेकंड के लिए। अनुमानित डिकोडिंग और केवी-कैश अनुकूलन अंतर को संकुचित करते हैं लेकिन इसे बंद नहीं करते हैं। ऑटोरेग्रेसिव छवि जेन कंप्यूटिंग भारी है; यह स्थायी व्यापार है।
यह क्यों मायने रखता है
ईएमयू 3 का गहन योगदान अवधारणात्मक है। यदि अगली टोकन भविष्यवाणी छवि उत्पादन पर विसारण के अनुरूप पैमाने पर है, तो एकीकृत मॉडल पथ (एक हानि, एक रीढ़ की हड्डी, किसी भी मोडलिटी) व्यवहार्य है। भविष्य के मॉडल को अलग पाठ एन्कोडर, अलग विसारण अनुसूचक, अलग VAEs की आवश्यकता नहीं है। एक ट्रांसफार्मर, एक टोकनराइज़र प्रति मोडलिटी, पैमाने।
शो-ओ, जनुस-प्रो और इंटरविल-यू सभी इस थीसिस पर निर्माण करते हैं या चुनौती देते हैं। चीनी प्रयोगशालाएं (बीएएआई, डीपसेक) 2025 तक अमेरिकी प्रयोगशालाओं की तुलना में इस दिशा में अधिक आक्रामक रूप से प्रकाशित करती हैं।
इसका प्रयोग करें
code/main.pyदो खिलौना टुकड़े बनाता हैः
- एक 2 डी बनाम 3 डी वीक्यू टोकनराइज़र गिनती कैलकुलेटरः दी गई (रिज़ॉल्यूशन, पैच, क्लिप_लंबाई, एफपीएस), छवि बनाम वीडियो के लिए गणना टोकन गिनती।
- तापमान पर वर्गीकरणकर्ता मुक्त मार्गदर्शन के साथ एक ऑटोरेग्रेसिव छवि-टोकन नमूना।
सीएफजी कार्यान्वयन ईएमयू3 के नुस्खा से मेल खाता है एक मार्गदर्शन वजन के साथ सशर्त और बिना शर्त लॉजिट मिश्रण।
इसे भेजें
यह सबक हमें फल देता हैoutputs/skill-token-gen-cost-analyzer.md. उत्पादन उत्पाद विनिर्देश (छवि या वीडियो, लक्ष्य संकल्प, गुणवत्ता स्तर, विलंबता बजट) को देखते हुए, यह टोकन गिनती, निष्कर्ष लागत की गणना करता है, और Emu3 परिवार बनाम प्रसार का चयन करता है।
व्यायाम
- Emu3 प्रति 512x512 छवि में 8x8 घटाने पर 4096 टोकन उत्पन्न करता है। 1024x1024 और 2048x2048 के लिए समकक्ष की गणना करें। निष्कर्ष विलंबता के साथ क्या होता है?
- वीडियो टोकनराइज़र पर Emu3 धारा 3.3 पढ़ें। 3D VQ पैच के आकार का वर्णन करें और यह 8x8x1 नहीं 4x4x4 क्यों है।
- वर्गीकरण मुक्त मार्गदर्शन वजन 5.0 बनाम 3.0: क्या दृश्य प्रभाव? गणित में ट्रैक करें
code/main.py. .
- 300B टोकन पर Emu3-7B के लिए प्रशिक्षण FLOPs की गणना करें और स्थिर विसारण 3 की तुलना करें। प्रशिक्षण के लिए कौन सा अधिक महंगा था?
- ईएमयू3 एफआईडी पर एसडीएक्सएल से बेहतर है लेकिन वीक्यूएवी2 बनाम विशेष वीएलएम पर नहीं। समझाएं कि एकीकृत-हानि दृष्टिकोण विभिन्न बेंचमार्क पर विशेषज्ञों के खिलाफ अलग-अलग ताकत क्यों दिखाता है।
प्रमुख शर्तें
| Term | What people say | What it actually means |
|---|---|---|
| Next-token prediction | "NTP" | Standard autoregressive loss: predict token[i+1] given token[0..i]; works for every modality when tokenized |
| IBQ tokenizer | "Inverse bottleneck quantizer" | A class of VQ-VAE with larger codebooks (32768+) and better reconstruction than Chameleon's |
| 3D VQ | "Spatiotemporal quantizer" | Codebook indexed by (time, row, col); one token covers a 4x4x4 pixel cube |
| Classifier-free guidance | "CFG" | Mix conditional and unconditional logits with weight gamma; boosts image quality at inference |
| Unified vocabulary | "Shared tokens" | Text + image + video all draw from the same integer space; model predicts whichever modality comes next |
| MJHQ-30K | "Image gen benchmark" | Midjourney-quality benchmark with 30k prompts; Emu3 reports FID here |
आगे पढ़ना
- Wang et al. — Emu3: Next-Token Prediction is All You Need (arXiv:2409.18869)
- Sun et al. — Emu: Generative Pretraining in Multimodality (arXiv:2307.05222)
- Liu et al. — LWM (arXiv:2402.08268)
- Yu et al. — MAGVIT-v2 (arXiv:2310.05737)
- Tian et al. — VAR (arXiv:2404.02905)
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.