Трансформеры в разных модальностях — текст, зрение, звук
Transformer изначально создавался для последовательностей токенов. Тот же блок attention + FFN применяют к патчам изображения, фреймам спектrogram и мультимодальным парам «текст + картинка». Единая идея — представить данные как последовательность эмбеддингов и моделировать глобальные зависимости через attention.
NLP-основа — статьи 1–2. CV-применение в продуктах — распознавание. CNN по-прежнему сильны локально; трансформеры доминируют в foundation models.
Общая схема переноса
| Модальность | «Токен» | Positional info |
|---|---|---|
| Текст | Subword | Absolute, RoPE |
| Изображение | Patch 16×16 | 2D index → 1D sequence |
| Аудио | Time-frequency bin | Frame index |
| Видео | Patch × time | Spatial + temporal |
Зрение (Vision Transformer, ViT)
ViT (Dosovitskiy et al., 2020) режет изображение на пatches (например 16×16 px), линейно проецирует каждый patch в вектор, добавляет class token и positional embeddings, прогоняет через encoder как BERT.
- На малых датасетах ViT проигрывает ResNet без огромного pre-train.
- На JFT-300M и ImageNet-21k — конкурентен или лучше CNN.
- DeiT, Swin Transformer — эффективность и иерархия для detection/segmentation.
DETR — detection через transformer + bipartite matching; end-to-end без anchors (медленнее converges, но проще pipeline).
Практика: google/vit-base-patch16-224 на Hugging Face; fine-tune head на свой датасет — тот же Trainer, что и для BERT.
Мультимодальность — CLIP и LLaVA
CLIP (2021) обучает два encoder'а (image + text) на парах «картинка — подпись» из интернета. Cosine similarity в общем пространстве → zero-shot классификация по текстовым меткам.
LLaVA, GPT-4V, Gemini — LLM + vision encoder через projector; картинка превращается в «visual tokens» в контексте языковой модели. Диалог по изображению, OCR, diagram understanding.
Аудио — Whisper и AST
Whisper (OpenAI)
Encoder-decoder transformer на mel-spectrogram; обучен на 680k часов weakly supervised speech. Задачи:
- speech-to-text (multilingual + translation to English);
- language identification;
- robustness к шуму и акцентам.
import whisper
model = whisper.load_model("base")
result = model.transcribe("audio.mp3", language="ru")
print(result["text"])
Размеры: tiny → large — trade-off качество / VRAM.
Wav2Vec 2.0 / HuBERT
Self-supervised speech representations → fine-tune ASR с малым объёмом размеченной речи. Transformer (или CNN frontend + transformer) на raw waveform или features.
Audio Spectrogram Transformer (AST)
Spectrogram как «картинка» → ViT-подход для classification звуков (esc50, audioset).
Видео
TimeSformer, Video Swin — attention по spatial и temporal patches. Задачи: action recognition, video QA. Вычислительно дорого; часто sample frames + 2D CNN/ ViT.
Единые мультимодальные модели
| Модель | Модальности | Применение |
|---|---|---|
| CLIP | image + text | Search, zero-shot |
| Whisper | audio → text | Transcription |
| Flamingo / IDEFICS | image + text → text | VQA, captioning |
| ImageBind | image, text, audio, depth, … | Joint embedding |
| GPT-4o | text, audio, image in/out | Универсальный ассистент |
Выбор под задачу
| Задача | Стартовая точка |
|---|---|
| OCR + NLP | TrOCR, Vision-LLM, cloud Read API |
| ASR русский | Whisper medium/large, Yandex SpeechKit |
| Классификация изображений | ViT, ConvNeXt, fine-tune ResNet baseline |
| Поиск по каталогу | CLIP / sentence-transformers multimodal |
| Чат по документу с картинками | Multimodal LLM + RAG |
Связь с разделом NLP
Текстовый трансформер — ядро multimodal stack: vision/audio encoder лишь поставляет tokens в языковую модель. Поэтому маршрут 6.09 логично читать перед LLM и агентами.
Дальше
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Обработка естественного языка — задачи, корпуса, токенизация, метрики и типичный pipeline от сырого текста до модели. Transformer — attention, encoder и decoder, positional encoding, multi-head attention и отличия encoder-only, decoder-only и seq2seq. Минимальная реализация Transformer encoder block на PyTorch — attention, FFN, residual, LayerNorm и учебный forward pass. Fine-tuning трансформеров — classification head, token classification, seq2seq, LoRA, PEFT и выбор стратегии под объём данных. Семейства Transformer — BERT, GPT, T5, RoBERTa, ALBERT, DistilBERT, Longformer и выбор архитектуры под задачу NLP. Hugging Face pipelines, выбор русскоязычных чекпоинтов, инференс, ONNX и типичный production-путь для NLP. Хронология NLP от ELMo и ULMFiT до GPT-3 — pre-training, transfer learning, бенчмарки GLUE и SuperGLUE, scaling laws. Краткие итоги раздела "Трансформеры и NLP" — задачи NLP, attention, архитектуры, fine-tuning и практика с предобученными моделями. Чек-лист самопроверки по разделу Трансформеры и NLP — вопросы для закрепления материала.NLP и работа с текстом
Что такое трансформер — архитектура и особенности
Устройство трансформеров — теория и практика с нуля
Дообучение моделей на конкретные задачи NLP
Обзор и разбор трансформерных архитектур
Практика работы с предобученными моделями
Современные тренды в NLP (2018–2021)
Трансформеры и NLP — итоги
Трансформеры и NLP — чек-лист