مدل های چندرنگ MIO و هر کسی به هر کسی
Type: Learn
Languages: Python (stdlib, four-modality token allocator + streaming decode loop)
Prerequisites: Phase 12 · 11 (Chameleon), Phase 6 (Speech and Audio)
Time: ~120 minutes
اهداف یادگیری
- یک لغت مشترک طراحی کنید که بدون برخورد، نشانه های متن، تصویر، گفتار و موسیقی را در اختیار داشته باشد.
- SEED-Tokenizer (تصاویر) و SpeechTokenizer باقیمانده-VQ (گفتار) را در فشرده سازی + بازسازی مقایسه کنید.
- برنامه تحصیلی چهار مرحله ای را که هر نسل را به هر نسل می سازد توضیح دهید.
- سه دستور العمل باز هر کسی را و تفاوت های اصلی آنها را بنویسید: MIO، AnyGPT، Unified-IO 2.
مشکل
یک مدل چند مدل یکپارچه آسان است و ساخت آن در مقیاس دشوار است. اکثر سیستم های "هر به هر" تا سال 2024 به صورت پایپ لاین انجام شده است: مدل بینایی → نمایش متن → مدل صحبت → صوتی. هر امید اطلاعات را از دست می دهد، تاخیر را اضافه می کند و آموزش را پیچیده می کند. ویدیو دمو GPT-4o یک جایگزین مدل واحد با پاسخ بعدی را نشان داد؛ سیستم های باز ماه ها پس از آن.
چالش های مهندسی:
- توکن ها باید برای هر روش وجود داشته باشند، بدون ضرر فشرده شوند - به اندازه کافی برای بازسازی، و توکن ها را با نرخ هایی تولید کنند که ترانسفورماتور می تواند مصرف کند.
- یک لغت باید فضای را برای متن (32k+) ، تصویر (16k+) ، صحبت (4k+) ، موسیقی (8k+) اختصاص دهد. حداقل بیش از چهل هزار مطلب.
- داده های آموزشی باید هر جفت ورودی-خروجی را پوشش دهند (متن→تصور، تصویر→گفتار، گفتار→تصور، و غیره) یا مدل باید ترکیب شود.
- انفرنس باید توکن های خروجی را به اندازه کافی سریع برای تاخیر مکالمه (<500ms زمان تا اولین بایت صوتی) جریان دهد.
مفهوم
چهار توکن برای چهار روش
دسته توکنيزر MIO:
- متن: استاندارد BPE، لغت ~32000.
- تصویر: SEED-Tokenizer (2023) VAE کوانتایی شده با کد بوک متمایز، 4096 ورودی، 32x32 توکن در هر تصویر.
- گفتار: SpeechTokenizer residual-VQ (2023) شکل امواج 16kHz را به 8 کد بوک سلسله مراتبی رمزگذاری می کند؛ سطح اول محتوای خشن است، سطوح بعدی پروسودی و هویت سخنران را اضافه می کنند.
- موسیقی: مانند باقی مانده VQ (خاندۀ MusicGen / Encodec Meta) ، 4-8 کتاب کد.
هر روش تولید نماد عدد کامل است. نماد ها در ذخایر مشترک دامنه های شناسایی را دریافت می کنند:
text: 0..31999
image: 32000..36095 (4096 image tokens)
speech: 36096..40191 (4096 speech base tokens, plus residual layers)
music: 40192..48383 (8192 music tokens)
sep: 48384..48390 (<image>, <speech>, <music>, </...>, etc.)کل: ~ 48k لغت. ورودی و پروژکتور خروجی همه اش را پوشش می دهد.
کد پخش
تولید گفتار از VQ باقیمانده استفاده می کند. ترانسفورماتور توکن های گفتار پایه (طبق 0) را پیش بینی می کند؛ یک کوانتیزر باقیمانده کدگذاری شده موازی لایه های بعدی را پیش بینی می کند. هر توکن لایه 0 تقریبا 50ms صدا در 16kHz است.
الگوی پخش:
- کاربر به میکروفون صحبت می کند؛ توکنایزر صدا در زمان واقعی هر 50ms توکن های سخنرانی را ارسال می کند.
- MIO توکن ها را در هنگام ورود مصرف می کند (پرداخت فوری + افزون افزون).
- توکن های خروجی به عنوان تولید شده جریان می گیرند؛ یک دیکودر صحبت موازی آنها را به نمونه های صوتی با ~50-150ms تاخیر تبدیل می کند.
- زمان تا اولین بایت صوتی: ~ 300-500ms در کاغذ MIO، نزدیک به ~ 250ms GPT-4o.
مینی اومنی (arXiv:2408.16725) ، GLM-4-Voice (arXiv:2412.02612) و Moshi (arXiv:2410.00037) طراحی های تلفظ-LLM استریم کننده مکمل هستند. موشی به ویژه 160ms سفر و بازگشت را در یک GPU واحد به دست می آورد.
برنامه آموزشی چهار مرحله ای
برنامه آموزشی MIO:
- مرحله 1 تعادل. مقیاس بزرگ مدل-دوگان: متن-تصاویر، متن-خطاب، متن-موسیقی. هر جفت از بخش لغات رمز خود استفاده می کند. لغات مشترک را آموزش می دهد.
- مرحله 2 متقابل. اسناد متقابل چند حالت (بلاگ با تصاویر + ویدیو، پادکست با نقل و نقل و غیره) .
- مرحله 3 بهبود گفتار. اطلاعات صوتی اضافی برای افزایش کیفیت گفتار بدون از دست دادن قابلیت متن.
- مرحله 4 SFT. تنظیم دستورالعمل در میان روش ها: VQA، سرشناس، روایت، گفتار به گفتار.
از دست دادن مرحله توانایی های خاص را کاهش می دهد: مرحله 2 را رد کنید و مدل زمینه ی متقابل را از دست می دهد؛ مرحله 3 را رد کنید و صحبت ضعیف است.
زنجیره ی تفکر بصری
MIO زنجیره تفکر بصری را معرفی می کند: مدل به عنوان یک مرحله استدلال، نماد میانگین تصویر را به عنوان یک مرحله استدلال می کند. برای " آیا گربه به درخت می رود؟" مدل:
- انتشارات
<image>توکن هایی که صحنه را نمایش می دهند (از تصویر ورودی یا یک طرح). - متن ارسال ميکنه که نقشه رو تحليل ميکنه
- جواب نهایی را می دهد.
تصویر میانگین ارائه شده به عنوان یک سکرتچ پد عمل می کند. معیارها در وظایف استدلال فضایی بهبود می یابند. ایده منعکس کننده زنجیره تفکر برای استدلال متن است.
رقبا در هر یک
- AnyGPT (arXiv:2402.12226): 4 روش (متن، تصویر، گفتار، موسیقی) ، طراحی مشابه.
- یکپارچه-IO 2 (arXiv:2312.17172): اضافه می کند خروجی عمل بینایی، عمق، نرمال. تنوع بیشتر وظایف، مقیاس کوچکتر.
- NExT-GPT (arXiv:2309.05519): LLM + کدرس های انتشار خاص روش. نه یک رویکرد یک مدل.
- CoDi (arXiv:2305.11846): انتشار قابل ترکیب؛ هر کدام از طریق پنهان مشترک.
MIO نزدیک ترین به هر کسی به هر کسی است. AnyGPT اجداد مفهومی آن است.
بودجه تاخیر
برای یک محصول مکالمه، تاخیر هر جزء مهم است:
- مایکروفون تا توکن های صوتی: ~ 50ms.
- پیش پر کردن (توکن های صوتی + تاریخچه): ~ 100ms در یک مدل 8B.
- اولین نماد خروجی: ~50ms
- کد کد بازده متوازی VQ + دیکوتر صدا: ~ 100-150ms.
زمان کل تا اولین بایت صوتی: حداقل 300ms. GPT-4o ادعا می کند ~ 250ms. Moshi ادعا می کند 160ms. MIO / AnyGPT در محدوده 400-600ms برای هر معیار عمومی است.
چرا هر کس به هر کس سخت می ماند
حتی در سال 2026، راه های باز به هر مدل بسته شده در دو محور:
- کیفیت گفتار. توکنیزر VQ باقی مانده ضایع است؛ گفتار مکالمه در مقایسه با صداهای کلاس ElevenLabs رباتیک است.
- استدلال میان راه ها. از مدل "از آنچه می بینی می خوانید" پرسیدن هنوز هم بیشتر از وظایف دید خالص شکست می خورد.
این مشکلات تحقیقاتی باز است. Qwen3-Omni (درسی 12.20) پیشرفته ترین تلاش باز در سال 2025 است.
ازش استفاده کن
code/main.py:
- اختصاص چهار حالت لغت را تعریف می کند و آن را چاپ می کند.
- مسیرهای یک لیست ورودی چند مودالی (متن، تصویر، آڈیو کلیپ، موسیقی) از طریق روتر توکنایزر.
- شبیه سازی رمزگذاری جریان برای پاسخ متن به صحبت با شمارش تاخیر.
- محاسبه زمان انتظار می رود تا اولین بایت صوتی در تاخیر کدرها، پیش پر کردن و کدرها.
-باده
این درس به ما کمک می کندoutputs/skill-any-to-any-pipeline-auditor.md. با توجه به مشخصات محصول مکالمه ای (مودالیت های وارد، مدل های خارج، هدف تاخیر) ، آن انتخاب های طراحی خانواده MIO را بررسی می کند و بودجه تاخیر را محاسبه می کند.
تمرینات
- محصول شما ورودی صدا را قبول می کند و ورودی صدا را باز می گرداند. هدف بودجه تاخیر پایان به پایان چیست؟ اجزای زمان صرف شده را لیست کنید.
- SpeechTokenizer residual-VQ از 8 کتاب کد استفاده می کند. پیشنهاد کنید که چرا رمزگذاری متوازی سطوح باقیمانده ضروری است (به نسبت به دنباله دار) و چه پس انداز در تاخیر را می آورد.
- در لغت شما 32K متن + 4K تصویر + 4K صحبت است. اضافه کنید 8K موسیقی و ~ 10 جدا کننده. هزینه متریک های گنجانده در dim 4096 پنهان چیست؟
- زنجیره ی تفکر بصری یک تصویر میانگین را منتشر می کند. چه نوع سوالات مفید هستند؟ چه نوع هایی توسط توکن های اضافی آسیب می بینند؟
- روش "مونوگ درون" آن را توصیف کنید و با زنجیره تفکر بصری MIO مقایسه کنید.
اصطلاحات کلیدی
| Term | What people say | What it actually means |
|---|---|---|
| Any-to-any | "Multimodal in/out" | A single model that accepts and emits text, image, speech, and music in any direction |
| Residual-VQ | "Speech tokenizer stack" | Multi-codebook tokenization where each layer adds information; base layer is content, later layers are prosody |
| SEED-Tokenizer | "Image codes" | Discrete image tokenizer with 4096-entry codebook used by MIO |
| Chain-of-visual-thought | "Visual scratchpad" | The model generates an intermediate image as a reasoning step before its final answer |
| Time-to-first-audio-byte | "TTFAB" | Latency from user voice to first audio output; <500ms for conversational feel |
| Four-stage curriculum | "Training recipe" | Alignment -> interleaved -> speech-enhanced -> SFT, in that order |
خواندن بیشتر
- Wang et al. — MIO (arXiv:2409.17692)
- Zhan et al. — AnyGPT (arXiv:2402.12226)
- Lu et al. — Unified-IO 2 (arXiv:2312.17172)
- Wu et al. — NExT-GPT (arXiv:2309.05519)
- Tang et al. — CoDi (arXiv:2305.11846)
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.