Содержание
  1. LLM в иерархии: искусственный интеллект, машинное обучение, нейросети
  2. Архитектура LLM: трансформер, внимание и смысл слова «большая»
  3. Как LLM видит текст: токены вместо букв и слов
  4. Как LLM выбирает следующее слово: распределение вероятностей
  5. Один текст, восемь LLM: счёт токенов расходится в 1,69 раза
  6. LLM в программировании и разработке: что она делает с кодом
  7. Где LLM ошибается и чем это лечат
  8. FAQ
Справочник

Что такое LLM: как работает большая языковая модель

11 сентября 2026 · 13 минут чтения

Материал редакции Зерокодера. Числа ниже сняты собственным прогоном 11 сентября 2026 года: токенизация — библиотекой tiktoken 0.12.0, счёт токенов и цены — через API OpenRouter. Обновлено: сентябрь 2026.

LLM (large language model, большая языковая модель) — нейросеть на архитектуре «трансформер», обученная на огромном массиве текстов предсказывать следующий фрагмент слова. Такое предсказание, повторённое сотни раз подряд, и складывается в ответ: модель каждый раз собирает текст заново, вместо того чтобы искать готовую страницу в базе. Вот что такое LLM в одном определении.

Главное:

  • Единица работы LLM — токен, кусок слова длиной в среднем 3–4 символа для русского языка; русское слово «программирование» модель видит как три токена пр, ограмм, ирование.
  • Внутри модели лежат веса — числа, настроенные так, чтобы вероятность верного продолжения была выше остальных; готовых фактов там нет.
  • На запросе «Столица Франции —» модель GPT-4.1-mini дала первому токену «П» вероятность 99,997 %, а токену «Москва» — 0,0 %.
  • Один и тот же русский текст из 147 символов восемь моделей посчитали по-разному: от 35 токенов у Gemini 2.5 Flash до 59 у Claude Haiku 4.5, разброс в 1,69 раза.
  • Скрипт llm_probe.py для повтора всех этих замеров приведён в статье целиком.

LLM в иерархии: искусственный интеллект, машинное обучение, нейросети

Большая языковая модель — это частный случай нейросети, нейросеть — метод машинного обучения, а машинное обучение — раздел искусственного интеллекта. Вложенность строгая: всякая LLM является нейросетью, но обратное неверно — распознавание лиц, прогноз оттока клиентов и шумоподавление тоже нейросети, языковыми моделями они не являются.

Статья «Большая языковая модель» в русской Википедии (последняя правка 9 сентября 2026 года) даёт формальное определение: языковая модель на нейронной сети с множеством параметров, которая проходит предварительное обучение на обширных массивах неразмеченного текста методами самообучения, а затем подвергается тонкой настройке с обучением с подкреплением на основе отзывов людей (RLHF).

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

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

В машинном обучении LLM занимает место обучения без учителя на первом этапе и с подкреплением на третьем. Отсюда её сильная и слабая стороны разом: обученная на всём подряд модель говорит про всё подряд, а проверять сказанное приходится вам. Разбор типичных сбоев лежит в материале что такое галлюцинации нейросети, а склад открытых моделей — в тексте про Hugging Face.

Архитектура LLM: трансформер, внимание и смысл слова «большая»

Архитектура LLM — трансформер, представленный в статье «Attention Is All You Need» (Vaswani и соавторы, NeurIPS 2017, arXiv:1706.03762). Главная деталь трансформера — механизм внимания: обрабатывая очередной токен, модель взвешивает все остальные токены контекста и решает, какие из них сейчас важны. Благодаря этому слово «ключ» в предложении про замок и в предложении про API получает разные векторы.

Внутри модель устроена слоями: текст превращается в числа (эмбеддинги), проходит десятки блоков внимания и полносвязных слоёв, а на выходе получается вектор размером со словарь токенизатора — по числу на каждый возможный следующий токен. Эти числа превращаются в вероятности, из которых и выбирается ответ.

Слово «большая» в названии относится к числу параметров — настраиваемых весов внутри сети. У модели Llama 3.3 70B параметров 70 миллиардов, размер прямо указан в имени; у GPT-3 их было 175 миллиардов (Brown и соавторы, arXiv:2005.14165). Размеры закрытых моделей вроде GPT-4.1, Claude и Gemini вендоры не публикуют, поэтому корректных чисел по ним нет ни у кого.

Параметры — это и есть память модели. Они занимают место на диске и в видеопамяти, поэтому запуск на своём железе упирается в размер: как это выглядит на практике, показано в инструкции как локально запустить DeepSeek R1.

Как LLM видит текст: токены вместо букв и слов

LLM не работает ни с буквами, ни со словами — только с токенами, кусками текста из заранее собранного словаря. Размер словаря мы замерили библиотекой tiktoken 0.12.0: кодировка cl100k_base (GPT-3.5 и GPT-4) содержит 100 277 токенов, кодировка o200k_base (GPT-4o и новее) — 200 019.

Русский текст режется мельче английского, потому что словари собирались в первую очередь на латинице. Наш замер 11 сентября 2026 года на одной и той же фразе:

Текст Символов o200k_base cl100k_base
«Большая языковая модель предсказывает следующий токен по контексту.» 67 17 токенов (3,94 символа на токен) 28 токенов (2,39)
«A large language model predicts the next token from the context.» 64 12 токенов (5,33) 12 токенов (5,33)

Смена кодировки с cl100k_base на o200k_base сократила счёт русской фразы с 28 токенов до 17 — в 1,65 раза, при неизменном английском счёте. Дословная разбивка той же фразы выглядит так: Больш, ая, язы, ков, ая, модель, пред, ска, зывает, следующий, ток, ен, по, конт, екст, у, ..

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

Как LLM выбирает следующее слово: распределение вероятностей

Отвечая, LLM на каждом шаге получает вероятности всех токенов словаря и выбирает один. Это не метафора, вероятности можно снять через API. Прогон 11 сентября 2026 года, модель openai/gpt-4.1-mini, temperature = 0, промпт «Продолжи фразу ровно одним словом, без пояснений: «Столица Франции — »»:

Кандидат на следующий токен Вероятность
П 99,997 %
Пар 0,0017 %
п 0,0011 %
Пари 0,0001 %
Москва 0,0 % (ниже порога округления в 0,0001 %)

Первое, что видно: на выходе стоит токен П — первый кусок слова «Париж», которое собирается за три шага. Второе: альтернативы существуют всегда, включая заведомо неверную «Москва», просто их вес ничтожен. На вопросе вкуса разброс шире, хотя лидер всё равно уверенный: на промпте «Лучший язык для первого проекта — » токен Python получил 98,4767 %, кириллические варианты остались в долях процента.

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

Ниже датчик llm_probe.py, которым сняты все числа этого раздела. Он работает на любом ключе OpenRouter, а токенизацию считает локально:

# llm_probe.py - датчик редакции Зерокодера: как LLM видит текст и чем отвечает.
import json, math, os, sys, urllib.request
import tiktoken

RU = "Большая языковая модель предсказывает следующий токен по контексту."
EN = "A large language model predicts the next token from the context."

def tokens(text, enc_name):
    enc = tiktoken.get_encoding(enc_name)
    ids = enc.encode(text)
    return ids, [enc.decode([i]) for i in ids]

def next_token_probs(prompt, model="openai/gpt-4.1-mini", key=os.environ.get("OPENROUTER_API_KEY", "")):
    body = {"model": model, "messages": [{"role": "user", "content": prompt}],
            "max_tokens": 1, "temperature": 0, "logprobs": True, "top_logprobs": 5}
    req = urllib.request.Request("https://openrouter.ai/api/v1/chat/completions",
        data=json.dumps(body).encode(),
        headers={"Authorization": "Bearer " + key, "Content-Type": "application/json"})
    with urllib.request.urlopen(req, timeout=90) as r:
        d = json.loads(r.read())
    top = d["choices"][0]["logprobs"]["content"][0]["top_logprobs"]
    return [(t["token"], round(math.exp(t["logprob"]) * 100, 4)) for t in top], d["usage"]

if __name__ == "__main__":
    for enc in ("o200k_base", "cl100k_base"):
        for name, text in (("RU", RU), ("EN", EN)):
            ids, parts = tokens(text, enc)
            print(f"{enc} {name}: {len(text)} символов -> {len(ids)} токенов")
    print(tokens("программирование", "o200k_base")[1])
    print(next_token_probs("Продолжи фразу ровно одним словом, без пояснений: «Столица Франции — »")[0])

Логпробы отдают не все провайдеры: тот же запрос к meta-llama/llama-3.3-70b-instruct через DeepInfra вернул поле logprobs пустым, и вероятности оттуда снять не получилось.

Один текст, восемь LLM: счёт токенов расходится в 1,69 раза

Единого способа посчитать токены не существует — у каждого семейства моделей свой словарь. Мы отправили один и тот же русский текст из 147 символов (21 слово) восьми моделям через OpenRouter с параметром max_tokens=1 и записали, сколько промпт-токенов насчитал каждый провайдер. Рядом — контекстное окно и цена входа из каталога OpenRouter (439 моделей) на 11 сентября 2026 года.

Модель Токенов на нашем тексте Контекстное окно Вход, $ за 1 млн токенов
google/gemini-2.5-flash 35 1 048 576 0,30
mistralai/mistral-nemo 41 131 072 0,019
openai/gpt-4.1-mini 44 1 047 576 0,40
openai/gpt-4o-mini 44 128 000 0,15
deepseek/deepseek-chat-v3.1 45 163 840 0,25
qwen/qwen-2.5-72b-instruct 53 32 768 0,36
meta-llama/llama-3.3-70b-instruct 56 131 072 0,10
anthropic/claude-haiku-4.5 59 200 000 1,00

Разброс между крайними значениями — 1,69 раза на одном и том же тексте. Оговорка к числам: prompt_tokens включает служебную обвязку чат-шаблона, у провайдеров она разная, так что таблица показывает счёт, который вам выставят; чистая длина токенизации будет чуть меньше.

Дальше эти числа превращаются в две практические величины. Деньги: при цене входа 0,40 доллара за миллион токенов страница русского текста на 3 000 символов укладывается примерно в 760 токенов и стоит три сотых цента. Объём: контекстное окно в 128 000 токенов вмещает около 504 000 символов русского текста при коэффициенте 3,94 символа на токен; английского текста в то же окно войдёт около 682 000 символов, на треть больше. Как расход токенов ведёт себя у живого агента, показано в разборе Aider CLI.

LLM в программировании и разработке: что она делает с кодом

В программировании LLM работает как модель, дообученная на исходниках, и закрывает четыре типовые задачи: автодополнение прямо в редакторе, генерация функции или теста по описанию, объяснение чужого кода, поиск причины ошибки по трейсу. Поверх них выросли агенты — программы, которые дают модели инструменты чтения файлов, запуска команд и правки проекта.

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

Ограничения в разработке следуют из механики. Модель не знает вашего репозитория, пока он не попал в контекст. Она уверенно выдумывает имена библиотечных функций, которых нет. Она теряет нить на длинных сессиях, когда старые сообщения вытесняются из окна. Поэтому рабочий режим — короткие задачи с явным контекстом и обязательный прогон тестов после каждой правки.

Выбор между закрытой моделью по API и моделью с открытыми весами сводится к трём вещам: деньги, приватность и потолок качества. Сравнение открытых вариантов собрано в обзоре зарубежных open source моделей.

Где LLM ошибается и чем это лечат

Главная ошибка LLM называется галлюцинацией: модель выдаёт правдоподобный текст с выдуманными фактами, ссылками или цитатами. Механика объясняет причину — в весах хранятся вероятности продолжений, и «похоже на правду» для модели эквивалентно «правда». Вероятность 99,997 % на токене «П» в примере со столицей Франции означает лишь то, что этот вариант чаще встречался в обучающем тексте.

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

Лечится это тремя приёмами. RAG (retrieval-augmented generation) кладёт в контекст найденные документы, и модель отвечает по этим документам вместо памяти весов. Дообучение на своих данных смещает стиль и терминологию под задачу. Локальный запуск закрывает вопрос приватности ценой качества и скорости.

Что проверить перед выбором LLM Почему это важно
Контекстное окно в токенах Русский текст занимает примерно 3,94 символа на токен, объём документа делите на этот коэффициент
Цена входа и выхода В нашей выборке из восьми моделей выход дороже входа от 1,1 раза (Qwen2.5 72B) до 8,3 раза (Gemini 2.5 Flash)
Открытые веса или API Открытые веса дают локальный запуск и приватность
Поддержка логпробов и инструментов Без них не построить ни замер уверенности, ни агента

FAQ

Что такое LLM простыми словами?
LLM — большая языковая модель: нейросеть, которая по началу текста предсказывает его продолжение кусочек за кусочком. Каждый такой кусочек называется токеном. Модель ничего не ищет в интернете и не хранит готовых ответов, она собирает текст заново на каждом запросе, опираясь на веса, настроенные при обучении на терабайтах текста.

Чем LLM отличается от нейросети и искусственного интеллекта?
Искусственный интеллект — общее поле, машинное обучение — его раздел, нейросети — метод внутри машинного обучения, а LLM — вид нейросети, обученный на текстах и построенный на архитектуре «трансформер» из статьи «Attention Is All You Need» 2017 года. Нейросети для распознавания лиц или прогноза спроса языковыми моделями не являются.

Что такое токен и почему русский текст дороже?
Токен — кусок текста из словаря модели. По замеру редакции Зерокодера от 11 сентября 2026 года в кодировке o200k_base русская фраза из 67 символов заняла 17 токенов (3,94 символа на токен), английская из 64 символов — 12 токенов (5,33). Словари собирались преимущественно на латинице, поэтому кириллица режется мельче и обходится дороже.

Что LLM даёт в программировании и разработке?
Автодополнение в редакторе, генерацию функций и тестов по описанию, объяснение чужого кода, разбор ошибок по трейсу. Поверх моделей работают агенты, которые сами читают файлы и запускают команды. Модель не знает вашего репозитория, пока код не попал в контекстное окно, и может выдумать несуществующую функцию, поэтому тесты после правок обязательны.

Сколько токенов в моём тексте и как это проверить?
Точное число зависит от модели: один русский текст из 147 символов восемь моделей посчитали от 35 до 59 токенов, разброс 1,69 раза. Свой текст можно померить локально скриптом llm_probe.py из этой статьи — он использует библиотеку tiktoken и печатает разбивку на токены дословно, без обращения к платному API.

Читайте также

3 материала