Интерактивный курс · большие языковые модели

Как думает большая языковая модель

Разберём весь путь: от текста к токенам, от токенов к вероятностям — и обратно к тексту. Плюс два продвинутых режима: размышление и мультимодальность. Всё можно потрогать руками.

Все демо на странице — симуляция: реальных запросов к модели нет, ответы и вероятности заложены заранее.

LIVE · model output● generating
00 С чего всё начинается

Самая простая «нейросеть» — это y = a·x + b

Прежде чем говорить про LLM, разберём слово «веса» на игрушечном примере. Задача: предсказывать цену квартиры по площади. Модель — прямая y = a·x + b, где a и b — это и есть веса: два числа, которые можно подкрутить. Попробуйте подобрать их руками, а потом посмотрите, как это происходит при обучении.

вес a a = 0.014 вес b b = 4.6
Точки — реальные сделки. Розовые пунктиры — ошибка на каждой: насколько прямая промахнулась. Наведите курсор или коснитесь графика — модель предскажет цену.
Средняя ошибка предсказания
—
цена ≈ a × площадь + b
Дальше — только больше весов
y = a·x + b2 веса
распознавание цифр~100 тысяч
GPT-2 (2019)1.5 млрд
флагманы сегодня~триллион
шкала логарифмическая
Обучение — это подбор весов так, чтобы ошибка предсказания падала. Алгоритм крутит те же «ползунки», только не два, а миллиарды, и не на 14 точках, а на триллионах примеров. Добавьте к формуле нелинейность — получится нейрон; поставьте нейроны слоями — глубокая сеть; научите её предсказывать следующий токен текста — получится LLM. Математика по дороге усложняется, но идея сохраняется.
01 Общая картина

Один цикл — один токен

LLM — это большой классификтор. Модель снова и снова отвечает на вопрос: «какой кусочек текста будет следующим?» Нажмите «Прогнать цикл» — и проследите путь конкретной фразы через стадии генерации.

Каждый шаг конвейера повторяется для каждого нового токена.
📝 Текст на входе
промпт + всё сгенерированное
🧩 Токенизация
текст → куски слов
🔢 Эмбеддинги
токен → ID → вектор чисел
🧠 Трансформер
слои внимания, снизу вверх
🎲 Вероятности
по всему словарю ~100 000
➕ Новый токен
дописывается ко входу
02 Токенизация

Модель видит не буквы, а токены

Токенизатор режет текст на фрагменты. Обычные слова — один токен, редкие — несколько кусочков. Введите текст и посмотрите, как он выглядит для модели.

Примеры
0
токенов
0
символов
—
символов на токен
Почему это важно: модель платит дорогими вычислениями за каждый токен. Редкие слова, опечатки и эмодзи «дороже». Отсюда растут некоторые странности с ценой генерации и скоростью работы на разных языках.
03 Авторегрессивная генерация

Предсказание следующего токена, шаг за шагом

На каждом шаге модель выдаёт распределение вероятностей по всему словарю, из него выбирается один токен, дописывается к контексту — и всё повторяется. Покрутите температуру: она управляет случайностью выбора. Запустите несколько раз — результаты могут быть разными.

Промпт
Температура T = 0.8
Контекст (вход модели)
P(следующий токен | контекст) — top-5 из ~100 000
Нажмите «Шаг», чтобы модель оценила варианты…
вход · токены
🧠
выход · вероятности
Совет: при T ≈ 0 модель всегда берёт самый вероятный токен. При T > 1 — рискует и выбирает редкие варианты.
04 Температура

Управление случайностью

Перед выбором токена модель выдаёт «сырые» оценки — логиты. Специальная формула превращает их в вероятности, а температура T — делитель внутри неё. Двигайте слайдер и смотрите, как меняется распределение.

T T = 1.00
Промпт: «Мой любимый цвет —»Логиты → softmax(T) → вероятности
Интуиция: T → 0 — экспоненты «раздувают» лидера, выбор становится жадным и детерминированным. T ≈ 1 — вероятности как есть. T > 1 — различия между логитами сглаживаются, редкие токены получают шанс. Сэмплирование ×100 показывает, что вероятности — это именно частоты выбора.
05 Механизм внимания

Как токены смотрят друг на друга

Внутри трансформера каждый токен «опрашивает» все предыдущие: кто из вас важен, чтобы понять меня? Наведите курсор или коснитесь любого токена — линии покажут, куда и с какой силой направлено его внимание.

Наведите или нажмите на токен «она» — самое интересное: модель должна понять, к кому относится местоимение.

Толщина и яркость линии ≈ вес внимания. В настоящей модели таких «карт» тысячи. На практике из этого следует цена длинного контекста: каждый токен «опрашивает» все предыдущие, поэтому длинные документы требуют больше ресурсов (вычислений и памяти), а на очень длинных качество понимания деградирует.

06 Размышление (reasoning)

Модель думает перед ответом

Механизм тот же — предсказание токенов. Разница в том, какие токены генерируются: «думающая» модель сначала будто пишет решает задачу на бумаге (скрытые thinking-токены), а только потом озвучивает решение. Сравните два режима на одной задаче.

Задача

Без размышления — отвечает сразу

…

С размышлением — сначала черновик

…
Размышление — это не отдельный «модуль логики». Это те же самые токены и тот же цикл генерации, просто модель обучена сначала «проговаривать» промежуточные шаги для себя. Каждый токен рассуждения — дополнительный проход через сеть, то есть дополнительное время на подумать. На практике это значит, что размышление заметно дороже и медленнее, поэтому его лучше включать лишь для сложных задач.
07 Мультимодальность

Две модальности — два токенизатора, один трансформер

Ключевой момент: картинка и текст токенизируются раздельно и по-разному. Текст режет токенизатор по словарю, изображение — vision-энкодер на патчи. Только после этого оба потока склеиваются в одну последовательность — и дальше трансформер работает так же, как в разделе 03.

Изображение
Модальность A · изображение
🐈
Vision-энкодеррежет на 16 патчей
патч → вектор
…патч-токены появятся здесь
Модальность B · текст
Что изображено на картинке?
BPE-токенизаторрежет по словарю
кусок слова → ID
…текстовые токены появятся здесь
⤵ два потока склеиваются
Единая последовательность на входе трансформера
Нажмите «Пропустить через модель»…
Обратите внимание на спец-токены ⟨img⟩…⟨/img⟩: они размечают, где в последовательности начинается и заканчивается картинка — для трансформера нет разницы, что внутри: токены текста или патчи изображения. То же самое со звуком и видео: свой энкодер превращает их в векторы, и они встают в тот же ряд. Генерация изображений работает зеркально: модель предсказывает патч-токены, а декодер собирает картинку.
08 Экономика

За что вы платите: input, output и кэш

Каждое обращение к модели тарифицируется дважды: за input — все токены, которые вы отправили, и за output — токены, которые модель сгенерировала. И главное: модель не хранит состояние — вся история пересылается заново, увеличиваясь с каждой репликой. Проиграйте диалог из 5 ходов и посмотрите, как раздувается input — и как его срезает кэш.

история (переслана заново) история из кэша (тариф ×0.1) новые input-токены output (тариф ×5)
Нажмите «Проиграть диалог»…
0
input-токенов всего
0
output-токенов всего
—
экономия от кэша
В строке каждого хода: сколько input пришлось переслать и сколько output сгенерировано.
Как устроен кэш — по шагам

Прежде чем предсказать хоть один новый токен, модель должна «прочитать» весь контекст: прогнать его через все слои и получить внутреннее представление. Это и есть дорогая часть input. Идея кэширования: сохранить эти уже вычисленные представления на сервере — и в следующий раз не пересчитывать, а просто загрузить.

не обработан обрабатывается представление вычислено сохранено в кэше изменённый токен
Каждый квадрат — токен контекста. Нажмите «Первый запрос».
Совпадение должно быть точным — представление токена зависит от всех токенов до него, поэтому кэш работает только для неизменного начала контекста, байт-в-байт. Кэшированные токены сильно дешевле, но скидка зависит от провайдера: у Anthropic чтение из кэша стоит 10% цены, а запись — 125%. У OpenAI кэш автоматический, без наценки за запись, но скидка ~50%. Кэш живёт минуты, поэтому выгоден именно в диалогах и агентских циклах, где запросы идут подряд. Отсюда практический вывод: всё стабильное (системный промпт, описания инструментов) кладут в начало, всё меняющееся — в конец.
09 Галлюцинации

Модель не ищет ответ — она продолжает текст

Из механики раздела 03 следует неприятная вещь: модель всегда выбирает правдоподобное продолжение, а не истинное. Если знания нет, правдоподобное продолжение всё равно найдётся. Это и есть галлюцинация. Посмотрите, как можно уменьшить их число.

Вопрос
Защита
Выберите вопрос и нажмите «Спросить модель»…
Вероятность ≠ истина. Модель обучена продолжать текст, и «я не знаю» — статистически редкое продолжение вопроса. Есть и вторая причина: почти все тесты качества ставят одинаковый ноль и за ошибку, и за «не знаю» — угадывать статистически выгодно, и обучение эту привычку закрепляет (OpenAI). Температура не лечит: при T = 0 модель так же уверенно выберет самое правдоподобное продолжение выдумки. Что реально помогает: обучение честным отказам — модель специально учат отличать свои знания от догадок и поощряют за признание незнания (R-Tuning); заземление через поиск и документы (RAG) со ссылками на источники; просьба указывать источники и степень уверенности.

Нет никаких гарантий: все эти защиты снижают вероятность выдумки, но не убирают её. Даже с RAG модель может неверно пересказать найденный источник. Поэтому правило одно: чем выше цена ошибки, тем обязательнее внешняя проверка — источники, валидация, человек.
10 Контекстное окно

Память модели — это окно ограниченного размера

У модели нет памяти между вызовами: всё, что она «знает» о вашем разговоре, — это контекст, который пересылается ей каждый раз. И он ограничен. Когда диалог перерастает окно, старые сообщения вытесняются — модель их физически не видит. Проиграйте диалог и посмотрите, как теряется важный факт — а потом примените способы борьбы.

Стратегия
Диалог · окно = 12 условных единиц
Нажмите «Проиграть диалог»…
заполнение окна
0/12
Финальный вопрос и ответ модели
…
Модель ответит только на основе того, что осталось в окне. Стратегии меняют, что именно туда попадает.
Практические следствия: длинные документы дешевле и надёжнее подавать частями или сжатыми выжимками; важное — повторять ближе к концу (модели хуже «видят» середину длинного контекста); а «ассистент, который помнит вас месяцами», — это всегда внешняя память поверх модели, а не сама модель. И не путайте контекст со знаниями: знания в весах заморожены датой обучения, контекст — текст данной сессии.
11 Системное сообщение и промпт

Инструкция для модели: что писать и чего не писать

Контекст любого чата состоит из слоёв. Системное сообщение пишет разработчик приложения: оно лежит первым, задаёт роль, правила и границы. Промпт — ваш запрос. Для модели всё это просто токены, но слушать системное сообщение её учили сильнее. Ниже — конструктор: включайте элементы промпта и смотрите, как меняется ответ.

🔒 Системное сообщениеот разработчика · правила, тон, границы · стабильное, первым в контексте
💬 История диалогапрошлые реплики — своя и ваши
✍️ Ваш промпттекущий запрос — то, что вы контролируете
Добавить в промпт
Промпт
качество ответа
1/5
Ответ модели
«Сделай текст лучше» «Перепиши описание для карточки товара. Вот текст: …» Модель не угадает, что для вас «лучше». Назовите задачу, дайте материал и критерий результата.
«Не пиши длинно, не используй канцелярит» «3–4 коротких предложения, разговорным языком» Позитивная инструкция надёжнее запрета: «не» задаёт границу, но не говорит, куда идти. Модели документированно плохо обрабатывают отрицания — вплоть до «эффекта розового слона», когда запрет повышает вероятность нежелательных слов (A Pink Elephant).
«Веди себя как опытный инженер» «Проверь схему на ошибки. Читатель — новичок, объясняй термины» Риск «веди себя как» в том, что модель начинает отыгрывать персонажа, а не становится им: она изображает, как «звучит» инженер — жаргон, уверенный тон, — но знаний и аккуратности это не добавляет. Уверенности в ответе становится больше, правильности — нет. Это проверяли систематически: 162 роли на фактических задачах — прироста точности нет, местами роли слегка вредят (Zheng et al.). Роль уместна только для тона и уровня изложения; задачу она не заменяет.
Промпт без примера «Вот пример ответа в нужном стиле: …» Один хороший пример часто работает лучше абзаца инструкций — модель училась именно продолжать образцы (раздел 03); умение схватывать задачу из нескольких примеров (few-shot) — одно из первых открытий эпохи GPT-3 (Brown et al.). Особенно важно, когда ответ нужен в строгом формате: таблица, JSON, шаблон документа — покажите образец, и модель его повторит.
Молчание про незнание «Если данных не хватает — скажи прямо, не догадывайся» Явное разрешение на «не знаю» снижает выдумки, но не устраняет их: модель часто искренне не знает, что она чего-то не знает, — исследования калибровки находят у моделей систематическую переуверенность. Подробнее — в разделе 09.
Промпт — это постановка задачи исполнителю, который всё понимает буквально и не может переспросить. Пишите так, как ставили бы задачу новому сотруднику в первый день: что сделать, из чего, для кого, в каком виде — и покажите образец. Не угадали с первого раза — нормально: промпт итерируют, как и любую постановку задачи.

Модель стохастична — она берет токены из вероятностей, поэтому один и тот же запрос может дать разные ответы, и иногда — плохие. Хороший промпт повышает вероятность нужного результата, но для критичных задач нужны внешние проверки.
12 Размер и железо

Параметры, гигабайты — и что запустится локально

Параметры — те самые веса, которые настраивались при обучении; размер модели измеряют их количеством: 1B — миллиард, 70B — семьдесят миллиардов. Чтобы модель работала, все веса должны сидеть в памяти. Выберите размер и точность хранения — и посмотрите, на чём это запустится.

Размер
Точность весов
Сколько памяти нужно
4 ГБ
8 млрд × 0.5 байта = 4 ГБ + запас на контекст
Куда поместится · вес модели vs память устройства
Масштаб на глаз: площадь = параметры
Каждый квадрат — модель, площадь пропорциональна числу параметров. Факты и навыки живут в весах, поэтому размер действительно коррелирует с «эрудицией» — рост качества настолько предсказуем, что описан законами масштабирования (Scaling Laws). Но корреляция — не приговор: данные и методы обучения сдвигают всю кривую, и свежая 8B нередко обгоняет 70B двухлетней давности. Наведите или нажмите на квадраты.
Наведите или нажмите на квадрат или строку — что примерно «помнит» модель такого размера.
Квантизация вживую: округляем веса
Каждый вес — число (вроде 0.7231). Квантизация разрешает ему принимать лишь несколько значений: 4 бита — всего 16 уровней. Переключайте точность и смотрите, как появляются полосы, тает память — и в какой момент обваливается качество.
Бит на вес
фрагмент матрицы весов · 16 уровней
память (модель 8B)
качество ответов
Квантизация — хранение весов грубее (4 бита вместо 16) — почти не портит качество, но вчетверо уменьшает память: «гигабайты ≈ миллиарды параметров ÷ 2». Скорость падает с размером, и к весам нужен запас памяти на контекст (+20–40%). Больше параметров — умнее, но дороже и медленнее; при этом дообученная маленькая модель на узкой задаче иожет обгонять большую универсальную.
13 Архитектура · dense vs MoE

Смесь экспертов: работает часть модели

До сих пор мы молчаливо считали, что на каждый токен работают все веса модели. Такая архитектура называется dense («плотная»). Почти все современные флагманы устроены иначе — это MoE (Mixture of Experts — «смесь экспертов»): тяжёлая часть каждого слоя разбита на независимые блоки-«эксперты», а маленькая сеть-роутер выбирает для каждого токена лишь пару из них. Остальные эксперты этот токен просто не считают. Прогоните фразу и следите, кого выбирает роутер.

Фраза со смесью языка, кода и цифр — так видно, что у экспертов разные «вкусы».
роутеркрошечная сеть · выбирает топ-2 из 8
dense: все 8 экспертов на каждый токен
0 блоков посчитано
MoE: топ-2 эксперта на токен
0 блоков посчитано
память под веса (в обоих случаях)
все 8 экспертов · 100%
Специализацию экспертов никто не назначал — подписи под блоками условны. При обучении роутер и эксперты подстраиваются друг под друга сами, и разделение труда возникает стихийно. Причём оно приземлённое: в реальных MoE эксперты «любят» пунктуацию, числа, куски кода или частые служебные слова — а не «математику» и «поэзию» (Mixtral of Experts). И выбор происходит заново для каждого токена в каждом слое. Сама идея — из работы Outrageously Large Neural Networks: хочешь модель с огромной «эрудицией», но не хочешь платить вычислениями за каждый токен — сделай веса разрежёнными.
Реальные модели: быстрая как маленькая, помнит как большая
У MoE-модели два «размера»: всего параметров — столько весов лежит в памяти и хранит знания — и активных на токен — столько реально считается, от этого зависят скорость и цена. У dense-модели эти числа совпадают. Переключайте модели и сравнивайте разрыв.
Модель
всего параметров · память, «эрудиция»
активно на токен · скорость, цена
—
параметров всего
—
активно на токен
—
доля работающих весов
Что лучше и когда: коротко
«Лучше» нет — dense экономит память, MoE экономит вычисления. Выбор решает то, чего вам не хватает.
Dense всего = активно
когда дефицит — память: локальный запуск на одной машине
  • все веса влезают в одну GPU — MoE со 100B туда не поместится, хоть и «считает» как 5B
  • проще запускать и дообучать под свою задачу
  • чуть умнее блок-в-блок, но медленнее и дороже в вычислениях
  • поэтому малые модели почти все плотные
MoE активно ≪ всего
когда дефицит — вычисления и скорость: сервер, API, много запросов
  • при равной цене токена умнее: тащит в памяти в разы больше знаний
  • разрежённость режет и цену, и латентность на масштабе
  • но грузит в память все веса — экономии VRAM нет
  • сложнее обучать (роутер надо балансировать).
MoE — ум большой модели по цене маленькой, но нужно место под все веса.
Dense — сколько памяти, столько ума, зато просто и помещается.
Экономятся вычисления, а не память: роутер может позвать любого эксперта, поэтому все веса должны сидеть в памяти — гигабайты из раздела 12 считаются по общему числу параметров, а скорость и цена токена — по активным. MoE — архитектура дата-центров: провайдер держит огромную модель на десятках GPU и дёшево обслуживает тысячи запросов, а для локального запуска на одной машине чаще удобнее dense — малые модели (1–70B) почти все остаются плотными. Флагманы пошли этим путём практически поголовно: DeepSeek-V3/R1, Llama 4, Qwen3, Grok, gpt-oss — открыто MoE; про GPT-4 то же известно из многочисленных утечек. Расплата — сложное обучение: роутер норовит гонять всё в пару «любимых» экспертов, и его приходится специально заставлять распределять нагрузку равномерно (DeepSeek-V3).