Parameters

parameters — числа, значения которых модель получает во время обучения

Раздел
Основы AI
Обновлено
11.08.26

Параметры модели — обучаемые числа внутри матриц и других тензоров нейросети. Обучение меняет их по градиентам, checkpoint сохраняет найденные значения, а обычный inference применяет их к новым входам. Количество параметров влияет на размер и вычисления, но само по себе не измеряет качество или объём знаний.

Коротко

Параметры — числа, значения которых модель подбирает во время обучения. Чаще всего это веса матриц и смещения, но также параметры embeddings, нормализации и других обучаемых слоёв. После обучения значения сохраняются в checkpoint и при обычном inference остаются неизменными.

Когда в описании встречается 7B, буква B обычно означает billion — миллиард параметров, а не гигабайт. Размер файла зависит ещё и от формата чисел, квантизации, служебных данных и того, какие компоненты вошли в checkpoint.

Что именно называют параметром

На экране открыт файл весов. Внутри нет аккуратной папки «русский язык», отдельной ячейки «кошки» и готовых ответов на вопросы. Там лежат массивы чисел — тензоры с именами вроде layer.weight, bias, embedding или norm.weight.

В простом линейном узле вычисление можно записать так:

y = f(w₁x₁ + w₂x₂ + … + wₙxₙ + b)

Здесь x — входные значения, w — веса, b — смещение, а f — функция активации. Веса и смещение являются параметрами: обучение может менять их, чтобы уменьшить ошибку. Входы параметрами не являются — они приходят заново для каждого примера или запроса.

Современная сеть хранит параметры не по одному, а большими тензорами. У линейного слоя это матрица весов и, если он включён, вектор bias. У embedding-слоя — таблица представлений. У нормализации могут быть обучаемые scale и offset. Поэтому разговорное «параметры равны весам» удобно, но немного упрощает картину.

Как посчитать параметры слоя

Для полносвязного слоя с m входами и n выходами матрица весов имеет форму n × m. Если у каждого выхода есть bias, общее число параметров равно:

m × n + n

Например, слой 4 → 3 содержит 12 весов и 3 смещения — всего 15 параметров. Функция активации вроде ReLU сама по себе обычно ничего обучаемого не добавляет.

У таблицы embeddings размером vocabulary_size × hidden_size число параметров равно произведению этих величин. У свёртки учитываются число входных и выходных каналов, размер ядра, groups и наличие bias. У трансформера складываются embeddings, проекции attention, feed-forward блоки, нормализации и выходная голова.

Одной универсальной формулы «параметры трансформера» нет. Архитектуры различаются grouped-query attention, gated MLP, общими embeddings, bias и parameter sharing. Надёжнее считать реальные тензоры конкретной конфигурации, а не подставлять название семейства в приблизительную формулу.

Как обучение меняет числа

В начале параметры могут быть инициализированы случайно или загружены из базового checkpoint. Для batch данных модель делает предсказание, loss измеряет ошибку, а backpropagation вычисляет производную ошибки по каждому обучаемому параметру.

Optimizer использует градиенты и свои настройки, чтобы обновить значения. Сильно упрощённо один шаг выглядит так:

новый параметр = старый параметр − learning_rate × gradient

Реальные оптимизаторы могут хранить momentum, оценки дисперсии и применять weight decay. Но смысл остаётся тем же: данные не записываются в одну конкретную ячейку. Множество небольших обновлений перестраивает распределённые закономерности во многих тензорах.

После обучения checkpoint сохраняет найденное состояние. В обычном inference optimizer и backward pass не запускаются, поэтому параметры только читаются. Fine-tuning снова разрешает менять все или часть значений; parameter-efficient методы могут заморозить базу и обучать небольшой набор добавленных параметров.

Total, trainable, frozen и active

Одна фраза «в модели столько-то параметров» может скрывать несколько разных чисел.

  • Total parameters — все учитываемые параметры модели.
  • Trainable parameters — подмножество, для которого вычисляются градиенты и которое обновляет optimizer.
  • Frozen parameters — сохранённые параметры, исключённые из обновления на данном этапе обучения.
  • Active parameters — часть, реально участвующая в конкретном forward pass; термин особенно важен для sparse и Mixture-of-Experts архитектур.

У dense-модели total и active обычно близки: почти все основные матрицы используются на каждом проходе. У MoE маршрутизатор может выбрать лишь несколько экспертов, поэтому total описывает общую ёмкость, а active лучше отражает часть вычисления для одного элемента. При этом все эксперты всё равно нужно где-то хранить или подгружать.

Trainable — характеристика текущего режима обучения, а не вечное свойство тензора. Один и тот же слой можно сначала заморозить, затем разморозить. В TensorFlow/Keras и PyTorch параметры, trainable weights и persistent buffers учитываются разными механизмами, поэтому два отчёта стоит сравнивать только после проверки методики подсчёта.

Параметры, buffers и активации

Не каждое число в state_dict является параметром. Например, слой может хранить running mean и variance как persistent buffers. Они входят в состояние модели и сохраняются, но не обязательно оптимизируются градиентным спуском.

Активации — ещё один отдельный класс. Это промежуточные результаты для конкретного входа. Они появляются во время forward pass, зависят от batch, длины последовательности, разрешения и архитектуры, а затем освобождаются или временно сохраняются для backward pass.

Из-за этого одинаковое число параметров не гарантирует одинаковое потребление памяти. На inference к весам добавляются активации, временные тензоры и, у языковых моделей, KV cache. На training нужны также градиенты, optimizer states и сохранённые активации. Иногда именно они, а не checkpoint, вызывают out-of-memory.

Как число параметров связано с размером

Идеальный нижний предел для одних только значений можно оценить так:

размер = число параметров × бит на параметр ÷ 8

Один миллиард значений занимает примерно 4 ГБ в FP32, 2 ГБ в FP16 или BF16, 1 ГБ при 8 битах и 0,5 ГБ при 4 битах. Это ориентир, а не обещанный размер файла.

У квантизованного checkpoint дополнительно хранятся scales, zero points, таблицы и метаданные групп. В файл могут входить несколько компонентов, а часть параметров — оставаться в более высокой точности. Runtime добавляет собственные буферы и иногда преобразует веса при загрузке.

Квантизация меняет представление значений, но не обязана менять архитектурное число параметров. Модель всё ещё имеет те же позиции весов, просто кодирует их меньшим количеством бит и с некоторой потерей точности.

Пример на практике

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

Сначала он смотрит не только на суффикс в имени, а на четыре вещи: total parameters, dtype или схему quantization, реальный размер checkpoint и память процесса на контрольном запросе. К весам добавляет запас под KV cache и длинные фрагменты расшифровки. Так становится понятно, почему арифметика «параметры умножить на полбайта» даёт нижнюю границу, а не точный расход VRAM.

Затем монтажёр добавляет небольшой адаптер. Базовые веса остаются frozen, а trainable parameters находятся в отдельном файле. В ComfyUI или другом графовом интерфейсе рядом видны ещё десятки полей — seed, steps, temperature, сила адаптера. Это параметры запуска и workflow, но не параметры нейросети в смысле обученных тензоров.

С чем часто путают

  • Параметры модели и гиперпараметры. Первые получает обучение; learning rate, batch size и многие настройки архитектуры задают процесс, который их ищет.
  • Параметры модели и настройки inference. Temperature, seed, steps и CFG меняют запуск, но не переписывают сохранённые веса.
  • Параметры и входы. Токены, пиксели и признаки приходят в модель; параметры определяют, как сеть их преобразует.
  • Параметры и активации. Параметры сохраняются между запросами, активации вычисляются заново для конкретного входа.
  • Параметры и buffers. Оба вида тензоров могут входить в checkpoint, но buffers не обязаны быть обучаемыми через optimizer.
  • Количество параметров и размер файла. Число позиций и число бит на позицию — разные характеристики.

Частые ошибки и заблуждения

«Больше параметров всегда означает лучше»

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

«Каждый параметр хранит отдельный факт»

Представления распределены по множеству тензоров. Один вес обычно нельзя перевести в понятную подпись «этот отвечает за Париж» или «этот рисует глаза».

«7B — это файл на 7 ГБ»

Суффикс сообщает число параметров. Размер зависит от dtype, quantization, служебных коэффициентов, состава checkpoint и упаковки.

«Frozen-параметры исчезают из памяти»

Заморозка отключает их обновление, но значения всё равно нужны для forward pass. Она экономит память на градиентах и optimizer states, а не обязательно на самих весах.

«Квантизация удаляет часть параметров»

Обычно она снижает точность хранения тех же весов. Pruning и изменение архитектуры действительно могут убрать связи или тензоры, но это другой процесс.

«Total parameters достаточно для сравнения MoE»

Для sparse-модели дополнительно важны active parameters, схема маршрутизации, память всех экспертов и коммуникации между устройствами.

Связанные термины

  • Weights — распространённое название обучаемых матриц и параметров модели.
  • Training — процесс, который вычисляет градиенты и обновляет trainable parameters.
  • Checkpoint — сохранённое состояние параметров и связанных тензоров.
  • Gradient — чувствительность loss к небольшому изменению параметра.
  • Optimizer — правило обновления параметров по градиентам и внутреннему состоянию.
  • Hyperparameters — настройки архитектуры и процесса обучения.
  • Fine-tuning — продолжение обучения всех или выбранных параметров готовой модели.
  • LoRA — адаптер с небольшим набором обучаемых параметров рядом с замороженной базой.
  • Quantization — хранение и вычисление параметров в более компактном числовом представлении.
  • Mixture of Experts — архитектура, где total и active parameters могут заметно различаться.

Частые вопросы

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

Самый надёжный способ — просуммировать число элементов всех уникальных parameter tensors в загруженной конфигурации. Документация и model card удобны, но стоит проверить, включают ли они embeddings, output head и не считают ли shared weights дважды.

Параметры и weights — одно и то же?

В разговоре почти всегда да. Строго говоря, weights — наиболее заметный вид параметров; кроме них встречаются bias, scale, offset и другие обучаемые тензоры.

Меняются ли параметры во время обычного чата с моделью?

Обычно нет. Меняются вход, контекст, KV cache и внешняя память приложения. Параметры изменяются только при отдельном обучении, online learning или специально реализованном обновлении.

Почему checkpoint меньше памяти процесса?

Процесс хранит не только веса: декодированные или переконвертированные тензоры, активации, KV cache, рабочие буферы и накладные расходы runtime.

Что означает trainable percentage?

Это доля параметров, которые обновляются в текущем запуске обучения. Маленькая доля характерна для адаптеров и частичной разморозки, но сама по себе не измеряет качество дообучения.

Можно ли сравнивать модели только по числу параметров?

Можно грубо оценить класс размера, но не качество, скорость и требования целиком. Нужны архитектура, dtype, active parameters, длина входа и результаты на вашей задаче.

Главное

Параметры — обученное числовое состояние модели. Архитектура задаёт, где лежат эти тензоры и как они участвуют в вычислении; данные, loss и optimizer формируют их значения. Checkpoint сохраняет результат, а inference применяет его к новым входам.

Количество параметров помогает оценить масштаб, нижнюю границу хранения и устройство обучения. Но это только одна координата. Для практического выбора рядом с ней нужны точность представления, active и trainable части, память runtime и качество на реальной задаче.

Источники