Как работают LLM
LLM (Large Language Model) — большая языковая модель. Генерирует текст, предсказывая следующий токен на основе предыдущих.
Трансформер — основа всех LLM
Почти все современные LLM построены на архитектуре Transformer (2017, Google, статья "Attention Is All You Need").
Упрощённо: трансформер — это нейросеть, которая умеет смотреть на все слова в контексте одновременно и оценивать их связь между собой.
Ключевая идея — Attention
Механизм self-attention позволяет модели понять, какие слова в предложении важны для каждого конкретного слова.
"Банк выдал кредит, потому что он надёжный"
↑
кто "он"? → "Банк", а не "кредит"
Модель обрабатывает такие связи одновременно по всему тексту — в этом её сила.
Как выглядит обучение
- Берётся огромный корпус текстов (интернет, книги, код)
- Модель учится предсказывать следующее слово по предыдущим
- Ошибки корректируются обратным распространением градиента
- Повторяется миллиарды раз
После этого — дообучение (fine-tuning) на инструкциях и RLHF (обучение с подкреплением от обратной связи людей) — чтобы модель была полезной и безопасной.
Токены — не слова
Модель работает не со словами, а с токенами.
| Текст | Токены |
|---|---|
hello | hello (1 токен) |
tokenization | token + ization (2 токена) |
привет | пр + ивет (2 токена) |
ChatGPT | Chat + 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-4o | 128K токенов |
| Claude Sonnet 4.5 | 200K токенов |
| Gemini 1.5 Pro | 1M токенов |
| Llama 3.1 70B | 128K токенов |
Что важно знать
- Всё что вне контекста — модель не знает. Она не помнит прошлые разговоры сама по себе
- Большой контекст ≠ одинаковое качество по всему тексту. Модели хуже работают с информацией в середине длинного контекста — эффект "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-4o | OpenAI | Универсальность, multimodal, зрелая экосистема |
| Claude Sonnet/Opus | Anthropic | Длинный контекст, следование инструкциям, безопасность |
| Gemini 1.5 Pro | Огромный контекст (1M), multimodal | |
| Llama 3.x | Meta | Open source, self-hosted, кастомизация |
| Mistral / Mixtral | Mistral AI | Эффективность, open source |
| DeepSeek | DeepSeek | Сильный в коде, дешевле аналогов |
| Qwen | Alibaba | Хорош с азиатскими языками и кодом |
Как выбирать модель
Нужен 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 | Дать модели внешние знания вместо дообучения |