localaiforum
Войти
Руководство › Основы

Что такое LLM на самом деле?

LLM — это функция: текст на входе, распределение вероятностей по следующему токену на выходе. Генерация — та же функция, завёрнутая в цикл: сэмплируем токен, дописываем его, подаём всё обратно на вход и повторяем — пока не появится стоп-токен или не сработает лимит длины. Любой построенный на ней продукт, от чат-приложений до агентов для кода, — это оркестрация вокруг этого цикла.

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

Базовый цикл

Псевдокод всего генерационного движка. Ничто из того, что выпускают вендоры, не глубже этого:

tokens = tokenize(prompt)
while not done and len(tokens) < max_context:
    probs = model(tokens)             # один прямой проход
    next  = sample(probs, temperature)
    tokens.append(next)
    stream_to_user(next)
    if next == stop_token:
        done = True

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

Что такое веса физически

Модель «7B» — это 7,000,000,000 параметров типа float. Размер на диске зависит только от точности, а не от «умности»:

Точность Байт на параметр Размер 7B-модели
FP16 (нативно) 2 ~14 GB
8-битный квант ~1 ~7 GB
4-битный квант ~0.55 ~4 GB

Те же веса, более грубое хранение — вы меняете немного качества на много памяти (см. квантизация). Само количество фиксируется при обучении; использование модель его не меняет.

Лестница масштабов

Количество параметров — грубая, но честная мерка того, что появилось и когда:

Класс Параметры Эпоха Что умел
GPT-2 125M–1.5B 2019 Связные абзацы, хрупкие факты
GPT-3 175B 2020 Начинает работать few-shot-промптинг
Маленькие, но хорошие (Phi-3, Qwen 3B) 3–4B 2024 Вполне рабочие лёгкие ассистенты
Открытые 7B (Mistral, Llama 2) 7B 2023 Уверенный чат и код на одной пользовательской GPU
Открытый класс 70B 70B 2023+ Почти фронтирное рассуждение; хочет 2×24 GB
Открытый плотный фронтир (Llama 3.1) 405B 2024 Фронтирные открытые веса, мульти-GPU
Фронтирный MoE 100B–600B+ всего, 10–40B активных 2024+ Лучший в классе вывод за разумную цену обслуживания

Каждая ступень примерно в 10× больше предыдущей, и каждая открывает поведение, которое младшая просто не могла выдать — не «то же самое, но чуть лучше». Масштаб добавлял навыки; упаковка сделала их удобными.

Нет памяти между сессиями

Модель не имеет состояния. Состояние живёт в разговоре: в бегущем окне токенов, которое произвели вы и она. Закрыли вкладку — оно исчезло; начали новый чат — она не знает о вашем существовании. Любая функция «памяти» — обёртка, которая заново вставляет старый текст в новый промпт.

Практическое следствие: то, что вы держите в окне, — всё, что она знает прямо сейчас. Длинные разговоры незаметно обрезают собственное начало, когда окно заполняется, — модель «не замечает» пропавшего текста (см. токены).

Беглость — не правильность

Цель обучения — правдоподобное продолжение, а не истина. Острые углы:

  • Модель выдаёт уверенную, хорошо оформленную ложь. Галлюцинации — свойство предсказания следующего токена, а не баг, который кто-то забыл закрыть.
  • Беглость — плохой сигнал истины: неверный ответ читается ровно так же хорошо, как верный.
  • Калибровка шаткая. Спросите «насколько ты уверен?» — и часто получите выдуманное число.
  • Частые факты надёжны — они встречались в обучении миллионы раз. Длинный хвост фактов плавно деградирует в уверенную выдумку.
  • Модели склонны к согласию: поспорьте с правильным ответом — и она может сдаться. Правильность и уверенность — разные оси.
  • Принудительный проверяемый вывод (JSON с полями для заполнения, множественный выбор) работает лучше, чем просьба к модели заглянуть в себя.

Знания заморожены при обучении

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

Способности приходят неравномерно

Масштаб добавляет навыки не плавно:

  • До ~3B: хороший автокомплит, извлечение, классификация; многошаговое рассуждение в основном проваливается.
  • 7–9B: надёжное следование инструкциям, приличный код; арифметика и длинные цепочки остаются шаткими.
  • 30B+: планирование, нюансы, сложный код — приходит поздно и довольно внезапно.
  • MoE усложняет лестницу: судите по активным параметрам, а не по общим.

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

Продукт — это цикл в обёртке

Когда вы пользуетесь любым LLM-продуктом, происходит примерно следующее:

  1. Ваш текст токенизируется.
  2. Системный промпт, определения инструментов, найденные документы и история чата склеиваются в один промпт.
  3. Модель гоняет цикл выше и стримит токены наружу.
  4. Код-обёртка парсит вывод, вызывает инструменты, подаёт результаты обратно и промптит снова.
  5. UI рендерит markdown и называет это разговором.

Шаги 1, 2, 4 и 5 — не модель. Как только вы усвоите, что модель — это функция без состояния «текст на входе — текст на выходе» с фиксированным окном, остальная часть этого руководства — бухгалтерия: насколько велико окно (токены), как быстро крутится цикл (префилл и декодирование), где он работает (обзор железа) и как им управлять (промптинг).

Связанные разделы: токены · внутри трансформера · параметры · обучение