Токены и токенизация
Токен - минимальная единица текста (слово, часть слова, символ) и единица измерения стоимости. Токенизаторы (BPE, SentencePiece) разбивают текст на токены фиксированного словаря (32K–256K). Разные языки «весят» по-разному: русский текст дороже английского в 1.5–2 раза. Токенизатор не исправляет опечатки, просто кодирует их - для чатов нужна предобработка.
Эмбеддинги и пространство смыслов
Эмбеддинги превращают токены (числа) в векторы - точки в многомерном пространстве, где близкие по смыслу слова находятся рядом. Векторная арифметика работает: Король - Мужчина + Женщина = Королева. Размерность эмбеддингов (например, 4096) определяет способность модели различать оттенки смыслов и объём памяти.
Позиционное кодирование
Добавляет информацию о порядке слов. RoPE вращает векторы, превращая позицию в угол поворота - модель видит не только номер слова, но и угол между словами. ALiBi штрафует внимание за расстояние - чем дальше слова, тем меньше их влияние.
Механизм самовнимания (Self-Attention)
Позволяет словам обмениваться информацией через триплеты Q (запрос), K (ключ), V (значение). Каждый токен ищет, что ему нужно (Q), сравнивает с тем, что могут дать другие (K), и забирает нужное (V). Формула: Attention = softmax(Q·K/√d)·V. Всё происходит одновременно, за один проход.
Трансформерные блоки
Блок состоит из Multi-Head Attention (несколько голов ищут разные типы связей), Add&Norm (остаточная связь + нормализация) и FFN (сеть прямого распространения для осмысления). 32–128 таких блоков создают иерархию понимания: от букв до смысла абзаца.
Архитектуры нейросетей
CNN - скользящее окно для изображений.
RNN - последовательная обработка с блокнотом-памятью (страдает от забывчивости).
LSTM - добавляет вентили и «ленту конвейера» для долгой памяти.
GRU - упрощённая LSTM, быстрее, но чуть хуже на сверхдлинных последовательностях.
Трансформер - параллельная обработка через внимание, но квадратичная сложность O(n²) и «вымывание» первых токенов.
MoE (смесь экспертов) - множество FFN-экспертов, активируются только 1–2 на токен; триллионы параметров при умеренных затратах.
Диффузия - постепенное убирание шума для генерации изображений.
Обучение моделей
Pre-training - обучение на триллионах токенов. Качество данных важнее архитектуры: дубликаты, мусор и токсичность убивают модель.
SFT - дообучение на парах «инструкция → ответ». Не добавляет знаний, но учит формату диалога.
RLHF - люди выбирают лучшие ответы, обучается reward model, модель дообучается под её оценки. Баланс полезности, честности и безопасности.
Ключевые оптимизации
KV Cache - сохраняет ключи и значения, снижая сложность генерации с O(n²) до O(n).
GQA - группирует запросы, экономя память в 4–8 раз с потерей качества всего 2%.
MLA - сжимает K и V в латентный вектор, экономя память в 16× (16 GB → 1 GB для 1M токенов).
MTP - предсказывает несколько токенов сразу, ускоряя генерацию на 30–40%.
Sliding Window - каждый токен видит только локальное окно, снижая сложность в 250 раз для 1M токенов.
Sparse Attention - вычисляет внимание только на выбранных подмножествах.
Активные параметры важнее общих - именно они влияют на бюджет.
Long context - 1M токенов ≠ идеальная память; нужны тесты, оптимизации и учёт «вымывания».
Матрица выбора: универсальные задачи - GPT-4o или Mixtral; математика - DeepSeek; русский язык - GigaChat; RAG - GigaChat Lightning; кодинг - Claude.
TCO: API - для старта, аренда GPU - для средних объёмов, on-prem - для гигантов. Учитывайте compliance, latency и скрытые затраты.
Архитектуры будущего: от монолита к оркестру
Роутинг - классификатор направляет запрос к нужной модели, экономя до 70% ресурсов (но цифра зависит от распределения запросов).
Единая шина - модели общаются структурированными сообщениями с эмбеддингами и метаданными.
RLM - модель пишет код, выполняемый в рантайме; контекст в 100 раз больше, но требует песочницы и валидации.
Агентные системы - команда моделей: планировщик, исполнитель, критик, факт-чекер.
Переключение по длине контекста - до 100K быстрая модель, до 1M long-context, выше - декомпозиция.
DWH и LLM: бухгалтер и художник
DWH (бухгалтер) говорит на языке цифр и ID, LLM (художник) хочет текст.
Решения:
Денормализация - превращаем JSON-дампы в связный текст.
Агрегация - бухгалтер готовит сводки, художник формулирует запрос.
Операционный слой - секретарь для горячих данных.
Надзиратель - прокси-слой для контроля доступа.
Журнал и tiered storage - для аудита и экономии.
Цифровой двойник человека
Трёхуровневая архитектура:
Ядро личности - профиль ценностей (эмбеддинги), контекстная память, стиль коммуникации.
Оркестратор - классификатор событий и диспетчер задач.
Функциональные модули - коммуникатор, планировщик, транзакции, RAG-поиск, контроль безопасности.
Проблемы:
идентичность, приватность, этика, технические ограничения, социальные последствия.
Инженерные выводы
За маркетингом стоят цифры - читайте спецификации с пониманием активных параметров и оптимизаций.
ИИ - это инженерия компромиссов. Не бывает идеальной архитектуры, бывает правильный выбор под задачу.
Будущее за оркестром специализированных моделей, общающихся через единую шину.
Галлюцинации: природа и борьба
Галлюцинации - не баг, а фундаментальное свойство генеративных моделей. Они возникают из-за вероятностной природы генерации, отсутствия доступа к источнику истины и компрессии знаний при обучении. Полностью устранить нельзя, но можно снижать:
RAG - подстановка фактов из надёжных источников в контекст
Снижение температуры и Top-P - уменьшение креативности
Дообучение на ответах с признанием незнания
Ансамбли - опрос нескольких моделей и сравнение ответов
Для ответственных сценариев (медицина, юриспруденция) - обязательная человеческая валидация
Этические «красные линии» в LLM
RLHF не делает модель «объективной» - он делает её соответствующей ценностям разработчика. Западные модели (OpenAI, Anthropic) впитывают либеральные ценности и геополитическую перспективу США. Китайские модели (DeepSeek, Qwen) учитывают китайское законодательство. Российские модели (GigaChat, YandexGPT) выравниваются под российские нормы.
Выбор модели - это выбор встроенной этики. Open-source даёт больше контроля: можно дообучить модель под свои правила. «Безопасность» в LLM - это всегда чья-то конкретная политика, зашитая в reward model.
MLOps для LLM: от модели к сервису
Модель в продакшене требует инженерной инфраструктуры:
Инференс-серверы (vLLM, TGI) вместо Python-скриптов - дают прирост скорости в 10–20 раз
CI/CD для LLM - тестовый набор из реальных запросов, LLM-as-a-judge для автоматической оценки, A/B тестирование
Мониторинг - латенси (p50/p95/p99), throughput, error rate, токены в секунду, дрейф данных
Дрейф данных - главная причина молчаливой деградации. Модель может работать хуже, даже если код не менялся, потому что изменились входные данные (новая аудитория, новый стиль запросов)
Вычислительная инфраструктура: почему LLM «едят» память
LLM - memory-bound: скорость инференса определяется пропускной способностью памяти, а не вычислениями.
HBM - главный дефицит. Вся HBM выкуплена под ИИ, цены на GPU растут. Обычная DRAM, SSD, HDD для LLM непригодны из-за низкой пропускной способности.
Расчёт памяти: параметры × 2 (FP16) + KV Cache + overhead. Модель 70B требует ~170–200 GB.
Квантизация (INT8, INT4) снижает потребление памяти в 2–4 раза с потерей качества 1–8%.
Безопасность LLM: угрозы и защита
Специфические уязвимости LLM требуют многоуровневой защиты:
Prompt Injection - пользователь перехватывает управление через вредоносную инструкцию. Защита: разделение промтов, экранирование, валидация на входе.
Jailbreak - обход guardrails модели. Защита: output filtering, red teaming, дообучение на атаках.
Indirect Prompt Injection - вредоносная инструкция во внешних данных (веб-страница, письмо). Особенно опасна для RAG-систем и агентных систем.
Data Poisoning - внедрение вредоносных данных в обучение. Защита: аудит данных, изоляция дообучения, LoRA вместо полного fine-tuning.
PII Leakage - утечка личных данных из обучающей выборки. Защита: фильтрация данных, тестирование на утечки, output filtering.
Output Filtering - последний рубеж. Детекция опасного контента, PII, нецензурной лексики, повторов.
Red Teaming - контролируемая попытка взломать свою систему перед запуском (автоматизация через garak, PyRIT).
Рекурсивные языковые модели (RLM): безопасность выполнения кода
RLM - архитектура, где модель пишет код, который выполняется в рантайме и вызывает суб-модели. Это даёт контекст в 100 раз больше при расходе токенов в 2–3 раза меньше.
Риски: бесконечные циклы, рекурсивные вызовы, доступ к файловой системе, сетевые вызовы, инъекции через код.
Защита: песочница (sandbox) с ограничением времени и памяти, валидация кода статическими анализаторами, белый список разрешённых операций, полный аудит и логирование.
Оценка LLM: как не попасть в ловушку бенчмарков
Бенчмарки (MMLU, HellaSwag, GSM8K) могут вводить в заблуждение: модели «заучивают» тесты, а реальное качество на ваших данных может отличаться на 10–15%.
Правильный подход:
Создать золотой набор из 100–200 реальных запросов из вашего домена.
Использовать LLM-as-a-Judge - более мощную модель для оценки ответов по заданным критериям.
Проводить A/B тестирование на реальных пользователях.
Измерять галлюцинации с помощью специализированных метрик (BERTScore, FactCC).
Мультимодальность: когда LLM видит и слышит
Современные модели (GPT-4V, Gemini, LLaVA) работают не только с текстом. Ключевая техническая идея: проекторы (projectors) переводят эмбеддинги изображений (от vision encoder) в пространство эмбеддингов текста LLM. Это позволяет модели «понимать» картинки, не переобучая саму LLM. Для инженера важно: мультимодальность требует дополнительных вычислительных ресурсов (vision encoder) и особого внимания к безопасности (модель может «увидеть» то, что не должна).
Законы масштабирования (Scaling Laws)
Качество модели предсказуемо растёт с увеличением трёх факторов: объёма данных, числа параметров и вычислительных мощностей (compute). Chinchilla Laws (DeepMind) определяют оптимальное соотношение: на каждый миллиард параметров нужно ~20 миллиардов токенов обучения. Это объясняет, почему компании вкладывают миллиарды в масштабирование, и почему просто наращивать параметры без увеличения данных бесполезно.