Omni-модели: все модальности в одной
GPT-4o и Gemini — natively multimodal (omni) модели: один трансформер принимает и генерирует текст, аудио и изображения как единый поток токенов. Чем это лучше пайплайна ASR→LLM→TTS и VLM с адаптерами — разбираем на задержке и эмоциях.
Интуиция: три поколения голосового ассистента
Проследим эволюцию на одном примере — «поговорить с моделью голосом».
(а) Пайплайн из отдельных моделей. Распознавание речи (ASR, automatic speech recognition) превращает голос в текст, текст идёт в LLM, ответ озвучивает синтез речи (TTS, text-to-speech). Работает, но с двумя врождёнными болезнями: задержки трёх моделей складываются (получаются секунды), а на стыке ASR→LLM теряется всё, чего нет в транскрипте, — интонация, паузы, эмоция, тембр. Модель читает стенограмму, а не слышит собеседника.
(б) Адаптерные VLM. К замороженной LLM прикручивают энкодер модальности и проектор — так LLM учат видеть картинки. Вход становится мультимодальным, но выход по-прежнему только текст, а модальности «пришиты» к готовой языковой модели.
(в) Natively multimodal / omni. Одна модель с самого претрейна обучается на перемешанных (interleaved) последовательностях: текстовые, аудио- и визуальные токены идут одним потоком, и единый трансформер учится предсказывать следующий токен любой модальности. Мультимодальны и вход, и выход: модель может ответить голосом или нарисовать картинку.
Как это работает
Ключ ко всему — токенизация каждой модальности. Трансформер умеет ровно одно: предсказывать следующий токен. Значит, аудио нужно превратить в дискретные аудиотокены (это делает нейрокодек — см. тему про звук), картинку — в визуальные токены. После этого обучение выглядит одинаково для всего:
Момент, когда модальности объединяются, называют фузией (fusion). Ранняя фузия (early fusion) — токены всех модальностей смешиваются в один поток на входе одной модели, она учится связям между ними глубоко внутри. Поздняя фузия (late fusion) — отдельные модели обрабатывают каждая свою модальность, а результаты склеиваются в конце; пайплайн ASR→LLM→TTS — крайний случай поздней фузии. Omni-модели — это ранняя фузия, доведённая до предела: общий словарь токенов и общий претрейн.
Почему omni выигрывает в голосе
Голосовой режим — самая наглядная витрина omni-подхода, и старый voice mode ChatGPT против голоса GPT-4o — классический пример «до и после»:
- Модель слышит, а не читает. До неё доходят аудиотокены с интонацией, паузами, смехом и фоновыми звуками — можно понять сарказм, усталость или то, что говорят двое.
- Отвечает голосом напрямую. Модель генерирует аудиотокены, не дожидаясь полного текстового ответа и не передавая его в отдельный TTS. Задержка падает с секунд у пайплайна до сотен миллисекунд — почти темп живого диалога.
- Выразительный выход. Раз выход — аудиотокены, модель может шептать, менять тон, изображать эмоции; TTS в пайплайне озвучивал бы текст ровным «дикторским» голосом.
Похожая логика работает и с картинками на выходе: omni-модель может генерировать визуальные токены, то есть рисовать, а не только описывать. Про то, как ускоряют генерацию, см. инференс.
Цена вопроса
За элегантность платят обучением. Interleaved-данных (естественных последовательностей, где текст перемешан с аудио и картинками) намного меньше, чем чистого текста, и собирать их дорого. Претрейн на нескольких модальностях дороже по компьюту. И главное — баланс смеси данных: если перекормить модель аудио и картинками, качество на чисто текстовых задачах может просесть, а именно текст остаётся основной нагрузкой. Поэтому смесь модальностей тщательно балансируют, как и в обычном претрейне.
- «Чем omni отличается от LLM с адаптерами и от пайплайна ASR→LLM→TTS?» — пайплайн: три модели, задержки складываются, между ними ходит только текст. Адаптеры: энкодер + проектор к замороженной LLM, вход мультимодальный, выход текст. Omni: одна модель, претрейн на interleaved-токенах, мультимодальны и вход, и выход.
- «Почему голос GPT-4o быстрее и живее старого voice mode?» — старый был пайплайном из трёх моделей; omni слышит аудиотокены (интонация, паузы) и отвечает аудиотокенами напрямую — задержка в сотни мс вместо секунд.
- «Что такое early и late fusion?» — ранняя: модальности смешиваются в один поток токенов на входе одной модели; поздняя: отдельные модели на модальность, объединение в конце.
- «В чём главная сложность обучения omni?» — мало interleaved-данных, дорогой компьют и баланс смеси, чтобы не просело качество на чистом тексте.