Введение в ИИ
Теория: Основы LLM
Искусственный интеллект охватывает разные направления — от компьютерного зрения и распознавания речи до рекомендационных систем и анализа данных. Одно из самых активно развивающихся направлений — обработка естественного языка (NLP, Natural Language Processing). Здесь задачи связаны с пониманием, генерацией и преобразованием текста.
Раньше для каждой отдельной задачи создавались свои модели машинного обучения: одна — для классификации писем на «спам» и «не спам», другая — для анализа тональности отзывов, третья — для машинного перевода. Такие системы были узкоспециализированными и работали только в заранее определённых сценариях.
Появление больших языковых моделей (LLM, Large Language Models) стало переломным моментом. В отличие от классических моделей, они универсальны: одна и та же модель может писать тексты, объяснять сложные темы, помогать с программированием, анализировать таблицы и даже работать с изображениями или звуком. Их сила — в масштабе: сотни миллиардов параметров и обучение на триллионах слов позволяют выдавать ответы, близкие к человеческому уровню.

В этом курсе мы разберёмся как работают LLM и какие особенности важно учитывать: от устройства токенов и контекстного окна до галлюцинаций, стоимости и параметров генерации.
Принцип работы
LLM обучаются на огромных массивах текстов. Источниками данных становятся книги, статьи, документация, веб-страницы и другие открытые материалы. Эти данные проходят фильтрацию и очистку: удаляется дублирующийся текст, спам, некачественный контент. После этого используются алгоритмы, которые проверяют сбалансированность корпуса (например, чтобы модель не «переучилась» на одном источнике и не игнорировала другие). Затем идет дообучение.
Процесс обучения заключается в том, что модель многократно «читает» этот корпус и учится предсказывать следующее слово в последовательности. Она сравнивает свой прогноз с реальным словом, вычисляет ошибку и постепенно корректирует внутренние параметры (веса нейронной сети). Этот процесс повторяется миллиарды раз, что позволяет модели уловить статистические закономерности языка.
На этапе дообучения подключаются люди. Это называется обучение с подкреплением от человеческой обратной связи (RLHF). Аннотаторы получают от модели несколько вариантов ответа и оценивают их — какой лучше, какой хуже. Эти оценки помогают «подправить» модель так, чтобы она не просто предсказывала вероятные слова, но и давала более полезные, безопасные и уместные ответы.
Современные LLM устроены как искусственные нейронные сети с огромным числом внутренних параметров — весов связей между «нейронами». Каждый параметр хранит число, которое влияет на то, как модель принимает решение о следующем токене. Таких параметров могут быть сотни миллиардов. Чем их больше, тем сложнее модель и тем точнее она улавливает нюансы языка. Именно наличие такого количества параметров делает LLM мощными, но одновременно очень дорогими в обучении и использовании.
Обучение LLM требует колоссальных вычислительных ресурсов. Чтобы натренировать современную модель, нужны тысячи мощных графических процессоров (GPU), работающих неделями или даже месяцами. Это стоит десятки или сотни миллионов долларов. Большая часть стоимости связана с арендой или покупкой оборудования, оплатой электричества и хранением данных. Поэтому крупные компании, такие как OpenAI, Google или Anthropic, могут себе позволить такие эксперименты, а небольшим командам обычно доступны только уже готовые модели.
Токены
LLM работают не с целыми словами, а с токенами. Токен — это минимальная единица текста, на которую модель разбивает данные. Это может быть целое слово, часть слова или даже один символ. Например, слово developer может быть разделено на два токена: develop и er. А короткое слово вроде cat будет одним токеном.
┌────────────────────┐ ┌────────────────────┐ ┌────────────────────┐ ┌────────────────────────┐ ┌────────────────────┐
│ ПРОМПТ │ → │ ТОКЕНИЗАЦИЯ │ → │ LLM │ → │ ПРЕДСКАЗАНИЕ ТОКЕНОВ │ → │ СБОРКА ОТВЕТА │
│ "Как приготовить │ │ разбивка текста │ │ нейросеть с весами│ │ токен за токеном │ │ итоговый текст для │
│ суши?" │ │ на токены │ │ и параметрами │ │ (слово за словом) │ │ человека │
└────────────────────┘ └────────────────────┘ └────────────────────┘ └────────────────────────┘ └────────────────────┘
Количество токенов в запросе и ответе имеет значение: у моделей есть ограничение на их суммарное число (контекстное окно). Чем длиннее ваш промпт и ответ, тем больше токенов требуется.
Чтобы почувствовать масштабы, возьмём текст:
Large language models are powerful.
Этот короткий пример содержит 6 слов, но модель может разбить его на 8 токенов: Large | language | model | s | are | power | ful | .
В среднем 1 токен соответствует примерно 4 символам на английском языке или ¾ слова. Для русского языка токенизация чуть «дороже», так как слова длиннее: фраза «Привет, как дела?» превращается примерно в 6 токенов.
Контекстное окно
У каждой модели есть ограничение на то, сколько токенов она может обработать за один раз. Это ограничение называется контекстным окном. В него входят и ваш запрос, и ответ модели. Например, если контекстное окно равно 8 000 токенов, то это примерно 6 000 слов текста.
Именно размер контекстного окна определяет «объём внимания» модели. Если промпт слишком длинный, его нужно сокращать или разбивать на части, иначе часть информации просто не попадёт в обработку.
Поэтому говорят, что у LLM нет настоящей памяти: они учитывают только то, что в данный момент помещается в контекстное окно. Всё, что не влезло, модель «забывает». Из-за этого в длинных диалогах ответы иногда теряют связность — ранние сообщения просто перестают участвовать в вычислениях.
Как модель формирует ответ
Когда вы задаёте вопрос, LLM не ищет его в базе знаний и не достаёт заранее подготовленный ответ. Она работает пошагово: предсказывает следующее слово (точнее, токен) на основе предыдущего текста и контекста запроса. После того как токен выбран, он добавляется к ответу, и модель снова считает, какой следующий токен наиболее вероятен.
Такой процесс повторяется много раз подряд, пока не достигнуто ограничение по длине ответа или не встречен «токен конца». Именно поэтому текст возвращается постепенно, слово за словом.
У этого подхода есть два следствия. Во-первых, модель может «подстраиваться» по ходу ответа: уже сгенерированный текст влияет на то, какие слова появятся дальше. Во-вторых, генерация может останавливаться в любой момент, что позволяет получать ответы частями (стриминг) и выводить их в интерфейсе по мере готовности.
Генерация ответа требует серьёзных ресурсов: каждая итерация предсказания токена запускает вычисления во всей нейросети, которая может иметь сотни миллиардов параметров. Это дорого с точки зрения электроэнергии и серверного времени, поэтому большинство LLM-сервисов тарифицируются «за токен». Вы платите не только за длину вашего промпта, но и за количество сгенерированных токенов в ответе.
В среднем 1000 токенов могут стоить от долей цента до нескольких центов в зависимости от модели. Поэтому длинные запросы и большие ответы обходятся дороже, чем короткие и лаконичные.
Параметры LLM
Моделями можно управлять с помощью параметров. От их настройки зависит, будет ли текст точным и фактическим или, наоборот, более креативным и разнообразным. Обычно приходится немного поэкспериментировать, чтобы подобрать подходящие значения для своей задачи.
Temperature (температура) — чем ниже значение, тем более детерминированные ответы: модель выбирает самые вероятные токены и почти не экспериментирует. Это полезно для задач вроде фактологических вопросов, где важна точность. Чем выше значение, тем больше случайности, и тем разнообразнее становятся ответы — это хорошо для генерации стихов, историй и других креативных задач.
Top-p (nucleus sampling) — определяет, какие токены будут учитываться при выборе следующего слова. Например, при низком значении top-p (0.1–0.3) модель рассматривает только самые уверенные варианты → ответы получаются более строгими и фактическими. При высоком значении (0.8–0.9) в выбор попадает больше возможных слов, включая менее вероятные, и текст становится разнообразнее. Рекомендуется менять либо temperature, либо top-p, но не оба сразу.
Max tokens (или Max length) — задаёт максимальное количество токенов в ответе. Это помогает контролировать длину текста, избегать слишком длинных или нерелевантных ответов и снижать стоимость (так как тарифы зависят от числа токенов).
Stop sequences — строки, при встрече которых модель завершает генерацию. Например, можно ограничить список максимум 10 пунктами, задав стоп-последовательность «11». Это способ управлять структурой и объёмом текста.
Frequency penalty — штрафует токены пропорционально тому, сколько раз они уже встречались в тексте. Чем выше значение, тем меньше вероятность повторов одного и того же слова. Этот параметр хорошо работает, если модель начинает зацикливаться.
Presence penalty — тоже штрафует повторы, но одинаково для всех токенов, независимо от того, встречались они два раза или десять. Повышенное значение делает текст более разнообразным, пониженное — более сфокусированным. Как и с температурой и top-p, обычно используют либо frequency penalty, либо presence penalty, но не оба одновременно.
Общая рекомендация: для точных, фактологических задач использовать низкие значения temperature и top-p. Для креативных — увеличивать эти параметры и, при необходимости, подключать presence penalty, чтобы модель не повторялась.
Рекомендуемые программы
Завершено
0 / 8
