Языковые модели вроде GPT-4 или Claude и генераторы изображений типа Midjourney работают на разных архитектурных принципах, но корнями уходят в одну эпоху — эру глубокого обучения. Сверточная архитектура GoogLeNet (Inception) в 2014 году показала, что модульная сборка слоев позволяет строить сети глубиной в десятки уровней без деградации качества. Этот подход к композиции блоков и оптимизации вычислений заложил фундамент для трансформеров — основы современных LLM. Трансформеры отказались от сверток в пользу механизма self-attention, который улавливает долгосрочные зависимости в тексте. Позже появились Mixture-of-Experts для разреженного масштабирования, State Space Models для длинных последовательностей и диффузионные модели для генерации изображений. Midjourney опирается на диффузию и архитектуру CLIP, связывающую текст с визуалом, но детали реализации остаются закрытыми — в отличие от открытых Stable Diffusion или DALL·E. В этой статье разберем эволюцию от сверточных сетей к трансформерам, объясним ключевые механизмы LLM и покажем, как устроены генеративные системы на примере открытых аналогов Midjourney.
- Трансформеры с механизмом self-attention заменили рекуррентные сети в 2017 году и стали основой современных LLM — от BERT (340 млн параметров) до GPT-4 (сотни миллиардов параметров, обучена на триллионах токенов).
- Mixture-of-Experts (MoE) и State Space Models (Mamba) — это методы разреженного масштабирования: Switch Transformer достиг 1,6 трлн параметров, активируя только 10% на каждом шаге, а Mamba обрабатывает последовательности за линейное время вместо квадратичной сложности attention.
- Диффузионные модели (как в Midjourney) работают через латентное пространство VAE и CLIP-эмбеддинги текста — сжимают изображение 512×512 в латент 64×64, удаляют шум за тысячу шагов через U-Net с cross-attention, затем декодируют обратно в RGB.
- Midjourney остается закрытой системой без публикации архитектуры, в отличие от открытых Stable Diffusion и DALL·E 2, что затрудняет воспроизводимость и адаптацию технологии под специфические задачи.
Наследие сверточных нейросетей: от GoogLeNet к пониманию визуальных структур
До 2014 года компьютерное зрение опиралось на AlexNet и VGG — архитектуры, где каждый слой последовательно обрабатывал изображение свертками одного размера. GoogLeNet (Inception v1) сломала этот паттерн: вместо единственного пути обработки она использовала параллельные ветви с фильтрами 1×1, 3×3 и 5×5, объединяя результаты в одном блоке. Этот подход позволил сети одновременно улавливать мелкие детали и широкие паттерны, снизив количество параметров с 138 миллионов (VGG-16) до 6,8 миллионов при росте точности на ImageNet до 93,3%. Идея модульности и разреженных связей стала прототипом для attention-механизмов в трансформерах и архитектур вроде EfficientNet.
Специалисты AiForSite отмечают, что переход от монолитных структур к модульным блокам в компьютерном зрении стал главным катализатором для появления современных механизмов внимания в текстовых нейросетях.
Модульный подход Inception: как собрать глубокую нейросеть
Inception-блок объединяет четыре операции: свертку 1×1 для сжатия каналов, параллельные свертки 3×3 и 5×5 для разномасштабного анализа и max-pooling для сохранения пространственной информации. Перед тяжелыми свертками стоят 1×1-фильтры, сокращающие глубину карт признаков — bottleneck-слой, снижающий вычислительную нагрузку в 10 раз без потери точности. Выходы всех ветвей конкатенируются по каналам, создавая многомерное представление.
GoogLeNet укладывает девять таких блоков последовательно, достигая 22 слоев глубины. Для борьбы с затуханием градиентов архитектура использует вспомогательные классификаторы на средних слоях, подающие ошибку обратно и стабилизирующие обучение. Этот прием позже вдохновил ResNet на skip-connections и трансформеры на residual-пути в attention-блоках.
Почему GoogLeNet перевернула стандарты компьютерного зрения
На соревновании ILSVRC-2014 GoogLeNet достигла ошибки Top-5 в 6,67%, обойдя VGG (7,3%) при двадцатикратном преимуществе в эффективности параметров. Ключевое достижение — демонстрация того, что глубина сети важнее ширины, если архитектура позволяет градиентам распространяться. Inception показала, что разреженные соединения эффективнее плотных fully-connected слоев, предвосхитив принцип attention — выборочного фокуса на важных признаках.

Версии Inception v2–v4 усилили идею: факторизация сверток 5×5 на две 3×3 снизила вычисления на 28%, а добавление batch normalization стабилизировало обучение сетей глубиной до 42 слоев. К 2016 году Inception-ResNet объединила модули с residual-связями, достигнув точности 80,4% Top-1 на ImageNet. Эти техники напрямую перекочевали в Vision Transformer (ViT), где патчи изображений обрабатываются параллельно через self-attention.
Уроки прошлого: как идеи многослойности сформировали современные архитектуры
Модульная структура Inception стала прототипом для трансформеров: multi-head attention работает как параллельные ветви Inception-блока, где каждая голова фокусируется на своем аспекте контекста. Bottleneck-слои 1×1 в GoogLeNet эволюционировали в linear projections для query/key/value в attention, а вспомогательные классификаторы — в auxiliary losses для обучения больших моделей. ResNet взял идею обхода градиентного затухания и довел ее до residual connections, обязательных в современных LLM.
Диффузионные модели для генерации изображений используют U-Net — архитектуру с encoder-decoder структурой и skip-connections, прямо вдохновленную Inception и ResNet. CLIP, лежащий в основе Midjourney, объединяет Vision Transformer для изображений и текстовый трансформер, связывая их через общее embedding-пространство. Наследие GoogLeNet — доказательство того, что композиция простых блоков с правильным распространением градиентов масштабируется от распознавания кошек до генерации фотореалистичных сцен по текстовому запросу.
| Архитектура | Год появления | Ключевой механизм | Влияние на индустрию |
|---|---|---|---|
| GoogLeNet (Inception) | 2014 | Параллельные ветви и 1×1 свертки | Доказала эффективность модульного подхода и разреженных связей |
| ResNet | 2015 | Skip-connections (остаточные связи) | Решила проблему затухания градиентов в глубоких сетях |
| Transformer | 2017 | Self-attention (механизм внимания) | Заменила RNN, став стандартом для современных LLM |
🤖 ИИ-ассистент, который увеличивает конверсию
AiForSite — умный ИИ-помощник для вашего ресурса. Внедрите нейросеть за пару кликов, автоматизируйте общение с клиентами и собирайте лиды 24/7 без участия менеджера. Искусственный интеллект на ваш сайт!
Фундамент больших языковых моделей: трансформеры и механизмы внимания
В 2017 году Google Brain опубликовала статью «Attention Is All You Need» и заменила рекуррентные сети LSTM архитектурой Transformer. Главное отличие — параллельная обработка всей последовательности токенов через механизм self-attention вместо последовательного перебора. Это позволило масштабировать модели до миллиардов параметров: BERT (2018) достиг 340 млн параметров, GPT-3 (2020) вырос до 175 млрд, а современные LLM типа GPT-4 или Claude 3 Opus используют сотни миллиардов параметров и обучаются на триллионах токенов. Трансформер стал основой для текстовых моделей, мультимодальных систем и генераторов кода.
Магия Self-Attention: как модели улавливают контекст
Self-attention вычисляет взвешенную связь каждого токена со всеми остальными в последовательности. Для каждого слова модель строит три вектора: Query (запрос), Key (ключ) и Value (значение). Скалярное произведение Query и Key определяет вес связи, затем веса нормализуются через softmax и применяются к Value. Результат — контекстуализированное представление токена, учитывающее всю последовательность. Например, в фразе «банк выдал кредит» слово «банк» получит высокий вес связи с «кредит», а не с «река», хотя оба значения есть в словаре.
Multi-head attention запускает этот процесс параллельно в 8–128 головах, каждая из которых ловит свой аспект зависимостей: одна может фокусироваться на синтаксисе, другая на семантике, третья на дальних связях. Веса голов объединяются через линейное преобразование. В GPT-3 используется 96 голов в каждом из 96 слоев, что дает 9216 независимых механизмов внимания. Это позволяет модели одновременно отслеживать локальные паттерны и глобальные зависимости в тексте длиной до 8192 токенов (в GPT-4 — до 128k).

Encoder или Decoder: в чем принципиальная разница
Encoder обрабатывает входную последовательность целиком и строит контекстуальные представления для каждого токена. BERT, RoBERTa и encoder-only модели используют двунаправленное внимание: каждый токен видит все токены слева и справа. Это идеально для задач классификации, named entity recognition, поиска похожих текстов. Encoder формирует фиксированное представление (embedding) всей последовательности, которое затем передается в task-specific голову — линейный слой для классификации или регрессии.
Decoder генерирует текст токен за токеном, используя каузальное (однонаправленное) внимание: каждый токен видит только предыдущие, но не будущие. GPT, Claude, LLaMA — decoder-only модели. Они предсказывают следующий токен на основе контекста слева, применяя softmax к выходному слою над всем словарем (50k–200k токенов). Encoder-decoder архитектуры (T5, BART) объединяют оба подхода: encoder кодирует входной текст, decoder генерирует выходной с cross-attention к encoder-представлениям. Это используется в машинном переводе и суммаризации, где нужна явная связь между входом и выходом.
Позиционное кодирование: почему порядок данных критически важен
Self-attention обрабатывает токены как множество без порядка: операция перестановочно-инвариантна. Чтобы модель понимала, что «кот ест рыбу» отличается от «рыбу ест кот», в embedding каждого токена добавляется позиционный вектор. В оригинальном трансформере использовались синусоидальные функции: PE(pos, 2i) = sin(pos / 10000^(2i/d_model)), PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model)). Эта схема позволяла модели экстраполировать на последовательности длиннее обучающих, но плохо масштабировалась на сверхдлинные контексты.
Позиционное кодирование действует как пространственный компас для нейросети. Без него модель видит лишь хаотичный набор слов, совершенно не понимая структуру и смысл предложения.
Современные LLM используют обучаемые позиционные эмбеддинги (GPT-2) или RoPE (Rotary Position Embedding) в LLaMA, GPT-NeoX. RoPE вращает вектора Query и Key на угол, пропорциональный позиции, что встраивает относительное расстояние между токенами напрямую в скалярное произведение. Это дает лучшую интерполяцию на длинных последовательностях. ALiBi (Attention with Linear Biases) в BLOOM добавляет линейный штраф к весам внимания в зависимости от расстояния, вообще не требуя позиционных эмбеддингов. Выбор схемы кодирования напрямую влияет на максимальную длину контекста: GPT-3 ограничена 2048 токенами, Claude 3 поддерживает 200k.
Масштабирование и оптимизация: современные методы обучения LLM
Обучение языковых моделей с миллиардами параметров требует распределения вычислений на тысячи GPU и инженерных решений для работы с терабайтами текста. Простое увеличение размера модели не гарантирует роста качества: важен баланс между числом параметров, объемом данных и вычислительным бюджетом. Исследование Chinchilla от DeepMind показало, что модели традиционно переобучали на недостаточном объеме данных — оптимальное соотношение токенов к параметрам оказалось примерно 20:1, а не 5:1, как у GPT-3. Параллельно развивались методы разреженных вычислений и новые архитектуры для обработки длинных контекстов, снижающие квадратичную сложность self-attention.
Mixture-of-Experts: эффективность разреженных моделей
Mixture-of-Experts (MoE) разбивает модель на несколько специализированных подсетей-экспертов и активирует лишь часть из них для каждого токена. Router-слой направляет входные данные к нужным экспертам, избегая полного прохода через все параметры. Switch Transformer от Google достиг 1,6 трлн параметров, но на каждом шаге задействовал только 10% из них, сократив вычислительные затраты при сохранении производительности. GPT-4 по косвенным оценкам также использует MoE-структуру, что объясняет его эффективность при огромном размере.
- Разделение на экспертов: Модель разбивается на множество узкоспециализированных подсетей, каждая из которых отвечает за свой тип данных.
- Умная маршрутизация: Специальный Router-слой динамически определяет, к какому эксперту направить текущий токен.
- Экономия ресурсов: На каждом шаге вычислений активируется лишь малая часть параметров (например, 10%), что радикально снижает нагрузку на оборудование.
Основная сложность MoE — балансировка нагрузки между экспертами: без регуляризации router может направлять весь трафик к узкой группе, превращая остальные в мертвый груз. Auxiliary loss-функции стимулируют равномерное распределение, но усложняют обучение. Разреженная активация позволяет строить модели, которые по качеству сопоставимы с плотными при меньших затратах на inference, но training требует синхронизации экспертов на разных узлах кластера, что увеличивает коммуникационные издержки.
Законы масштабирования: compute-optimal обучение и пределы роста
Исследование Chinchilla установило, что для фиксированного вычислительного бюджета оптимально растить число параметров и объем данных пропорционально. GPT-3 с 175 млрд параметров обучали на 300 млрд токенов, но Chinchilla-70B на 1,4 трлн токенов показал лучшее качество при меньшем размере. Формула compute-optimal предполагает, что удвоение вычислений должно удваивать и параметры, и данные, а не только размер модели. Llama 2 и Llama 3 следовали этой логике, обучаясь на 2–15 трлн токенов.
Пределы роста упираются в доступность качественных данных: интернет-тексты не бесконечны, а синтетическая генерация может вести к деградации. Оценка Epoch AI показала, что запас уникального текста в открытом доступе истощится к 2026 году при текущих темпах обучения. Переход к мультимодальности и использованию кода, математики, научных статей частично решает проблему, но требует новых методов фильтрации и дедупликации. Одновременно растет энергопотребление: обучение GPT-4 по оценкам потребовало примерно 25 000 GPU A100 и сотни мегаватт-часов электричества.

State Space Models: достойная альтернатива трансформерам для длинных текстов
State Space Models (SSM) вроде S4 и Mamba обрабатывают последовательности за линейное время, избегая квадратичной сложности self-attention. Архитектура опирается на рекуррентное представление состояния, которое обновляется на каждом шаге, как в классических RNN, но с параллелизуемым обучением через свертки. Mamba достигла производительности трансформеров на задачах с контекстом до миллиона токенов, используя selective scan — механизм фильтрации релевантной информации внутри состояния.
Главное преимущество SSM — константная память на inference независимо от длины контекста, что критично для работы с длинными документами или кодовыми базами. Трансформеры хранят все KV-кэши прошлых токенов, потребляя гигабайты RAM при контексте в 100 000 токенов. Mamba-2 и гибридные архитектуры комбинируют SSM-блоки с attention-слоями для баланса между эффективностью и точностью. Пока SSM не вытеснили трансформеры полностью, но показали, что альтернативы self-attention масштабируются и конкурентоспособны.
Мультимодальный синтез: архитектурные секреты Midjourney
Midjourney не публикует спецификацию архитектуры — компания защищает коммерческую тайну, раскрывая только базовые принципы в блоге и интервью основателя Дэвида Хольца. Известно, что система использует латентную диффузию для генерации и текстово-визуальный энкодер для понимания промптов. Архитектура состоит из трех блоков: модели кодирования текста (предположительно CLIP или его модификация), диффузионной U-Net для пошагового удаления шума из латентного представления и VAE-декодера, преобразующего сжатое изображение в финальную картинку высокого разрешения. Обучение ведется на закрытом датасете из сотен миллионов пар изображение-описание.
Закрытый характер архитектуры Midjourney создает парадокс: мы видим потрясающие результаты генерации, но исследователи не могут достоверно изучить внутренние механизмы, которые к ним приводят.
Диффузионные процессы: как шум превращается в искусство
Диффузионная модель работает в два этапа: прямой процесс постепенно добавляет гауссов шум к изображению за тысячу шагов, превращая его в случайный набор пикселей, а обратный процесс обучается предсказывать и удалять шум на каждом шаге. На входе модель получает зашумленное изображение, номер шага и текстовое условие — выход дает оценку шума, который нужно вычесть. Архитектура обратного процесса — U-Net с ResNet-блоками, self-attention слоями и cross-attention для инжекта текстового вектора из CLIP.
Латентная диффузия (LDM), которую использует Stable Diffusion и предположительно Midjourney, сжимает изображение 512×512 пикселей в латентное представление 64×64×4 через предобученный VAE. Шумоудаление идет в сжатом пространстве — это снижает вычислительную нагрузку в 48 раз по сравнению с пиксельной диффузией. Финальный латент декодируется обратно в RGB, восстанавливая детали. Midjourney версии 5 и выше добавляет супердискретизацию и постобработку для усиления резкости и насыщенности — детали этапов не раскрыты.
Роль CLIP: архитектурный мост между текстом и изображением
CLIP (Contrastive Language–Image Pretraining) от OpenAI обучен на 400 миллионах пар изображение-текст методом контрастного обучения: модель максимизирует косинусное сходство между эмбеддингами правильных пар и минимизирует для неправильных. Архитектура состоит из двух энкодеров — Vision Transformer (ViT) или ResNet для изображений и Transformer для текста — выходные векторы проецируются в общее пространство размерности 512 или 768. В Midjourney CLIP-эмбеддинг промпта управляет cross-attention слоями U-Net, направляя каждый шаг диффузии к нужному семантическому содержанию.

OpenCLIP и японская Stable Diffusion используют свои дообученные версии CLIP на национальных датасетах для улучшения понимания запросов не на английском. Midjourney, судя по качеству работы с многоязычными промптами в версии 5.2, вероятно, применяет ансамбль CLIP-моделей или кастомный билингвальный энкодер. Точная конфигурация неизвестна — компания не раскрывает ни размер модели, ни датасет файнтюнинга. Для сравнения: Stable Diffusion XL использует OpenCLIP ViT-G/14 с 1,4 млрд параметров в текстовом энкодере.
Проблема закрытых систем: почему устройство Midjourney остается загадкой
Midjourney не публикует веса модели, исходный код или научные статьи — сервис существует только как API через Discord-бота и веб-интерфейс. Это защищает бизнес-модель подписок ($10–120 в месяц), но лишает исследователей возможности воспроизвести результаты или проверить гипотезы об архитектуре. Обратная инженерия через анализ выходных данных дает лишь косвенные выводы: характер артефактов на руках и лицах указывает на латентную диффузию, стиль обработки краев — на агрессивную постобработку, высокая чувствительность к порядку слов — на зависимость от CLIP-эмбеддингов.
Для сравнения: Stable Diffusion доступен на Hugging Face с полным описанием архитектуры, весами и обучающими скриптами, DALL·E 2 описан в научной статье OpenAI с диаграммами сети. Закрытость Midjourney создает проблему воспроизводимости — невозможно точно оценить размер модели, проверить наличие bias в данных или адаптировать архитектуру под специфические задачи. Сообщество вынуждено полагаться на обратную совместимость с открытыми аналогами и экспериментальный подбор параметров промптов, что замедляет развитие прикладных решений на базе мультимодальной генерации.
Открытые модели не просто демократизируют технологии. Они позволяют мировому сообществу разработчиков находить уязвимости и оптимизировать процессы, ускоряя эволюцию всей отрасли.