Мультимодальность: текст, картинки, голос
Раньше одна модель умела что-то одно: или болтать текстом, или узнавать кошку на фото. Сегодня ChatGPT может посмотреть на твою фотку, послушать голосовое и ответить словами — и всё это одной головой.
Главная мысль урока: мультимодальность — это способность одной модели работать сразу с несколькими видами данных: текстом, картинками, звуком. А получается это потому, что любой такой вход модель сначала превращает в эмбеддинги — точки в общем пространстве смыслов, где «слово кошка» и «фото кошки» лежат недалеко друг от друга.
Зачем это вообще нужно
Представь обычный школьный день. Ты фоткаешь задачу по физике и пишешь в чат: «помоги решить». Через секунду приходит разбор по шагам. Потом ты надиктовываешь голосовое: «а можешь попроще объяснить?» — и снова получаешь ответ. Ты даже не задумываешься, что за один разговор ты подсунул модели три разных вида данных: картинку, текст и звук. А она со всеми справилась как с чем-то единым.
Вот это и есть результат, к которому мы придём в этом уроке: понимание того, как одна модель ухитряется жонглировать текстом, изображениями и голосом, не имея для каждого из них отдельного «мозга».
До недавнего времени так было нельзя. Одна программа узнавала лица, другая переводила речь в текст, третья писала сочинения — и они вообще не разговаривали друг с другом. Это как если бы в твоём телефоне камера, микрофон и клавиатура были от трёх разных устройств и не знали о существовании друг друга. Мультимодальные модели стирают эти границы.
Слово звучит страшновато, но разбирается на части легко. «Модальность» — это просто канал, по которому приходит информация: текст — одна модальность, картинка — другая, звук — третья. «Мульти» — значит «много». Мультимодальная модель — та, что принимает (а иногда и выдаёт) несколько модальностей сразу.
Мультимодальность — способность одной модели понимать и связывать между собой данные разных видов: текст, изображения, звук, иногда видео.
Метафора: один переводчик для всех языков чувств
Вспомни, как ты сам воспринимаешь мир. Ты видишь кошку глазами, слышишь её мяуканье ушами, читаешь слово «кошка» в книге. Это три совершенно разных сигнала: свет, звук, буквы. Но у тебя в голове они сходятся в один и тот же образ кошки. Глаза и уши — разные «входы», а смысл получается общий.
Мультимодальная модель устроена похоже. У неё есть несколько «органов чувств» — отдельные приёмники для текста, для картинок, для звука. Но дальше каждый приёмник переводит свой сигнал на один общий внутренний язык. И этот общий язык — уже знакомые тебе эмбеддинги.
Напомню из прошлых уроков: эмбеддинг — это представление объекта в виде точки в многомерном пространстве, где похожие по смыслу вещи лежат рядом. Раньше мы говорили об этом только про слова: «кошка» и «котёнок» — соседи, «кошка» и «трактор» — далеко. Главная магия мультимодальности в том, что в это же пространство можно положить и картинки, и звуки.
То есть фотография кошки превращается в точку, которая оказывается рядом с точкой слова «кошка». Аудиозапись мяуканья — тоже где-то поблизости. Модели уже не важно, откуда пришёл сигнал: она работает с точками в общем пространстве смыслов, а не с пикселями, буквами или звуковыми волнами по отдельности.
| Что пришло на вход | Какой «орган чувств» обрабатывает | Во что превращается |
| Текст «кошка» | текстовый приёмник (через токены) | эмбеддинг — точка в пространстве смыслов |
| Фото кошки | приёмник изображений | эмбеддинг — точка рядом с «кошкой» |
| Звук мяуканья | приёмник звука | эмбеддинг — точка где-то поблизости |
Когда все входы лежат в одном пространстве, модель может их сравнивать и связывать. Поэтому она и способна ответить словами на вопрос про картинку: текст вопроса и картинка встретились в одном месте — в пространстве эмбеддингов.
Как модель «видит» картинку и «слышит» голос
Тут важно сразу честно сказать: модель не видит картинку так, как ты. У неё нет глаз и нет чувства красоты. Для неё фотография — это таблица чисел: каждый пиксель описан несколькими числами (сколько в нём красного, зелёного, синего). Картинка 1000 на 1000 пикселей — это миллионы чисел. Сами по себе они бессмысленны.
Картинка: разбить на кусочки-«токены»
Помнишь, как в текстовых уроках мы дробили предложение на токены — кусочки, которыми оперирует модель? С картинками поступают похоже. Изображение режут на маленькие квадратики-плитки (например, сетка 16 на 16). Каждая плитка — это как бы «токен картинки». Дальше нейросеть-приёмник смотрит на каждую плитку и её соседей и выдаёт для всего изображения набор эмбеддингов.
А что было дальше с токенами в тексте? Правильно — механизм внимания связывал их друг с другом. С картинкой то же самое: внимание (про него был отдельный урок) позволяет модели понять, что плитка с ушами, плитка с усами и плитка с лапами вместе складываются в «кошку». Так распознавание «кошка против собаки», с которого начинался весь курс, теперь живёт внутри той же архитектуры, что и работа с текстом.
Голос: звук превращают в картинку, а картинку — в эмбеддинги
Со звуком фокус ещё интереснее. Голос — это колебания воздуха, то есть волна. Чтобы модель смогла с ней работать, звук обычно превращают в спектрограмму — особую картинку, где по горизонтали идёт время, по вертикали — высота звука, а яркость показывает громкость. По сути речь рисуют как разноцветную полосу.
А раз это картинка — значит, её можно обработать почти так же, как фотографию: нарезать, прогнать через приёмник, получить эмбеддинги. Вот и весь секрет: разные сигналы сводят к одному удобному виду и кладут в общее пространство смыслов. Поэтому голосовой помощник сначала «слышит» твою фразу как спектрограмму, превращает её в токены-слова, а потом отвечает уже знакомой языковой моделью.
Разбираем на примерах
Этот урок концептуальный, поэтому больших программ не будет. Но один крошечный пример всё-таки полезен — он покажет главную идею: что «близость смыслов» можно честно посчитать числами, и неважно, текст это или картинка.
Пример 1. Почему «фото кошки» оказывается рядом со словом «кошка»
Представим, что и слово, и картинка уже превратились в эмбеддинги — короткие списки чисел-координат (в настоящей модели их сотни, у нас будет всего три для наглядности). Похожесть двух точек измеряют по тому, насколько близко они стоят. Посчитаем расстояние между парами и посмотрим, кто кому сосед.
// игрушечные эмбеддинги: 3 координаты вместо сотен
const slovoKoshka = [0.9, 0.1, 0.8]; // слово "кошка"
const fotoKoshki = [0.8, 0.2, 0.7]; // фотография кошки
const slovoTraktor = [0.1, 0.9, 0.2]; // слово "трактор"
// расстояние между двумя точками (чем меньше, тем ближе смысл)
function rasstoyanie(a, b) {
let s = 0;
for (let i = 0; i < a.length; i++) {
s += (a[i] - b[i]) * (a[i] - b[i]);
}
return Math.sqrt(s);
}
const doKoshki = rasstoyanie(slovoKoshka, fotoKoshki);
const doTraktora = rasstoyanie(slovoKoshka, slovoTraktor);
console.log("Слово 'кошка' -> фото кошки: " + doKoshki.toFixed(2));
console.log("Слово 'кошка' -> слово 'трактор': " + doTraktora.toFixed(2));
console.log("Ближе оказалось: " + (doKoshki < doTraktora ? "фото кошки" : "слово трактор"));
Разберём по шагам. Мы задали три точки: слово «кошка», фотографию кошки и слово «трактор». Функция rasstoyanie считает, насколько две точки далеки друг от друга (складываем квадраты разниц по каждой координате и берём корень — это обычное расстояние, как на уроке геометрии). Потом сравниваем: что ближе к слову «кошка» — фото кошки или слово «трактор»?
Вывод:
Слово 'кошка' -> фото кошки: 0.17 Слово 'кошка' -> слово 'трактор': 1.17 Ближе оказалось: фото кошки
Видишь? Хотя одно пришло как текст, а другое как картинка, в пространстве смыслов они почти рядом (0.17), а до «трактора» далеко (1.17). Именно поэтому модель может найти на твоём фото кошку: она ищет, к какому слову ближе всего точка-картинка. В настоящей модели координат не три, а сотни, и подбирает их обучение — но идея ровно та же.
Пример 2. Какие задачи решает мультимодальность
Чтобы стало совсем понятно, зачем всё это, вот список реальных задач, с которыми ты наверняка сталкивался. Кода тут нет — это карта применений.
| Задача | Что на входе | Что на выходе |
| Описать фото для незрячего человека | картинка | текст |
| Решить задачу по фотографии тетради | картинка + текст вопроса | текст |
| Голосовой помощник | звук (речь) | текст или звук |
| Сгенерировать картинку по описанию | текст | картинка |
| Найти мем по словесному описанию | текст | подходящая картинка |
| Субтитры к видео | звук + картинка | текст |
Заметь главное: во всех строках в серединке — одно и то же общее пространство эмбеддингов. Меняются только «органы чувств» на входе и способ выдачи на выходе. Сама идея — свести разное к точкам и работать с ними — повторяется везде.
Пример 3. Наш сквозной текстовый пример становится мультимодальным
Через весь курс мы предсказываем следующее слово во фразе «Кошка пьёт ...». Раньше у модели был только текст: она видела слова «кошка» и «пьёт» и выбирала «молоко». А теперь добавь к фразе фотографию: на снимке кошка стоит у пустой миски рядом с пакетом сока. Мультимодальная модель сложит вместе текст и картинку — обе превратятся в эмбеддинги в одном пространстве — и продолжение может стать другим: не «молоко», а «сок» или «воду из миски». Картинка добавила контекст, которого в одном тексте не было. Вот ради этого мультимодальность и нужна: больше каналов — точнее понимание ситуации.
Частые ошибки и подводные камни
Когда начинаешь пользоваться картинками и голосом в ИИ, легко попасть в несколько ловушек. Разберём главные.
- «Модель видит картинку как человек». Нет. Она не любуется фотографией и не «понимает» её. Для неё это числа-пиксели, превращённые в эмбеддинги. Поэтому она может уверенно ошибиться: принять рисунок собаки за кошку или не заметить очевидную для тебя деталь. Это та же честность про ИИ, что и в прошлых уроках: умное поведение — не разум.
- «Раз модель умеет всё сразу, она во всём одинаково сильна». Не обязательно. Часто модель отлично работает с текстом, неплохо с картинками и слабее со звуком — смотря на чём её учили. Мультимодальность — это способность принять разные входы, а не гарантия, что каждый вид данных обрабатывается идеально.
- «Модель честно слышит каждое слово в голосовом». На этапе превращения звука в текст легко теряются слова: фоновый шум, акцент, тихая речь. Дальше модель работает уже с тем, что распозналось, — и если на входе была ошибка, ответ тоже будет про неправильно расслышанную фразу.
- «Описание картинки — всегда правда». Модель может уверенно описать то, чего на фото нет, — это та самая галлюцинация, только теперь про изображения. Например, «дорисовать» на снимке текст, которого там не было. Проверяй важные детали сам.
- «Сгенерированному фото или голосу можно верить». Раз модель умеет создавать картинки и голос, тем же занимаются и те, кто делает дипфейки — поддельные фото, видео и голос, выдаваемые за настоящие. Мультимодальность — мощный инструмент, и относиться к чужим «фото» и «записям» теперь стоит осторожнее.
Мини-практика: собери свою мультимодальную задачу
Теперь твоя очередь подумать как инженер. Возьми любую ситуацию из своей жизни — игру, учёбу, соцсети — и придумай мультимодальную задачу для ИИ. Опиши её по той же схеме, что в примере 2: что на входе (какие модальности) и что на выходе.
Например:
- Вход: скриншот из игры + текст «почему я проигрываю эту катку?». Выход: текстовый совет по тактике.
- Вход: голосовое «найди мне музыку как вот эта» + кусочек трека (звук). Выход: список похожих песен.
- Вход: фото холодильника. Выход: текст с рецептами из того, что есть.
Задание со звёздочкой: для своей задачи нарисуй (хоть на бумаге) ту самую серединку — общее пространство эмбеддингов — и подпиши, какие «органы чувств» переводят каждый вход в точки. Так ты закрепишь главную мысль: модель не работает с картинками и звуком напрямую, она работает с точками в общем пространстве смыслов.
И если хочется потрогать код — вернись к примеру 1 и поменяй координаты fotoKoshki так, чтобы фото вдруг оказалось ближе к «трактору». Запусти и посмотри, как изменится вывод. Это покажет, что близость в пространстве смыслов — не магия, а просто числа, которые можно сдвинуть.
Итоги
Давай соберём всё вместе.
- Мультимодальность — это способность одной модели работать сразу с несколькими видами данных: текстом, картинками, звуком.
- Секрет в общем пространстве эмбеддингов: любой вход — слово, фото, звук — превращается в точку, и похожие по смыслу вещи лежат рядом, откуда бы они ни пришли.
- Картинку режут на плитки-«токены», звук превращают в картинку-спектрограмму — и дальше всё работает через уже знакомые токены, эмбеддинги и внимание.
- Наши сквозные примеры стали богаче: «кошку против собаки» модель теперь узнаёт по фото той же архитектурой, а «Кошка пьёт ...» можно дополнить картинкой и получить более точное продолжение.
- Честность про ИИ остаётся в силе: модель не «видит» и не «слышит» как человек, может ошибаться и галлюцинировать на картинках, а её умение создавать фото и голос — это ещё и про дипфейки.
Если хочешь повторить, как мы формулируем запросы к модели, загляни в урок что такое промпт и как его писать — теперь ты знаешь, что в промпт можно вложить не только слова, но и картинку с голосом. В следующем уроке мы поговорим о том, где у всей этой мощи проходят границы: чего ИИ делать не умеет и почему важно перепроверять его за руку.