النماذج متعددة الحركات فقط من الكاميلون والرموز المبكرة
Type: Build
Languages: Python (stdlib, VQ-VAE tokenizer + interleaved decoder)
Prerequisites: Phase 12 · 05, Phase 8 (Generative AI)
Time: ~180 minutes
أهداف التعلم
- شرح لماذا المفردات المشتركة + الخسارة الفردية تغير ما يمكن أن تفعل النموذج.
- وصف كيفية إشارة VQ-VAE إلى صورة إلى تسلسل منفصل يتوافق مع هدف إشارة التحول التالي.
- اسم خدوش التدريب المستقرة من Chameleon: QK-نورم، وضع التخلي عن، LayerNorm طلب.
- مقارنة تشاميلون مقابل BLIP-2 ق-Former النهج ووصف عندما كل واحد هو الخيار الصحيح.
المشكلة
تعامل VLMs القائمة على المعتدل (LLaVA، BLIP-2, Qwen-VL) النص والصورة كشيءين مختلفين.embed(text_token)صورة تمر من خلالهاvisual_encoder(image) → projector → ... pseudo_tokensالنموذج لديه طريقتين إدخالين تتضامن في بعضها البعض
ثلاثة عواقب:
- يمكن لـ LLM فقط استهلاك الصور، لا إصدارها. الخروج هو نص فقط.
- وثائق الوسائط المختلطة (الفقرات والصور المتناوبة، كما هو الحال في المقال) محرجة إما تحليل المدخلات المتعددة الطرق خارج النموذج أو الأجيال السلسلة.
- عدم مطابقة التوزيع. الرموز البصرية ورموز النص تعيش في مناطق مختلفة من الفضاء المخفي، مما يخلق مشاكل تحديد المواصفات.
يرفض كاميليون هذا الافتراض: الصور هي مجرد تسلسلات من الرموز المفصلة من المفردات المشتركة. قم بتدريب النموذج على وثائق متداخلة، خسارة واحدة، وحدة فك التخفيض السريع، ويمكنك فتح توليد الوسائط المختلطة مجانا.
المفهوم
VQ-VAE كـ "مُعبرة الصورة"
الـ Tokenizer هو جهاز تشفير ذاتي متغيرات متجهة إلى النقاط الكمية.
- رمز: CNN + ViT الذي يرسم الصورة إلى خريطة ميزات فضائية، قل 32x32 ميزات من dim 256.
- كتاب التعليمات: قاموس متعلم لمتجهات K (Chameleon يستخدم 8192) ، أيضاً dim 256.
- الكمية: لكل ميزة فضائية، ابحث عن أقرب مدخل في كتاب الكود عن بعد L2. استبدل الميزة المستمرة بنموذج العدد الكامل.
- القيادة: سي إن إن التي تأخذ الميزات الكمية مرة أخرى إلى البيكسلات.
التدريب: فقدان إعادة بناء VAE + فقدان الالتزام + فقدان كتاب الكود. مؤشرات كتاب الكود تشكل الأبجدية المفروضة للصور.
بالنسبة لـ Chameleon: تصبح صورة واحدة 32*32 = 1024 رمزًا مأخوذًا من ذخيرة من 8192.
المفردات المشتركة
يجمع ذخيرة الكلمات من Chameleon بين رموز النص ، رموز الصورة ، وفرق الطابع. لكل رموز لديها معرف واحد. تقوم طبقة إدخال إدراج كل رموز إلى متجه مخفي D-dim. تقوم خرائط التنبؤات المخرجة بتخفيضها إلى علامات الكلمات. يختار Softmax رمزاً يلي ، مهما كانت الطابع.
المفصلات مهمة:<image>و</image>علامات العلامات العصرية تسلسل الرمز الصورة. في وقت توليد، إذا كان النموذج ينبعث <image>، البرمجيات التابعة تعرف 1024 رموز التالية هي مؤشرات VQ لإرسالها إلى المُعبر لترسيم البيكسل.
توليد الطرق المختلطة
الإستدلالات هي التنبؤ التالي في المفردات المشتركة. مثال على النقطة: "رسم قطة ووصفها".
<image> 4821 1029 2891 ... (1024 image tokens) </image>
The cat is orange, sitting on a windowsill...يختار النموذج الترتيب بشكل مستقل قد ينتج الصورة ثم النص، والنص ثم الصورة، أو التقاط. نفس المفكّر، نفس الخسارة.
مقارنة مع VLMs المعدلة حيث توليد نص فقط. تشاميلون يفتح مرة أخرى السؤال عن طرق إصدار النموذج.
استقرار التدريب QK-Norm، التخلي عن العمل، ترتيب LayerNorm
تدريب الاندماج المبكر غير مستقرة على نطاق واسع. ورقة الكاميليون توثيق ثلاثة خدوش:
- ق.ك. نورم. تطبيق LayerNorm على الاستفسار والتنبؤات الرئيسية داخل الاهتمام، قبل منتج النقطة. يمنع انفجار حجم اللوجيت في العمق. يستخدم من قبل العديد من النماذج الكبيرة بعد 2024.
- وضع التخلي عن التدخين. التخلي عن التدخين بعد كل إضافة بقية، وليس فقط بعد الاهتمام و MLP. هناك حاجة إلى المزيد من التنظيم عندما يمكن أن تهيمن تراجع من رموز الصورة.
- ترتيب الطبقة القياسية. قبل LN على الفرع المتبقية (المعياري) ، بالإضافة إلى LN إضافي على اتصال القفز من الكتلة الأخيرة. يثبيت تدفق تراجع الطبقة النهائية.
بدون هذه الحيل، تمرّد 34B-param Chameleon في نقاط تفتيش متعددة. معهم، يتقارب. وصفة التدريب هي الكثير من المساهمة كما هي الهندسة المعمارية.
سقف إعادة بناء الجهاز
VQ-VAE خسارة. عند 8192 إدخالًا في كتاب الكود و 1024 رمزًا لكل صورة 512x512 ، فإن قوائم PSNR لإعادة الإعمار تتراوح بين 26-28 ديبل. هذا يكفي لجين الصورة المعرف عليها ولكن أسوأ بشكل واضح من انتشار الفضاء المستمر (التفريق المستقر 3 يصل إلى 32+ ديبل).
الـ Tokenizer هو عقدة الزجاجة. الـ Tokenizer الأفضل (MAGVIT-v2 ، IBQ ، SBER-MoVQGAN) يرفع السقف. Emu3 (دراسة 12.12) يصل إلى توليد نوعية SDXL عن طريق tokenizer أفضل وحده.
الكاميليون مقابل BLIP-2 / LLaVA
الكاميليون (الاندماج المبكر، المفرد المشترك):
- خسارة واحدة، فك واحد.
- يُولد خروجاً من نوعية مختلطة.
- الـ Tokenizer هو السقف الجودة
- مكلفة: VQ-VAE المفكّر لكل صورة تم إنشاؤها على مسار الاستنتاج.
BLIP-2 / LLaVA (الاندماج المتأخر، الأبراج المنفصلة):
- رؤية داخل، رسائل نصية فقط.
- إعادة استخدام ماجستير في العلوم
- لا يوجد عقدة زجاجة لفهم
- رخيص: مرسلة واحدة للأمام
اختر حسب المهمة، إذا كنت بحاجة إلى توليد الصور، عائلة (كاميليون) ، إذا كنت بحاجة فقط إلى فهم، فإنّ المعدّل (فلم) أسهل و يستخدم الحوسبة أكثر تدريبًا.
فيويو وأينجي جي بي تي
فيو (أدبت، 2023) هو نهج مرتبط: تخطي رمز الرؤية المفرد بالكامل، وتغذية المفاتيح الصورة الخامة من خلال إشارة المدخلات لشركة التدريس كما لو كانت رموز، لا توكيينز. أبسط من Chameleon، يفقد توليد الخروج المشترك.
AnyGPT (Zhan et al., 2024) تمتد تشاميلون إلى أربع طرق: نص، صورة، خطاب، موسيقى. نفس خدعة VQ-VAE لكل، تحويل مشترك. أي إلى أي جيل. تم تغطيتها في الدروس 12.16.
استخدمها
code/main.pyيُبني نموذجًا من نهاية إلى نهاية للدمج المبكر للعبة:
- كمية صغيرة في نمط VQ-VAE التي تقوم بتخريط 8x8 تصفيات إلى مؤشرات الكودكوب (K=16).
- المفردات المشتركة من (مصدرات النص 0..31) + (مصدرات الصورة 32..47) + (مفصلات 48, 49).
- جهاز تشخيص اللعب السريع (جدول البيغرام) المدرب على الأسعار الفنية + تسلسلات رمز الصورة.
- حلقة العينات التي تنبعث عن علامات النص المتناوبة + الصورة عند إعطاء طلب.
يحتفظ الرمز عمداً بالتحول الصغير (بيغرامات) حتى تتمكن من تتبع تدفق الإشارة من نهاية إلى نهاية.
أرسله
هذا الدرس يُنتجoutputs/skill-tokenizer-vs-adapter-picker.md. بالنظر إلى مواصفات المنتج (فهم فقط مقابل فهم + توليد، جودة الصورة المطلوبة، ميزانية التكلفة) ، فإنه يختار بين عائلة الكاميليون (الاندماج المبكر) و عائلة LLaVA (الاندماج المتأخر) ويبرر ذلك بقواعد كمية.
التمارين
- يستخدم Chameleon إدخالات كتاب الكود K=8192 و 1024 رمزا لكل صورة 512x512. تقدير نسبة الضغط مقابل صورة RGB 24 بت. هل هي خاسرة؟ كم خاسرة؟
- صورة 4K (3840x2160) بنفس كثافة VQ-VAE تنتج كم رمز الصورة؟ هل يمكن لنموذج على نمط Chameleon أن يولد صورة 4K في اتصال واحد للإستنتاج؟ ما الذي يكسر أولاً السياق ، جودة الوهم ، أو cache KV؟
- تنفيذ QK-Norm في Python النقي. بالنظر إلى استفسار 64 بعدة ومفتاح، أظهر منتج النقاط قبل وبعد LayerNorm. لماذا التحكم في الكمية مهم في العمق؟
- اقرأ قسم "كاميليون" 2.3 حول استقرار التدريب. وصف وضع الفشل الدقيق الذي لوحظ في ورقة 34B دون ق.ك. نورم. ما هو توقيع "الإنفجار القياسي" ؟
- توسيع مبرمجة الألعاب لإصدار استجابة مختلطة في حالة إعطاء طلب نصي فقط. قياس عدد المرات التي يختار فيها النموذج الصورة أولاً مقابل النص أولاً في حالة إعطاء التدريب - توزيع بيانات 60٪ النص أولاً / 40٪ الصورة أولاً.
الشروط الرئيسية
| Term | What people say | What 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 |
المزيد من القراءة
- Chameleon Team — Chameleon: Mixed-Modal Early-Fusion Foundation Models (arXiv:2405.09818)
- Aghajanyan et al. — CM3 (arXiv:2201.07520)
- Yu et al. — CM3Leon (arXiv:2309.02591)
- Zhan et al. — AnyGPT (arXiv:2402.12226)
- Adept — Fuyu-8B blog (adept.ai)
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.