На NLP/LLM собеседованиях всё чаще проверяют не только знание трансформеров, но и понимание того, как устроены современные GPT-подобные модели: почему большинство генеративных LLM используют decoder-only архитектуру, чем LLaMA отличается от ванильного Transformer, зачем нужны RoPE, RMSNorm, SwiGLU и GQA. Инференс LLM дорогой, и кандидатов спрашивают, какие оптимизации помогают его ускорять. В этой статье — чеклист по архитектурам LLM и оптимизации инференса с картинками и схемами. Это не полноценная лекция с нуля, а тренажёр перед техническим интервью: пройтись по ключевым определениям, увидеть типовые вопросы и закрыть пробелы в формулировках.

Современные генеративные LLM — это decoder-only трансформеры. Внутри них выделяют разные семейства: GPT, LLaMA, Mistral, Qwen, Gemma и другие. Они отличаются по ряду параметров: открытая или проприетарная модель, количество параметров (от сотен миллионов до сотен миллиардов), детали архитектуры (Dense или MoE, тип attention, нормализации, positional encoding, особенности MLP), длина контекстного окна (4k, 8k, 32k, 128k токенов и больше), поддержка мультимодальности, особенности обучения, лицензия и точность весов. Выбор конкретного размера модели зависит от ресурсов и требований к скорости и качеству. Например, для модели 7B параметров в FP16/BF16 нужно около 14 ГБ GPU-памяти, а в INT8 — около 7 ГБ; для 70B — 140 ГБ и 70 ГБ соответственно.

Размер моделиFP16/BF16 весаINT8 веса
1B~2 GB~1 GB
7B~14 GB~7 GB
13B~26 GB~13 GB
30B~60 GB~30 GB
70B~140 GB~70 GB

Чем современные LLM отличаются от классического Transformer? Если коротко: больше параметров, Pre-Norm вместо Post-Norm, RMSNorm вместо LayerNorm, SwiGLU или другой gated FFN вместо простого ReLU/GELU FFN, RoPE вместо абсолютных позиционных эмбеддингов, MQA/GQA вместо полного Multi-Head Attention, иногда MoE вместо dense FFN, увеличенная длина контекста и оптимизации под эффективный инференс. То есть современные LLM — это концептуально всё тот же трансформер, но с инженерными изменениями под стабильное обучение, длинный контекст и быстрый инференс. Плюс больше данных и GPU во время обучения.

Инференс LLM дорогой из-за compute/memory bound и квадратичного внимания; оптимизации включают kv-cache, paged attention, continuous batching.

Pre-Norm и Post-Norm: в Post-Norm нормализация применяется после основного блока и residual connection, в Pre-Norm — до основного преобразования. Pre-Norm часто стабильнее при обучении глубоких трансформеров, так как градиенту проще проходить через residual path. RMSNorm отличается от LayerNorm тем, что не вычитает среднее, а нормализует вектор через корень из среднего квадратов. RMSNorm дешевле вычислительно, что важно для больших LLM, где нормализация применяется в каждом блоке и на каждом токене.

SwiGLU — это gated-активация, которая заменяет простую нелинейность в MLP. В ванильном MLP два линейных слоя и нелинейность (например, GELU) между ними. SwiGLU добавляет механизм «вентиля», что улучшает качество, но требует больше вычислений. MoE (Mixture of Experts) — это архитектура, где вместо одного dense FFN используется несколько «экспертов», и для каждого токена активируются только некоторые из них. Это позволяет увеличить количество параметров без пропорционального роста вычислений.

Инференс LLM дорогой из-за двух факторов: compute-bound и memory-bound. На этапе prefill (обработка входного промпта) модель вычисляет представления всех токенов параллельно, что требует много вычислений. На этапе decode (генерация ответа) модель генерирует токены последовательно, и каждый шаг требует доступа ко всем предыдущим токенам, что создает узкое место по памяти. Квадратичная сложность внимания с длиной контекста усугубляет проблему.

Способы ускорения инференса включают kv-cache (кэширование ключей и значений для уже обработанных токенов), paged attention (управление памятью для kv-cache), continuous batching (пакетная обработка запросов без ожидания завершения всех), speculative decoding (предсказание нескольких токенов за раз), квантизацию (снижение точности весов) и дистилляцию (обучение меньшей модели на выходе большой). Квантизация, например, позволяет уменьшить требования к памяти в два раза при переходе от FP16 к INT8, но может незначительно снизить качество.

Для подготовки к собеседованию полезно знать типовые вопросы: почему decoder-only, чем LLaMA отличается от ванильного Transformer, зачем нужны RoPE, RMSNorm, SwiGLU и GQA, почему инференс дорогой и какие оптимизации существуют. Также стоит разбираться в trade-off между скоростью и качеством при выборе модели и учитывать лицензионные ограничения, особенно для корпоративного использования.