Большие языковые модели и ChatGPT
Большие языковые модели и ChatGPT
ВсемPlay ITЗагрузка интерактивного демо…
Большие языковые модели
Что такое LLM
Большая языковая модель (Large Language Model, LLM) — это класс машинных моделей глубокого обучения, предназначенный для обработки естественного языка и генерации связных текстов, соответствующих по стилю, смыслу и структуре входному запросу или контексту. Термин "большая" отражает два ключевых аспекта: масштаб параметров модели (обычно сотни миллионов, миллиарды и более) и объём обучающих данных (десятки и сотни миллиардов токенов). Такие масштабы позволяют фиксировать статистические закономерности языка, в том числе — сложные семантические, прагматические и стилистические зависимости, которые недоступны для моделей меньших размеров.
Важно разделять LLM как абстрактную концепцию и конкретные реализации — GPT, LLaMA, Claude, Gemini и др. Это разные архитектуры, обученные на разных данных, но объединённые общей задачей: прогнозирование вероятностного распределения следующего токена при заданной последовательности предыдущих токенов.
Как работают LLM
Работа любой LLM основана на фундаментальном принципе — авторегрессивной генерации: модель последовательно формирует выходной текст, на каждом шаге принимая решение о наиболее вероятном следующем элементе — токене. Токен может представлять собой слово, его часть (подслово, суффикс), знак препинания или специальный символ. Такая стратегия позволяет эффективно обрабатывать редкие слова и производные формы без необходимости хранить в словаре каждую возможную вариацию. Полная цепочка от пользовательской строки до векторов на входе трансформера — в разделе "От текста к числам" ниже; там же сравнение character-, word- и subword-токенизации.
На каждом шаге модель вычисляет условное распределение вероятностей для всех возможных токенов из своего словаря:
P(tₙ₊₁ | t₁, t₂, …, tₙ).
Выбор конкретного токена может происходить детерминированно — через аргмакс (выбор одного токена с максимальной вероятностью), либо стохастически — с использованием температуры и методов выборки (например, top-k, nucleus sampling). Температура управляет степенью энтропии при выборке: при низкой температуре модель склонна к консервативным, повторяющимся фразам; при высокой — к разнообразному, иногда неустойчивому или неадекватному тексту. Этот параметр влияет только на стратегию декодирования выходов модели. Практическая шпаргалка по temperature, top_p, top_k, лимитам длины и штрафам за повторы — Параметры генерации LLM.
Архитектурно процесс инференса у LLM реализован как прямой проход по сети без обратных связей (feed-forward), что принципиально ограничивает её способность к многошаговым внутренним рассуждениям. Модель не "думает" перед выводом ответа и не строит явных логических цепочек в том смысле, как это делает человек. Она последовательно генерирует символы, основываясь на статистическом обобщении из обучающих данных.
Обучение больших языковых моделей
Обучение LLM состоит из нескольких этапов — предобучение, дополнительная донастройка и, в ряде случаев, пост-обработка выходов.
Предобучение осуществляется в режиме self-supervised learning — без явной разметки. Классическая задача — masked language modeling (как в BERT) или causal language modeling (как в GPT), где модель восстанавливает скрытую или следующую часть текста. На этом этапе модель учится понимать синтаксис, морфологию, базовую семантику и стилистику языка. Обучающий корпус формируется из гигабайтов и терабайтов открытых текстов — книг, статей, веб-страниц, документации, чат-логов. Критически важна чистота и сбалансированность корпуса: наличие шумных или предвзятых данных напрямую влияет на поведение модели.
В процессе обучения формируются эмбеддинги — векторные представления токенов в многомерном пространстве фиксированной размерности. Эмбеддинги кодируют идентификатор токена и его контекстуальные свойства — семантическую близость, грамматическую роль, частоту употребления. Векторное пространство организовано так, что линейные отношения между эмбеддингами часто отражают семантические аналогии (например, король − мужчина + женщина ≈ королева). Это не случайность — такие отношения возникают как побочный эффект оптимизации под задачу предсказания: если два слова часто занимают схожие позиции в синтаксических конструкциях, нейросеть учится проецировать их в близкие области пространства.
Донастройка (fine-tuning) — этап, на котором базовая предобученная модель адаптируется под конкретную задачу. Для чат-ориентированных моделей это обычно инструктаж по образцам (instruction tuning): обучение на парах "запрос — желаемый ответ", сформированных экспертами или полученными через reinforcement learning from human feedback (RLHF). Цель — скорректировать поведение модели в диалоге — повысить полезность, согласованность, отказоустойчивость и безопасность.
Донастройка не переписывает всю модель полностью. Она корректирует веса в основном "верхних" слоях — тех, что отвечают за принятие решений, в то время как нижние, отвечающие за базовые языковые признаки, остаются почти неизменными. Возможны и более экономичные подходы — например, LoRA (Low-Rank Adaptation), где изменения вносятся через дополнительные матрицы малого ранга.
Онлайн- и офлайн-инференс
LLM могут использоваться в двух основных режимах:
-
Офлайн-инференс — когда запрос обрабатывается единоразово, без необходимости немедленного ответа. Примеры — генерация документации, анализ логов, пакетная обработка документов. Здесь допустимы длительные задержки, высокая стоимость вычислений и использование очень больших моделей. Возможно применение "цепочек мыслей" (chain-of-thought prompting), когда модель выводит промежуточные рассуждения перед финальным ответом.
-
Онлайн-инференс — интерактивный режим, при котором задержка ответа становится ключевым ограничением. Здесь важны оптимизация движков инференса (например, vLLM, TensorRT-LLM, llama.cpp), квантование весов (переход от float32/float16 к int8 или int4), кэширование ключей и значений внимания (KV cache), а также стриминговая генерация — постепенная отдача токенов по мере их генерации, без ожидания завершения всего текста.
Онлайн-инференс, в особенности в веб-интерфейсах, также требует инженерной поддержки — балансировка нагрузки, управление сессиями, защита от злоупотреблений, логирование и аудит. Реализация устойчивого онлайн-API для LLM — отдельная инфраструктурная задача, сравнимая по сложности с разработкой высоконагруженных микросервисов.
Параметры декодирования (temperature, top_p и др.) и место инференса в полной системе — слой 5 в Семь слоёв LLM-стека и шпаргалке по параметрам генерации.
Архитектура Transformer
Технологический прорыв, позволивший создать LLM в их современном виде, связан с появлением архитектуры Transformer, предложенной в 2017 году в статье "Attention Is All You Need". До этого доминировали рекуррентные сети (RNN, LSTM, GRU), обладавшие принципиальными ограничениями — последовательная обработка входной последовательности затрудняла параллелизацию обучения, а градиенты, проходящие через длинные цепочки, быстро затухали, что делало обучение на длинных текстах неэффективным.
Transformer устранил эти проблемы, полностью отказавшись от рекуррентности. Его ключевой элемент — механизм внимания (attention mechanism), который позволяет модели на каждом шаге учитывать все предыдущие позиции в последовательности с разной степенью значимости. Внимание формализовано как взвешенная сумма "значений" (values), где веса определяются скалярным произведением "запросов" (queries) текущей позиции и "ключей" (keys) всех предыдущих позиций. Этот механизм обеспечивает прямую связь между любыми двумя токенами независимо от расстояния между ними, что критически важно для понимания сложных синтаксических зависимостей, анафоры, согласования и дискурсивных связей.
Архитектура состоит из стека идентичных блоков — слоёв. В каждом слое реализованы два основных подблока: многоголовое внимание (multi-head attention) и полносвязная сеть (feed-forward network).
Многоголовое внимание означает, что на каждом слое вычисляется множество независимых "внимательных" представлений текста — голов. Каждая голова обучается выделять собственный тип зависимости — одна — синтаксическую роль, другая — тематическую принадлежность, третья — дискурсивный маркер и так далее. Результаты всех голов конкатенируются и линейно проецируются в единое пространство, обеспечивая гибкость и выразительность представления.
После блока внимания следует полносвязный подслой — двухслойная нейросеть с нелинейной активацией (обычно — GELU или ReLU). Он действует как локальный "уточнитель": преобразует внимательное представление, добавляя нелинейные корректировки.
Каждый подблок снабжён остаточными соединениями (residual connections) и нормализацией по слоям (layer normalization), что стабилизирует градиентный поток и позволяет строить очень глубокие сети — до 100 и более слоёв.
В архитектуре Transformer различают энкодер и декодер. Энкодер обрабатывает входную последовательность и формирует её контекстуальное представление. Декодер генерирует выходную последовательность, на каждом шаге обращаясь как к уже сгенерированным токенам (через маскированное само-внимание, чтобы избежать "подглядывания" в будущее), так и к выходу энкодера (через внимание к энкодеру).
В GPT-подобных моделях используется только декодер (decoder-only), так как задача — генерация по префиксу, без необходимости явного кодирования полного контекста отдельным блоком. В BERT-подобных моделях используется только энкодер (encoder-only), так как задача — анализ фиксированного фрагмента текста (классификация, извлечение именованных сущностей и т.п.). Модели вроде T5 или BART сохраняют полную архитектуру encoder-decoder, что удобно для задач перевода или суммаризации.
От текста к числам — как LLM "видит" строку
Человек читает фразу целиком. LLM на входе получает только числа — сначала идентификаторы токенов, затем плотные векторы (эмбеддинги), с которыми работают слои трансформера. Между вашим промптом и матричными умножениями в сети всегда стоят три шага: нормализация текста, разбиение на токены и отображение каждого токена в число из фиксированного словаря.
Числа в примере иллюстративные — у каждой модели свой словарь и свой токенизатор (GPT, Claude, Gemini, Llama и др.).
Препроцессинг
Препроцессинг (preprocessing) приводит сырой текст к виду, на котором обучался токенизатор:
- единая кодировка (Unicode, чаще всего UTF-8);
- согласованные переводы строк и пробелы (лишние пробелы, неразрывные пробелы, табы);
- спецсимволы и управляющие последовательности — по правилам конкретной модели (некоторые символы выделяют в отдельные токены, другие отбрасывают или заменяют).
На выходе — та же фраза для человека, но в канонической форме. Для "Hello world" после нормализации часто остаётся "Hello world"; для текста с "ломаным" Unicode, смешанными пробелами или невидимыми символами результат может заметно отличаться от исходника в редакторе.
Character, word и subword — сравнение
Токенизация — это правило, по которому строка превращается в последовательность токенов. Три базовых подхода (на примере "Hello world"):
| Подход | Идея | Пример разбиения |
|---|---|---|
| По символам (character) | Каждый символ — отдельный токен | H, e, l, l, o, , w, o, r, l, d |
| По словам (word) | Разделитель — пробел или пунктуация | Hello, world |
| По подсловам (subword) | Частые фрагменты целиком, редкое — из кусков | Hell, o, world (конкретные куски зависят от словаря) |
По символам — максимальный словарь при минимальной длине последовательности в символах; для длинных текстов контекстное окно забивается быстро.
По словам — удобно для анализа, но словарь раздувается (все формы, опечатки, имена, код, URL), много <UNK> для неизвестных слов.
По подсловам — компромисс, который используют современные LLM (GPT, Gemini, Claude, Llama и др.): частые слова и морфемы кодируются коротко, редкие строки — из нескольких токенов без отдельной записи каждой опечатки в словаре.
Для русского текста англоязычный токенизатор часто режет слова на большее число кусков, чем для английского — отсюда "дороже" промпт в API и быстрее заполнение контекстного окна при том же числе символов.
Token ID и эмбеддинги на входе
Каждый токен из словаря модели имеет целочисленный token ID. Последовательность токенов превращается в массив ID, например [15496, 345, 995] — уже не текст, а индексы строк в таблице словаря (типичный размер словаря — десятки и сотни тысяч позиций).
Дальше срабатывает слой эмбеддингов (embedding lookup) — каждый ID отображается в вектор фиксированной размерности (например, 768, 4096 и более). Эти векторы подаются в трансформер вместе с позиционным кодированием; на более глубоких слоях представления становятся контекстуальными — одно и то же слово в разных предложениях получает разные внутренние векторы после прохода по вниманию.
Внутри генеративной LLM эмбеддинги пересчитываются на каждом слое. Отдельные embedding-модели (для поиска, кластеризации, RAG) выдают один вектор на фрагмент текста — об этом в Контекст и в разделе про эмбеддинги ChatGPT ниже в этой статье.
Итоговая схема для разработчика: строка → препроцессинг → токены → token ID → векторы на входе сети → предсказание следующего token ID (см. параметры декодирования). Лимиты max_tokens в API считают именно токены, а не символы.
Токенизация
Промышленная токенизация в LLM — это подсловные алгоритмы с обучаемым словарём. Наиболее распространённые схемы — Byte Pair Encoding (BPE) и SentencePiece.
BPE работает итеративно: начинается со словаря отдельных символов, затем на каждом шаге объединяет наиболее часто встречающуюся пару соседних символов (или подтокенов) в новый токен. Процесс продолжается, пока не будет достигнут желаемый размер словаря (обычно 30 000–100 000 токенов). Это позволяет эффективно кодировать как частые слова целиком, так и редкие — через подслова. Например, слово "unbelievable" может токенизироваться как "un" + "believ" + "able", что экономит место в словаре и сохраняет морфологические корни.
SentencePiece — более общая реализация, не привязанная к границам слов: она обучается непосредственно на сырых байтах (byte-level BPE), что избавляет от необходимости предварительной сегментации текста на слова и делает модель устойчивой к шуму (орфографическим ошибкам, нестандартным написаниям, языкам без пробелов).
Для русского языка, с его богатой флективной морфологией, подсловые токенизаторы особенно эффективны — одно и то же словообразовательное ядро (например, "работ" в "работа", "работник", "работодатель") может быть выделено в отдельный токен, что улучшает обобщение модели. Однако токенизация требует аккуратной адаптации — использование токенизатора, обученного преимущественно на английском, приводит к избыточной фрагментации русских слов и снижению качества.
Mixture of Experts
Постоянное увеличение числа параметров LLM (от GPT-3 с 175 млрд до GPT-4 с предполагаемыми 1.7 трлн) столкнулось с физическими и экономическими ограничениями. Один из наиболее эффективных путей масштабирования — архитектура Mixture of Experts (MoE).
Суть MoE: вместо одного плотного feed-forward блока в каждом слое используется набор ("экспертов") — от нескольких десятков до сотен. На каждом шаге обработки токена активируются только небольшая часть экспертов (обычно 1–2 из 8, 16 и более), выбираемых роутером — лёгкой нейросетью, принимающей решение на основе входного представления токена. Таким образом, общее число параметров модели может быть огромным (триллионы), но число фактически задействованных при обработке одного токена остаётся сопоставимым с плотной моделью (десятки миллиардов).
MoE позволяет достигать качества моделей с триллионами параметров при инференсе, близком по стоимости к моделям на порядок меньше. Однако она вносит сложность — обучение становится нестабильным (роутеры могут "застревать", направляя все токены к одним и тем же экспертам), а задержка инференса — менее предсказуемой (зависит от нагрузки на выбранных экспертов). При локальном запуске на потребительском GPU веса экспертов часто лежат в оперативной памяти. Скорость генерации тогда зависит от пропускной способности RAM (профиль XMP/EXPO в BIOS) и от того, сколько слоёв удалось оставить на GPU — Оптимизация локального инференса LLM. Тем не менее, MoE считается одной из главных архитектурных инноваций в LLM 2023–2025 годов и применяется в таких моделях, как Mixtral (Mistral AI), DeepSeek-MoE и части GPT-4.
Рассуждающие LLM и пределы "мышления"
Термин "рассуждающая LLM" (reasoning LLM) — скорее маркетинговый и методологический, чем архитектурный. Никакая современная LLM не обладает явным механизмом логического вывода в формальном смысле. Она не хранит доказательств, не проверяет несоответствия, не строит деревья решений. Её "рассуждения" — это имитация рассуждений, возникающая как статистический паттерн — если в обучающих данных часто встречались фразы вида "Шаг 1 — … Шаг 2 — … Следовательно, …", модель научится генерировать подобные конструкции.
Тем не менее, существуют методы, повышающие способность модели к многошаговым выводам:
- Chain-of-Thought (CoT) prompting — явное побуждение модели выводить промежуточные шаги перед финальным ответом. Эффект особенно заметен в арифметике и логических головоломках.
- Tree-of-Thoughts (ToT) — более сложный подход, при котором генерируются и оцениваются несколько альтернативных путей рассуждений.
- Self-Consistency — генерация множества независимых цепочек мыслей и выбор наиболее часто встречающегося ответа.
- ReAct (Reason + Act) — чередование генерации рассуждения и вызова внешнего инструмента (поиск, API, калькулятор).
Эти методы изменяют контекст, в котором модель работает. Рассуждение — это функция промпта, а не внутреннего состояния сети.
Концепция вычислительной несводимости (computational irreducibility), введённая Стивеном Вольфрамом, объясняет фундаментальное ограничение — если процесс требует выполнения последовательности шагов, каждый из которых зависит от результата предыдущего (как в арифметике), то его нельзя "ускорить" статистической моделью. LLM может лишь угадать ответ, основываясь на том, как часто он встречался в обучающих данных. Поэтому для точных вычислений, запросов к базам данных или выполнения кода необходима интеграция с внешними инструментами — через функции (function calling), плагины или агентские фреймворки.
Диффузионные LLM
Термин "диффузионные LLM" требует осторожности. Диффузионные модели (diffusion models) — это класс архитектур, доминирующий в генерации изображений (например, Stable Diffusion), где процесс построения изображения моделируется как постепенное "очищение" шума. В текстовой генерации диффузионные подходы исследовались, но не получили широкого распространения по двум причинам:
- Авторегрессивная генерация (по одному токену) чрезвычайно эффективна для последовательных данных, таких как текст. Диффузия, требующая множества итераций для "декодирования" всего текста одновременно, оказывается медленнее и менее масштабируемой.
- Текст дискретен, в отличие от изображений (непрерывных тензоров). Прямое применение диффузионных уравнений к дискретным токенам требует сложных аппроксимаций.
Исследования вроде "D3PM" (Discrete Denoising Diffusion Probabilistic Models) показывают принципиальную возможность, но на практике все коммерческие LLM остаются авторегрессивными. Таким образом, "диффузионные LLM" — скорее перспективное направление исследований, чем текущая технология.
Вывод LLM
Инференс (inference) — процесс применения обученной модели к новым данным. Для LLM он особенно ресурсоёмок: каждый токен требует прохода через все слои сети, и вычислительные затраты растут линейно с длиной контекста.
Ключевые технологии оптимизации:
- KV-кэширование — при автогрессивной генерации ключи и значения для уже обработанных токенов сохраняются в памяти, без пересчёта на каждом шаге. Сложность на токен падает с O(n²) до O(n) после первого. KV растёт с длиной контекста и делит VRAM с весами; в
llama.cppего квантуют флагами-ctk q8_0 -ctv q8_0. - Квантование — веса хранят в 8- или 4-битном виде вместо float16. Методы GPTQ, AWQ, QAT (quantization-aware training) снижают потери качества. QAT особенно полезен для MoE на 12–16 GB VRAM.
- Метрики инференса
- TTFT — задержка до первого токена;
- PP (prefill) — скорость чтения промпта;
- TG — скорость потока ответа; для чата важнее всего TG; упирается в пропускную способность VRAM/RAM.
- Движки инференса
- vLLM — PagedAttention, много параллельных запросов на сервере;
- TensorRT-LLM (NVIDIA) — скомпилированный граф под GPU;
- llama.cpp — GGUF, CPU/GPU,
--fit, flash attention, MTP; практика на домашнем ПК — Оптимизация локального инференса LLM.
LLM Streaming — передача токенов клиенту по мере их генерации. Это критически важно для UX — пользователь не ждёт 10 секунд, пока сгенерируется весь абзац, а видит текст, появляющийся постепенно, как при наборе живого собеседника. Реализуется через серверные события (Server-Sent Events, SSE) или WebSocket.
Перплексия (perplexity) — основная метрика качества языковой модели при оценке. Она показывает, насколько "удивлена" модель наблюдаемой последовательностью. Формально — это экспонента от кросс-энтропийной ошибки на валидационном наборе. Низкая перплексия означает, что модель присваивает высокие вероятности реальным токенам в тексте, что коррелирует с лучшей способностью к генерации. Однако перплексия не предсказывает полезность в диалоге — для этого нужны другие метрики — BLEU, ROUGE, а ещё лучше — человеческие оценки по шкалам полезности, правдоподобия, вредоносности.
LLM Agents
LLM-агент — это система, в которой LLM выступает в роли "планировщика" или "контроллера", координирующего работу внешних инструментов. Агент может:
- вызывать API (поиск в Google, запрос к базе данных, вызов REST-сервиса);
- выполнять код (в песочнице);
- читать и записывать в долговременную память (векторное хранилище, база знаний);
- рефлексировать над своими ошибками и корректировать стратегию.
Архитектура агента обычно включает:
- LLM как "мозг" — принимает решение, какой инструмент вызвать и с какими аргументами;
- инструменты — чёрные ящики с чётким интерфейсом;
- менеджер памяти — краткосрочная (контекст) и долгосрочная (векторный индекс);
- цикл исполнения — итеративный процесс: думать → действовать → наблюдать → повторить.
Агенты позволяют преодолеть ключевые ограничения "голой" LLM — незнание информации после даты обрезки, неспособность к точным вычислениям, отсутствие доступа к частным данным. Они становятся основой для enterprise-решений — автоматизации поддержки, анализа отчётов, внутренних помощников.
Однако агенты вносят новые риски — компаундирование ошибок (ошибка в одном шаге ведёт к каскаду сбоев), безопасность вызовов (возможность выполнения вредоносного кода), трудность отладки (непрозрачность цепочки решений). Поэтому в промышленных системах агенты ограничиваются строгими песочницами и политическими контроллерами.
Теоретическая база — пять классических типов агента (рефлексный, модельный, целевой, утилитарный, обучающийся): Типы интеллектуальных агентов. Практика LLM-агентов — Агенты ИИ.
GPT
Семейство GPT (Generative Pre-trained Transformer) — пионер и де-факто стандарт в области decoder-only LLM. Его развитие отражает основные этапы эволюции всей области.
GPT-1 (2018) — первая модель в серии, с 117 млн параметров. Использовала архитектуру Transformer decoder (12 слоёв), предобучалась на BookCorpus, донастраивалась под конкретные задачи (fine-tuning). Демонстрировала принципиальную возможность transfer learning в NLP без изменения архитектуры.
GPT-2 (2019) — масштабный скачок: 1.5 млрд параметров, обучение на веб-корpusе WebText (40 ГБ). OpenAI изначально не публиковала модель из-за опасений misuse — это стало прецедентом в этических дискуссиях вокруг ИИ. GPT-2 показала, что качество генерации растёт с масштабом, даже без явной донастройки под задачи.
GPT-3 (2020) — прорыв в масштабе — 175 млрд параметров, обучение на смеси Common Crawl, WebText2, Books1/2, Wikipedia. Ключевая инновация — in-context learning — модель могла решать новые задачи, получив лишь несколько примеров в prompt, без градиентного обновления весов (zero-shot, one-shot, few-shot learning). Это сделало GPT-3 универсальным инструментом для прототипирования.
GPT-3.5 (2022–2023) — серия улучшений над GPT-3, включая:
- text-davinci-003 — улучшенное качество генерации, поддержка длинных последовательностей;
- gpt-3.5-turbo — оптимизированная версия для диалога, значительно дешевле и быстрее, ставшая основой ChatGPT (бесплатной версии).
GPT-4 (2023) — мультимодальная (текст + изображения ввод), гораздо более устойчивая к инструкциям, с улучшенной логикой и меньшей склонностью к галлюцинациям. Официальные параметры не раскрываются, но оценки указывают на ~1.7 трлн параметров в конфигурации MoE. Важно — GPT-4 не просто "больше GPT-3" — она использует улучшенные методы сбора данных, фильтрации, обучения и постобработки, включая продвинутый RLHF и, предположительно, методы вроде Constitutional AI.
GPT-4o (2024) — "o" от omni: фокус на низкой задержке, высокой скорости и эффективности. Оптимизирована для аудио-, видео- и текстового ввода/вывода в реальном времени. Уменьшена стоимость инференса, улучшена поддержка неанглоязычных языков. Архитектурно — вероятно, плотная модель меньшего размера (не MoE), с акцентом на latency-sensitive сценарии.
GPT-серия формирует методологическую основу: предобучение → донастройка на инструкциях → RLHF → безопасность через промптинг и постфильтрацию. Она задаёт стандарты в API-дизайне, управлении версиями, инструментарии (function calling, JSON mode, response format control).
BERT
BERT (Bidirectional Encoder Representations from Transformers, 2018) — альтернативный путь развития: encoder-only архитектура, обучение через masked language modeling (MLM). В отличие от GPT, BERT обрабатывает весь входной текст за один проход, используя информацию как слева, так и справа от текущего токена. Это делает её исключительно эффективной для задач, требующих глубокого понимания контекста — классификации, извлечения отношений, ответов на вопросы.
Ключевые особенности:
- Двунаправленное внимание — фундаментальное преимущество для анализа.
- Обучение с маскированием: 15% токенов случайно заменяются
[MASK], и модель учится их восстанавливать. - Предназначена для кодирования на выходе — контекстуализированные эмбеддинги, которые подаются в лёгкий классификатор.
Варианты — RoBERTa (оптимизированное обучение), ALBERT (снижение числа параметров через факторизацию), ELECTRA (более эффективное обучение через замену дискриминатора/генератора).
Хотя BERT напрямую не используется в чат-ботах, её идеи живы: многие гибридные системы используют BERT-подобные энкодеры для анализа запроса, а GPT-подобные декодеры — для генерации ответа.
Claude
Claude (Anthropic) — серия моделей, выросших из бывших сотрудников OpenAI и сформировавших собственную этико-техническую философию.
Ключевые отличия:
- Конституционное обучение (Constitutional AI) — вместо полного доверия человеческим оценкам (как в RLHF), модель сначала генерирует несколько вариантов ответа, затем сама их оценивает по заданному "конституционному" списку принципов (например, "не вреди", "будь точен", "не лги"), отбирает лучший и обучается на нём. Это снижает субъективность и масштабирует обучение.
- Контекст до 200 000–1 000 000 токенов (в Claude 3.5 Sonnet и Opus) — рекордная на момент 2024 года поддержка длинных документов. Это достигнуто через оптимизацию внимания (например, sliding window attention, grouped-query attention) и эффективное управление памятью.
- Три уровня качества — Haiku (быстрый, дешёвый, для встраивания), Sonnet (баланс скорости и качества), Opus (максимальная сложность, для research и аналитики).
- Повышенная отказоустойчивость — Claude реже "ломается" на провокационных или противоречивых запросах, предпочитая чётко отказать, чем сгенерировать галлюцинацию.
Claude 3.5 Sonnet (2024) демонстрирует сопоставимое или превосходящее GPT-4o качество в coding и reasoning benchmarks при меньшей задержке, что делает её серьёзным конкурентом в enterprise-сегменте.
Qwen
Qwen (Tongyi Qianwen) — семейство моделей, разработанных Alibaba Cloud. Позиционируется как открытая (в части весов и кода), многоязычная и ориентированная на китайский рынок, но с сильной поддержкой английского, русского и других языков.
Особенности:
- Открытая публикация весов (Qwen, Qwen1.5, Qwen2, Qwen2.5, Qwen3), включая версии с 0.5B до 72B параметров.
- Специализированные модели:
- Qwen-Audio и Qwen-VL — мультимодальные;
- Qwen2-Math — дообучена на математических данных;
- Qwen-VL-Chat — для диалога с изображениями.
- Поддержка 100+ языков, включая редкие (например, баскский, маори).
- Эффективная реализация через MLLM (Multimodal Large Language Model) подход — единая архитектура для текста, изображений, аудио.
- Широкая интеграция в экосистему Alibaba — Taobao, DingTalk, Tongyi app.
Qwen — один из немногих крупных open-weight LLM, реально применимых в production. Модель Qwen2-72B часто сравнивается с Llama 3 70B и GPT-3.5 по качеству, при этом оставаясь полностью доступной для локального развёртывания.
YandexGPT и GigaChat
YandexGPT
Разрабатывается компанией Яндекс, позиционируется как "национальная языковая модель". Доступна через Yandex Cloud (API), Yandex Search, Alice, Toloka.
Особенности:
- Обучена преимущественно на русскоязычных данных: Яндекс.Картинки, Яндекс.Маркет, Википедия, новостные агрегаторы, пользовательские запросы (анонимизированные).
- Поддержка русской морфологии, идиом, культурных реалий: модель лучше справляется с задачами вроде "напиши письмо в стиле Чехова" или "объясни значение слова обломовщина".
- Интеграция с внутренними сервисами — генерация описаний товаров, автоматизация поддержки, анализ отзывов.
- Архитектура: decoder-only, масштаб не раскрыт (оценки — сотни миллиардов параметров для YandexGPT 3).
- Важно: модель не является open-weight; доступ — только через API или интерфейсы Яндекса.
GigaChat
Разработка Сбера, часть экосистемы GigaFamily. Акцент — на enterprise и государственный сектор.
Особенности:
- Строгая локализация — обучение на госдокументах (ГОСТ, приказы, регламенты), юридических текстах, бухгалтерской отчётности.
- Поддержка форматов — генерация приказов, протоколов, служебных записок в соответствии с ГОСТ Р 7.0.97-2016.
- Встроенные инструменты:
- проверка на соответствие 152-ФЗ (персональные данные);
- анализ договоров на риски;
- суммаризация судебных решений.
- Модель доступна как в облаке (через SberCloud), так и on-premise — критически важно для госсектора.
- Версии — GigaChat (базовая), GigaChat-Pro (улучшенное качество), GigaChat-mini (лёгкая, для встраивания).
Обе модели решают задачу языкового суверенитета — работа с русским языком без зависимости от зарубежных API, соблюдение законодательства, интеграция в существующие ИТ-ландшафты. Однако они уступают GPT-4 и Claude 3 в общемировых benchmarks по reasoning и coding — их сила в узкой предметной области.
DeepSeek (семейство моделей)
DeepSeek — китайская лаборатория с линейкой open-weight и API-моделей. Для разработчика наиболее заметны:
- DeepSeek-V3 — универсальный чат и рассуждения;
- DeepSeek-Coder — генерация и отладка кода;
- DeepSeek-R1 — модели с явной цепочкой рассуждений (reasoning) перед ответом;
- DeepSeek-VL — мультимодальность (текст + изображение).
Веса публикуются на Hugging Face; коммерческое использование регулируется актуальной лицензией на странице модели. API конкурирует по цене с западными провайдерами — удобен для прототипов и высокочастотных вызовов при контроле качества на своём стеке.
Практика промптов и сравнение с ChatGPT и Gemini — в Генерация кода — ChatGPT, Gemini и DeepSeek. Локальный запуск — Локальные модели.
Для русскоязычных задач в контуре РФ по-прежнему актуальны GigaChat, YandexGPT и дообученные open-weight (Saiga, RuGPT-наследники); DeepSeek часто берут как технический слой кода и математики, а не как замену отраслевому compliance.
ChatGPT
ChatGPT — продукт, построенный на базе LLM-серии GPT (сначала GPT-3.5, затем GPT-4 и GPT-4o), дополненный инженерными и методологическими слоями, превращающими языковую модель в интерактивного ассистента. Его успех обусловлен не столько революционной архитектурой, сколько тщательной проработкой всего стека: от сбора данных до интерфейса пользователя.
Авторегрессивное предсказание токенов
Как уже отмечалось, ChatGPT не генерирует текст целиком. Он последовательно, по одному, добавляет токены к уже существующему префиксу — промпту и ранее сгенерированным частям ответа. На каждом шаге вычисляется распределение вероятностей для следующего токена; выбор осуществляется с учётом параметра температуры.
Температура — коэффициент, управляющий формой распределения:
- При температуре, близкой к нулю, распределение становится "остроконечным": модель почти всегда выбирает токен с максимальной вероятностью. Это приводит к детерминированным, но часто шаблонным, консервативным и повторяющимся ответам.
- При повышении температуры распределение "сглаживается", повышается энтропия: менее вероятные, но возможные токены получают шанс быть выбранными. Это вносит разнообразие, креативность, иногда — неустойчивость или неадекватность.
Температура применяется только на этапе генерации, после того как модель выдала логиты. Она не влияет на обучение и не меняет внутренние веса. В ChatGPT пользователь не видит этого параметра напрямую (он зашит в настройки системы), но его эффект ощущается: ответы редко повторяются дословно, сохраняя при этом стилистическую и смысловую целостность. Остальные настройки декодирования в API и локальных серверах — в напоминалке по параметрам.
Токенизация и работа с морфологией
ChatGPT использует токенизатор cl100k_base, разработанный специально для GPT-4. Он основан на алгоритме BPE, но с улучшенной обработкой специальных символов, имён собственных, технических терминов и неанглийских языков.
Для русского языка это означает:
- Эффективное кодирование корней и аффиксов: "программирова" + "ть", "интернет" + "-ресурс".
- Устойчивость к опечаткам и разным нормам написания ("е-mail", "email", "электронная почта" могут кодироваться похоже в эмбеддинговом пространстве).
- Возможность "изобретать" термины — если слово не встречалось в обучающем корпусе, оно разбивается на подтокены, каждый из которых имеет свой вектор. Композиция позволяет сформировать адекватное представление — например, для "нейроэксплойт" или "квантовый биткоин".
Токенизация также определяет стоимость использования: в API OpenAI тарификация идёт за токены, а не за символы. Короткое, но технически насыщенное слово может стоить дороже длинной фразы из простых токенов.
Эмбеддинги
Эмбеддинги в ChatGPT — это динамические представления, вычисляемые на каждом слое сети. Однако для внешних задач (поиск по схожести, кластеризация, классификация) OpenAI предоставляет отдельные embedding-модели (например, text-embedding-3-small, text-embedding-3-large), которые выдают фиксированный вектор на входной текст.
Эти векторы формируют многомерное пространство, где:
- Близость векторов ≈ семантическая близость;
- Направление вектора ≈ смысловая ориентация (тема, тональность, домен);
- Линейные операции ≈ семантические операции (аналогии, обобщение).
Практически это позволяет реализовать:
- Семантический поиск — находить документы, релевантные запросу, даже при отсутствии общих ключевых слов.
- Кластеризацию знаний: группировать статьи энциклопедии по темам без ручной разметки.
- Детекцию дубликатов: выявлять переформулированные вопросы в базе знаний.
Важно: качество эмбеддингов зависит от domain shift. Эмбеддинги, обученные на веб-текстах, хуже справляются с узкоспециализированной лексикой (например, медицинской или юридической), если не проведена адаптация.
Механизм внимания
ChatGPT (на базе GPT-4) использует усовершенствованные формы внимания:
- Grouped-Query Attention (GQA) — компромисс между Multi-Query Attention (MQA) и полным Multi-Head Attention. Уменьшает потребление памяти и задержку при сохранении качества.
- Sliding Window Attention — для очень длинных контекстов (128K+ токенов) внимание ограничивается окном фиксированного размера, смещаемым по мере генерации. Это позволяет масштабироваться без квадратичного роста памяти.
- RoPE (Rotary Position Embedding) — кодирование позиции токена через вращение векторов в подпространствах, что улучшает экстраполяцию на последовательности длиннее обучающих.
Благодаря этим улучшениям ChatGPT может:
- Связывать местоимения с сущностями на расстоянии в десятки тысяч токенов;
- Поддерживать нити нескольких параллельных тем в одном диалоге;
- Анализировать прикреплённые документы (PDF, DOCX) целиком и отвечать на вопросы по содержимому.
Обучение ChatGPT
Процесс создания ChatGPT включает три ключевых этапа:
-
Предобучение на огромном корпусе интернет-текстов, книг, кода. Занимает недели на кластерах из тысяч GPU. Результат — базовая языковая компетентность — грамматика, стиль, общий кругозор.
-
Instruction Tuning — дообучение на ~10⁵–10⁶ пар "инструкция → желаемый ответ", написанных людьми. Цель — научить модель следовать указаниям — "перепиши кратко", "напиши на Python", "объясни для ребёнка". На этом этапе формируется способность к zero-shot и few-shot prompting.
-
Reinforcement Learning from Human Feedback (RLHF) — тонкая настройка поведения. Люди оценивают пары ответов по шкалам — полезность, правдоподобие, вредоносность. На основе этих оценок обучается reward model, который затем управляет fine-tuning через алгоритм PPO (Proximal Policy Optimization). Это снижает агрессивность, лживость, галлюцинации.
В 2024 году OpenAI стала добавлять постобработку — фильтрация выходов через отдельные классификаторы (например, на токсичность, политическую ангажированность), автоматическое переформулирование опасных запросов, принудительный отказ при просьбах о вреде.
Почему ChatGPT генерирует связный текст, несмотря на простоту архитектуры?
Вопрос, поставленный Стивеном Вольфрамом, имеет глубокий ответ: человеческий язык обладает высокой степенью предсказуемости на локальном уровне. Хотя общий смысл высказывания может быть сложным, конкретный следующий токен часто определяется сильными локальными ограничениями — грамматика, коллокации, дискурсивные маркеры.
Например:
- После "В заключение, можно сказать, что…" вероятность "основной вывод" или "ключевой результат" сильно выше, чем "морковь".
- После "for (int i = 0; i
<" в C# почти наверняка следует "n; i++)".
LLM улавливает правила как статистические закономерности. При достаточном масштабе данных и параметров, эти локальные предсказания складываются в глобально связный текст. Это эмерджентное поведение, возникающее из простых правил при большом масштабе.
Вычислительная несводимость и пределы ChatGPT
Фундаментальное ограничение ChatGPT — отсутствие внутреннего цикла. Архитектура feed-forward не позволяет модели "думать дольше" или "перепроверять" вывод. Если задача требует выполнения последовательности шагов, каждый из которых зависит от предыдущего (например, умножение 1234 × 5678), то:
- ChatGPT не вычисляет — она вспоминает, как в обучающих данных записывались подобные расчёты, и имитирует процесс.
- При увеличении чисел вероятность ошибки резко растёт — модель выходит за пределы интерполяции и начинает галлюцинировать.
Отсюда следует критически важный принцип для IT-практик:
ChatGPT нельзя использовать как вычислительное ядро.
Но её можно использовать как интерфейс к вычислительному ядру.
ChatGPT в связке с внешними системами
Это — основной паттерн промышленного применения LLM сегодня:
-
Пользователь формулирует запрос на естественном языке:
"Когда последний раз обновлялась статья про Docker в „Вселенной IT“?" -
ChatGPT:
- Понимает намерение (запрос даты последнего обновления);
- Формулирует структурированный запрос:
GET /api/articles?title=Docker&project=UniverseIT; - Вызывает API (через function calling).
-
Внешняя система (база знаний, CMS) возвращает точный результат:
{"last_modified": "2025-11-25T14:30:00Z"}. -
ChatGPT преобразует его в человекочитаемый ответ:
"Статья „Docker“ в проекте „Вселенная IT“ была обновлена 25 ноября 2025 года в 14:30 по Московскому времени."
Такой подход:
- Исключает галлюцинации в фактических данных;
- Обеспечивает актуальность (данные берутся из живых систем);
- Позволяет интегрировать LLM в существующую ИТ-инфраструктуру без переписывания логики.
Аналогично для:
- Кода: генерация → выполнение в песочнице → возврат результата → коррекция.
- Анализа логов: запрос → трансляция в SQL/KQL → выполнение → интерпретация.
- Технической поддержки: описание проблемы → поиск в базе знаний → предложение решения.
Безопасность, отказоустойчивость и этика
ChatGPT включает многоуровневую систему защиты:
- Промпт-инъекции блокируются через анализ структуры запроса и специальные классификаторы.
- Системные промпты (Система prompt) задают неизменяемый контекст — "Ты — помощник, который не даёт вредных советов, не выдаёт себя за человека, цитирует источники при возможности".
- Модерация выходов — отдельная модель проверяет каждый токен на соответствие политике до отправки пользователю.
Тем не менее, отказы неизбежны. ChatGPT старается формулировать их тактично:
"Я не могу выполнить этот запрос, так как он противоречит моим принципам безопасности. Могу ли я помочь с чем-то другим?"
— вместо технического "Access denied".
Это часть UX-дизайна: отказ должен сохранять доверие и мотивировать к продолжению диалога в допустимых рамках.
ChatGPT как инструмент для IT-специалиста
В повседневной работе разработчика, архитектора или технического писателя ChatGPT полезен как усилитель:
- Документация — черновик описания API, примеры использования, пояснения для неочевидных параметров.
- Код — генерация шаблонов, перевод с одного языка на другой, объяснение чужого кода, поиск уязвимостей (с последующей проверкой).
- Обучение — адаптация сложных концепций под уровень аудитории (студенты, школьники, менеджеры).
- Анализ: суммаризация долгих обсуждений в Jira/Confluence, выделение action items.
Ключевой навык — точный промптинг: формулирование запроса так, чтобы минимизировать неоднозначность и максимизировать полезность ответа. Пошаговый цикл, сравнение с Gemini и DeepSeek, связка с IDE-агентами — в Генерация кода — ChatGPT, Gemini и DeepSeek. Готовые шаблоны промптов — Prompt engineering — библиотека; вызов API из Python с разбором строк — OpenAI / API — готовые промпты и вызовы.