Перейти к основному содержимому

Как работают LLM

LLM (Large Language Model) — большая языковая модель. Генерирует текст, предсказывая следующий токен на основе предыдущих.

Трансформер — основа всех LLM

Почти все современные LLM построены на архитектуре Transformer (2017, Google, статья "Attention Is All You Need").

Упрощённо: трансформер — это нейросеть, которая умеет смотреть на все слова в контексте одновременно и оценивать их связь между собой.

Ключевая идея — Attention

Механизм self-attention позволяет модели понять, какие слова в предложении важны для каждого конкретного слова.

"Банк выдал кредит, потому что он надёжный"

кто "он"? → "Банк", а не "кредит"

Модель обрабатывает такие связи одновременно по всему тексту — в этом её сила.

Как выглядит обучение

  1. Берётся огромный корпус текстов (интернет, книги, код)
  2. Модель учится предсказывать следующее слово по предыдущим
  3. Ошибки корректируются обратным распространением градиента
  4. Повторяется миллиарды раз

После этого — дообучение (fine-tuning) на инструкциях и RLHF (обучение с подкреплением от обратной связи людей) — чтобы модель была полезной и безопасной.


Токены — не слова

Модель работает не со словами, а с токенами.

ТекстТокены
hellohello (1 токен)
tokenizationtoken + ization (2 токена)
приветпр + ивет (2 токена)
ChatGPTChat + G + PT (3 токена)

Практические следствия

  • Русский текст дороже английского — кириллица токенизируется хуже, ~1.5–2x больше токенов на тот же смысл
  • Числа токенизируются посимвольно12345 = 5 токенов
  • Редкие слова и имена дробятся сильнее
  • Стоимость и лимиты API считаются в токенах, не в символах

Как прикинуть количество токенов

~1 токен ≈ 4 символа на английском
~1 токен ≈ 2–3 символа на русском
1000 токенов ≈ 750 слов (EN)

Точный подсчёт: platform.openai.com/tokenizer или библиотека tiktoken.


Context Window — главное ограничение

Context window — максимальное количество токенов, которое модель видит за один раз (ввод + вывод вместе).

МодельContext window
GPT-4o128K токенов
Claude Sonnet 4.5200K токенов
Gemini 1.5 Pro1M токенов
Llama 3.1 70B128K токенов

Что важно знать

  • Всё что вне контекста — модель не знает. Она не помнит прошлые разговоры сама по себе
  • Большой контекст ≠ одинаковое качество по всему тексту. Модели хуже работают с информацией в середине длинного контекста — эффект "lost in the middle"
  • Чем больше контекст — тем дороже и медленнее запрос
  • Лимит контекста делится между system prompt + история + новый запрос + ответ модели

Параметры генерации

Temperature

Контролирует случайность ответа. От 0 до 2 (обычно 0–1).

TemperatureПоведениеКогда использовать
0.0Детерминированный, всегда одно и то жеИзвлечение данных, классификация, SQL
0.3–0.5Предсказуемый, небольшая вариативностьСуммаризация, ответы на вопросы
0.7–0.9Баланс — по умолчанию в большинстве системОбщение, объяснения
1.0–1.5Креативный, непредсказуемыйГенерация идей, художественный текст
2.0Хаотичный, часто бессвязныйПочти никогда

Top-p (nucleus sampling)

Модель выбирает следующий токен из топ-p% вероятностной массы.

  • top_p = 1.0 — рассматриваются все токены
  • top_p = 0.9 — только токены, на которые суммарно приходится 90% вероятности

Обычно меняют либо temperature, либо top-p — не оба сразу.

Top-k

Выбор из k наиболее вероятных токенов на каждом шаге.

  • top_k = 1 — greedy, всегда самый вероятный (как temperature=0)
  • top_k = 50 — типичное значение

Max tokens

Максимальная длина ответа модели. Не влияет на качество, только обрезает вывод.

Frequency / Presence penalty

  • Frequency penalty — штраф за повторение токенов пропорционально частоте их появления
  • Presence penalty — штраф за любое повторение уже использованного токена

Помогают бороться с "занудными" повторяющимися ответами.


Галлюцинации

Модель уверенно генерирует неверную информацию. Это не баг — это следствие принципа работы: модель предсказывает правдоподобный текст, а не истину.

Типы галлюцинаций

ТипПример
ФактическиеНесуществующие даты, имена, цифры
ЦитатныеВыдуманные цитаты реальных людей
СсылочныеНесуществующие книги, статьи, законы
ЛогическиеОшибки в рассуждениях и математике
КонтекстныеПротиворечие тому, что было написано выше

Почему это происходит

  • Модель обучена на тексте, который выглядит правдоподобно
  • Нет разницы между "знаю" и "выглядит правдоподобно"
  • Редкие факты плохо представлены в обучающих данных
  • Модель не умеет говорить "не знаю" без специального обучения

Как митигировать

  • RAG — дать модели источники, из которых она должна отвечать
  • Грандинг — явно указывать в промте опираться только на предоставленный контекст
  • Температура 0 для задач с фактами
  • Верификация — просить модель проверить свой ответ
  • Структурированный вывод — JSON с полем confidence или source
  • Не доверять без проверки в критичных задачах

Обзор ключевых моделей (2025)

МодельКомпанияСильные стороны
GPT-4oOpenAIУниверсальность, multimodal, зрелая экосистема
Claude Sonnet/OpusAnthropicДлинный контекст, следование инструкциям, безопасность
Gemini 1.5 ProGoogleОгромный контекст (1M), multimodal
Llama 3.xMetaOpen source, self-hosted, кастомизация
Mistral / MixtralMistral AIЭффективность, open source
DeepSeekDeepSeekСильный в коде, дешевле аналогов
QwenAlibabaХорош с азиатскими языками и кодом

Как выбирать модель

Нужен self-hosted? → Llama 3 / Mistral
Максимальное качество? → GPT-4o / Claude Opus
Длинные документы? → Claude (200K) / Gemini (1M)
Дёшево и достаточно хорошо? → GPT-4o mini / Claude Haiku
Код и техника? → DeepSeek / GPT-4o

Что такое мультимодальность

Современные LLM умеют работать не только с текстом:

  • Vision — анализ изображений (GPT-4o, Claude, Gemini)
  • Audio — транскрипция и понимание речи (Whisper, Gemini)
  • Video — анализ видео (Gemini 1.5)
  • Documents — PDF, таблицы (Claude, GPT-4o)
  • Code execution — выполнение кода (GPT-4o с Code Interpreter)

Итог — что нужно держать в голове

КонцепцияСуть в одной строке
ТокенЕдиница работы модели, ≈ 4 символа EN
Context windowВсё что модель видит за раз
TemperatureСлучайность ответа (0 = точно, 1 = творчески)
ГаллюцинацияУверенная неправда — норма, нужна митигация
Fine-tuningДообучение под задачу
RAGДать модели внешние знания вместо дообучения