Мультимодальность больших моделей

Мультимодальные большие модели позволяют ИИ одновременно обрабатывать несколько форм информации, таких как текст, изображения, аудио и видео, и являются одним из наиболее важных направлений развития больших моделей сегодня.

Эта статья с нуля объясняет понятие, процесс развития, внутренние принципы и типичные возможности мультимодальности, а в конце приводитСоздайте свое первое мультимодальное приложение за 5 минутрабочий пример.


1. Что такое мультимодальность?

Обычные большие модели обычно могут обрабатывать только один тип информации —текстЕсли вы дадите традиционному ИИ изображение и спросите его: «Сколько кошек на изображении?», модель не сможет этого сделать без поддержки мультимодальности.

Но реальный мир состоит не из текста, а из множества типов сенсорной информации:

Орган чувствСоответствующая информация
ГлазаImage
УхоЗвук
РотЯзык
рукаДействие
ВидеоИзображение + Время
Веб-страницаТекст + Изображение + Структура

Поэтому,мультимодальностькак понятие и возникла.

Чтобы понять это в одном предложении:

Мультимодальность = одна модель, которая одновременно понимает и генерирует несколько форм информации.

Рассмотрим два типичных примера:

  • 1. На вход подаётся изображение и вопрос:«В этой еде на картинке много калорий?»Модель отвечает:«Это жареная курица и картофель фри, по оценке — около 1,200 калорий.»

  • 2. На вход подаётся голос:«Помоги мне суммировать эту встречу»Модель выводит текстовое резюме с предложениями по действиям.

Эта способность описывать изображения и суммировать аудио — самое прямое проявление мультимодальности.


2. Что такое модальность?

Модальность — этоформа представления информации.。

Разные модальности соответствуют разным входам и выходам. В таблице ниже перечислены распространённые модальности и их типичные применения:

МодальностьПример вводаПример выводаТипичное применение
ТекстРоманы, логи чатовОтветы, статьиВопросы и ответы, написание текстов, перевод
ImageФотографии, скриншотыПонимание изображений, генерация изображенийOCR, визуальные вопросы и ответы
АудиоРечь, музыкаТранскрибирование текста, синтез речиРезюме встреч, голосовые помощники
ВидеоВидеопотокАнализ видео, временная шкалаУчебные конспекты, извлечение контента
ДатчикGPS, температураУправляющий сигналРобототехника, автономное вождение
ДействиеЩелчки мыши, ввод с клавиатурыВыполнять действияGUI-агент, автоматизация

Чем больше модальностей поддерживает модель, тем ближе ее возможности к человеческим, поэтому все ведущие лаборатории переводят текстовые модели в мультимодальные.


3. Процесс разработки мультимодальных больших моделей

От обработки только текста до способности видеть, слышать и выводить видео — мультимодальные большие модели прошли через три чётких этапа.

Three Stages of Multimodal Large Model Development From text-only to native multimodal, each step brings models closer to human-like understanding. 1 Phase 1: LLM (Language Model) Input: Text Output: Text Capabilities: Write code / Write articles Translation / Reasoning / Q&A Limitation: Cannot see the world Representatives: GPT, Claude, Gemini 2 Phase 2: VLM (Vision-Language Model) Input: Image + Text Output: Text New Capabilities: Image recognition / OCR Chart understanding / Screenshot Q&A Limitation: Only 'sees' images Representatives: GPT-4V, Gemini 1.5, Qwen-VL 3 Phase 3: Native Multimodal (Unified Model) Input: Any combination of modalities Output: Any modality Full Capabilities: See / Hear / Speak / Reason Video / Real-time interaction / Agent Current status: Mainstream direction Representatives: GPT-5, Gemini 2.5, Claude 4.6

Этап 1: Языковые модели (LLM)

На этом этапе модели принимают текст и как входные данные, и как выходные. Типичные представители — серия GPT от OpenAI, Claude от Anthropic и Gemini от Google.

Они умеют писать код, писать статьи, переводить и отвечать на вопросы. Они обладают большими возможностями, но имеют фундаментальное ограничение:Они не могут видеть.。

Этап 2: Визуально-языковые модели (VLM)

VLM добавляет к LLM возможность «видеть изображения». Типичный сценарий использования — загрузить скриншот веб-страницы и спросить: «почему вёрстка неправильная?». Модель отвечает: «конфликт CSS».

Модели на этом этапе начинают обладать такими возможностями, как понимание изображений, OCR и понимание графиков.

Этап 3: Нативные мультимодальные модели

Нативные мультимодальные модели больше не рассматривают «изображение» и «текст» как два объединённых модуля. Вместо этого с самого начала обучения ониобрабатывают изображения, аудио, видео и текст единым образом.。

Они обладают полным набором возможностей: видеть, слышать, говорить, рассуждать и действовать. Это также основное направление в индустрии сегодня.


4. Как мультимодальные модели работают изнутри?

Внутреннюю работу мультимодальных моделей можно резюмировать одной фразой:преобразовать все данные в единое векторное пространство.。

Например:

Три выражения "one只cat", "cat" и cat.png, хотя и относятся к разным модальностям, после кодирования окажутся в близких областях векторного пространства.

Общий процесс показан на рисунке ниже:

Internal workflow of a multimodal model Map different modalities into a unified vector space, then let the Transformer perform unified reasoning Input layer Text Image Audio Video Encoder layer Text Encoder Vision Encoder Audio Encoder Video Encoder Unified semantic space Embedding Vector Space "猫" / "cat" / image are close to each other here Transformer Self-Attention + Feed Forward Unified reasoning Cross-modal association Attention(Q, K, V) Decoder Decoder Generate on demand Any modality Output layer Text Image Audio Video Core idea: map any modality into the same high-dimensional vector space, letting the Transformer understand them in a unified way

На рисунке выше показан полный пайплайн от входа до выхода; давайте разберём каждый шаг ниже.

Шаг 1: Кодирование

Разные модальности сначала должны быть преобразованы в числа, прежде чем модель сможет их обработать.

МодальностьНеобработанные данныеЗакодировано
ТекстПривет[2034, 789] набор идентификаторов токенов
ImageМатрица пикселейВектор визуальных признаков
АудиоФорма волныСпектральный вектор признаков

Шаг 2: Единое семантическое пространство

Ключевой шаг после кодирования — сделать "cat", "cat" и cat.png в векторном пространствеблизкими друг к другу。

В этом суть "кросс-модального понимания": проецирование признаков разных модальностей в одно и то же пространство.

Шаг 3: Генерация вывода

После рассуждения в едином пространстве модель по запросу "восстанавливает" результаты в разные модальности.

Выводом может быть любой из следующих: текст, изображение, аудио и видео.

Например: загрузите изображение → опишите его → затем сгенерируйте вступительное видео; это полная цепочка мультимодальной генерации.


5. Почему Transformer способен унифицировать мультимодальность?

Есть только одна основная причина:механизм внимания。

Основная формула Transformer — Attention(Q, K, V), что означает "модель сама решает, на что обращать внимание".

Например: когда пользователь спрашивает «Кто играет в баскетбол на изображении?», модель будет:

  1. Сначала посмотреть на изображение и определить всех людей на нём
  2. Определить баскетбольный мяч на изображении
  3. Определить связь между «кто» и «баскетболом»
  4. Объединить контекст и вывести ответ

Эта способность «автономно решать, на чём сосредоточиться» делает Transformer естественно подходящим для обработки мультимодального ввода:

ВводНа чём сосредоточена модель
Только текстСемантические связи между предложениями
Изображение + текстСоответствие между областями изображения и текстовыми описаниями
Видео + текстСвязь между сегментами временной шкалы и вопросами

Именно поэтому Attention стал «стандартной функцией» почти всех современных больших моделей — он изначально был разработан для кросс-модальности.


6. Типичные возможности мультимодальных моделей

Мультимодальные модели обладают пятью типичными возможностями; на рисунке ниже показаны связи между ними.

The five typical capabilities of multimodal large models A unified model covering the complete chain of "seeing, hearing, speaking, and acting" Multimodal Large model Unified Model Image understanding OCR / charts / screenshot QA Typical applications: · Error screenshot → AI locates the problem · Automatic interpretation of paper figures Image generation Text-to-image / image-to-image Typical applications: · Posters / covers / illustrations · Game assets / UI sketches Voice interaction ASR + TTS + dialogue Typical applications: · Real-time voice assistant · Meeting transcription and summarization Video understanding Long videos / timeline / QA Typical applications: · Automatic summarization of instructional videos · Key event retrieval from surveillance footage Agent Search / generation / execution / feedback · Complete PPT / poster / research with one sentence · Chain multiple tools to form an "action chain" The five capabilities can be freely combined

1. Понимание изображений

Загрузите скриншот, и модель выдаст проблемы страницы, анализ UI или результаты OCR.

Самый распространённый сценарий для программистов: сделать скриншот ошибки и позволить ИИ найти проблему.

2. Генерация изображений

Введите текстовое описание, например «Сгенерируй футуристический город», и модель вернёт ИИ-изображение.

Типичные применения: постеры, обложки, игровые ресурсы, эскизы продуктов.

3. Речевое взаимодействие

Речь в качестве входных данных, модель отвечает в реальном времени, а возможности охватывают ASR (преобразование речи в текст), TTS (преобразование текста в речь) и разговор.

4. Понимание видео

Загрузите обучающее видео, и модель выводит краткое содержание, временную шкалу и ключевые сегменты для ответов на вопросы.

5. Агент

Введите "Помоги мне сделать PPT", и модель начинает выполнять полную цепочку действий: поиск материалов → генерация структуры → создание слайдов → редактирование → экспорт.

Агент — это высшая форма, объединяющая "видеть, слышать, говорить" с "практическим исполнением".


7. Пять терминов, которые должны понимать новички

При чтении документации, связанной с мультимодальностью, следующие термины будут встречаться часто; сначала запомните их:

ТерминЗначениеПример
ТокенНаименьшая единица, обрабатываемая моделью; текст разбивается на слова"Hello world" → [Hello][world]
ЭмбеддингПроцесс преобразования информации в числовые координаты"Cat" → [0.12, 0.78, 0.33, ...]
КонтекстИстория и фоновая информация текущего разговораПользователь говорит "Apple" + "Контекст: телефон" = iPhone, а не фрукт
ВниманиеОпределяет, на какую часть входных данных фокусируется модельПри просмотре изображения модель сначала смотрит на "person", затем на "basketball"
ИнференсПроцесс, посредством которого модель генерирует выходные данные на основе входныхПосле того как пользователь вводит вопрос, модель "думает и отвечает"

Эти пять терминов встречаются во всей документации по большим моделям; сначала сформируйте интуитивное понимание, а затем при необходимости возвращайтесь к деталям.


8. Практический опыт: создайте своё первое мультимодальное приложение за 5 минут

Цель этого раздела: загрузить изображение, ИИ выводит текстовое описание.

Весь процесс не требует опыта в глубоком обучении; достаточно знать Python.

8.1 Подготовьте проект

Сначала создайте проект multimodal-demo и используйте библиотеку openai для тестирования:

Пример

# Создать проект
mkdir multimodal-demo

# Перейти в каталог проекта
cd multimodal-demo

# Установить официальный SDK OpenAI (совместим с несколькими мультимодальными моделями)
pip install openai

В каталогеmultimodal-demoзагрузите изображениеcat-cartoon.webp, изображение выглядит следующим образом (можно щёлкнуть правой кнопкой мыши, чтобы сохранить его для тестирования):

8.2 Напишите код вызова

В этом примере используетсяArk's Coding Plan, а их модель doubao-seed-2.0-pro поддерживает мультимодальную обработку.

Сохраните следующий код как test.py:

Пример

import base64
import os
from io import BytesIO
from openai import OpenAI
from PIL import Image

# ==================== Конфигурация Ark ====================
ARK_API_KEY = "ark-xxxx"             # Введите ваш ключ здесь
ARK_BASE_URL = "https://ark.cn-beijing.volces.com/api/coding/v3"  # Рекомендуется использовать универсальный API v3
MODEL_ENDPOINT = "doubao-seed-2.0-pro"  # Модель, поддерживающая мультимодальность

# Инициализация клиента
client = OpenAI(
    api_key=ARK_API_KEY,
    base_url=ARK_BASE_URL,
    timeout=60
)

def prepare_image_base64(image_path: str, max_size: int = 1024) -> str:
    """
Прочитать локальное изображение, обработать альфа-канал, изменить его размер и преобразовать в строку base64
    """

    if not os.path.exists(image_path):
        raise FileNotFoundError(f"Тестовое изображение не найдено: {image_path}")
       
    with Image.open(image_path) as img:
        # 1. Обработать прозрачный фон RGBA
        if img.mode == "RGBA":
            background = Image.new("RGB", img.size, (255, 255, 255))
            background.paste(img, mask=img.split()[-1])
            img = background
        elif img.mode != "RGB":
            img = img.convert("RGB")
           
        # 2. Масштабировать пропорционально (чтобы большие изображения не раздували Payload/Token)
        img.thumbnail((max_size, max_size))
       
        # 3. Преобразовать в Base64
        buf = BytesIO()
        img.save(buf, format="JPEG", quality=85)  # Сжать качество соответствующим образом
        b64 = base64.b64encode(buf.getvalue()).decode("utf-8")
       
    return f"data:image/jpeg;base64,{b64}"

def multimodal_chat(img_path: str, prompt: str):
    """Тест мультимодального диалога"""
    try:
        print(f"Обработка изображения: {img_path} ...")
        img_b64 = prepare_image_base64(img_path)
       
        print("Отправка запроса на платформу Volcano Engine Ark...")
        res = client.chat.completions.create(
            model=MODEL_ENDPOINT,
            messages=[
                {
                    "role": "user",
                    "content": [
                        {"type": "text", "text": prompt},
                        {"type": "image_url", "image_url": {"url": img_b64}}
                    ]
                }
            ],
            temperature=0.7,
            max_tokens=1024
        )
       
        print("\n" + "="*10 + " Результат распознавания " + "="*10)
        print(res.choices[0].message.content)
        print("="*30)
        return res

    except FileNotFoundError as e:
        print(f"[Ошибка] {e}")
    except Exception as e:
        print(f"[Ошибка API-запроса] Проверьте, правильно ли указаны сеть или Endpoint/Key. Сообщение об ошибке:\n{e}")
        return None

if __name__ == "__main__":
    # Тестовая конфигурация
    image_file = "./cat-cartoon.webp"
    question = "Опишите содержимое этого изображения подробно, проанализировав основной объект, цвета и сцену"
   
    # Имитация создания временного тестового изображения (если соответствующего изображения нет локально, для быстрой визуальной отладки)
    if not os.path.exists(image_file):
        print(f"{image_file} не обнаружен, создаётся временное тестовое изображение...")
        Image.new('RGB', (200, 200), color = (73, 109, 137)).save(image_file)
       
    multimodal_chat(image_file, question)

Запустите Pyhton, вывод будет следующим:

在发送请求至火山引擎方舟平台...

========== 识别结果 ==========
这是一张**Q版萌系卡通风格的数字角色插画**,整体背景为纯净的纯白色,没有任何环境元素,所有视觉重心都集中在中心的小猫主体上,是典型的独立角色立绘/吉祥物设计。
---
### 一、画面主体详细描述
主体是一只端正坐姿的卡通幼橘猫,是经过萌化设计的家养橘白虎斑猫形象,整体气质乖巧天真、亲人友好:
1.  **比例与姿态**:采用萌系设计特有的大头短身比例,头部占整体高度的60%左右,
...

Откройте консоль браузера, и вы увидите текстовое описание изображения от модели. Весь конвейер выглядит так:

Пользователь загружает изображение → Браузер передаёт URL изображения в OpenAI SDK → Мультимодальная модель понимает изображение → Возвращает текстовое описание → Выводит в консоль.

8.3 Распространённые расширения

После выполнения минимального рабочего кода выше вы можете продолжить расширение:

Что вы хотите сделатьКак изменить
Перейти к загрузке локальных файловПосле того как пользователь загрузит изображение, прочитайте его, преобразуйте в base64, а затем присвойте егоimage_file
Поддержка непрерывного многоходового диалогаДобавьте исторические вопросы и ответы вmessagesмассив
Переключиться на модели других вендоровУкажите при создании клиента OpenAI.baseURL, например эндпоинты, совместимые с Qwen, OpenAI, Anthropic
Обработка речи.оставьтеtype: "image_url"Измените наtype: "input_audio", и предоставьте аудио в base64.

9. Путь обучения (рекомендуется)

Если вы новичок в больших языковых моделях, приведённая ниже схема — это проверенный 6-недельный путь обучения.

Multimodal Learning Path (6 Weeks) From basic concepts to complete projects, build skills step by step. Starting point W1 foundation Transformer Token W2 skillful Prompt Engineering Call API W3 data Embedding Vector database W4 Search RAG principles Document Q&A W5 Action Agent orchestration Tool call W6 Integration Complete multimodal Project Practice Recommended Hands-on Projects Image Q&A Upload image + question Model output text answer. Coverage: Image Understanding 2. AI OCR Screenshot → Text + Structure Automatically organize into a table. Coverage: Image Understanding 3. Document Assistant PDF upload → Q&A Retrieval-Augmented Generation (RAG) Coverage: RAG 4. Video Summary Long video → timeline Key segment Q&A Coverage: Video Understanding 5. AI Programming Assistant Screenshot error → Fix Use tools to write code. Coverage: Agent

10. Что произойдёт в будущем?

Оглядываясь на эволюцию форм программного обеспечения, можно увидеть чёткую тенденцию:

В прошлом: ПО = функциональность.

Сейчас: ПО = модель.

Будущее: ПО = мультимодальные интеллектуальные агенты.

Это означает, что в будущем пользователям достаточно будет сказать одну фразу, например «сделай сайт», и модель автоматически выполнит весь процесс проектирования, написания кода, развёртывания и эксплуатации.

Мультимодальность не так проста, как «добавление в модель функции просмотра изображений».

Что она на самом деле меняет:

Пусть компьютеры начнут напрямую понимать реальный мир.

Это именно важнейший сдвиг парадигмы в текущей индустрии ИИ, а также направление, в которое следует вкладываться всем разработчикам.


Часто задаваемые вопросы

Что лучше: мультимодальные модели или обычные LLM?

Зависит от сценария: для написания простого текста, генерации кода и перевода обычная LLM более экономически эффективна; когда нужно просматривать изображения, слушать аудио или понимать видео, мультимодальная модель — единственный выбор.

Могут ли мультимодальные модели работать локально?

Да, но стоимость относительно высока. Малопараметрические VLM (например, Qwen2-VL-7B) могут работать на потребительских GPU с 16GB VRAM; более крупные модели обычно требуют облачных GPU или вызовов API.

Должен ли вывод мультимодальной модели быть текстом?

Не обязательно. Нативные мультимодальные модели могут выводить текст, изображения, аудио и даже видео; чистые VLM обычно выводят только текст.

Как выбрать мультимодальный API?

Если вам нужно только понимание изображений: OpenAI gpt-4o, Gemini 2.5 Flash и Qwen2-VL — все это экономически эффективные варианты; если вам нужно «видеть + слышать + голос в реальном времени», рекомендуется напрямую использовать OpenAI Realtime API или Gemini Live.

Другие расширения