Model
model — обученная функция с архитектурой, весами и правилами входа
Модель машинного обучения преобразует данные, используя закономерности, найденные при обучении. Для нейросетевой модели нужны архитектура, веса, конфигурация и обработчики входа и выхода. Они могут лежать в одном файле или в нескольких компонентах. Одинаковая архитектура после разного обучения даёт разные модели.
Коротко
Коротко. В машинном обучении модель — система с настройками, подобранными по данным. У нейросети это архитектура и обученные параметры. На вход она получает данные в ожидаемом формате и выдаёт прогноз, текст, изображение или другое представление. Одного файла весов иногда недостаточно — нужны токенизатор, конфигурация, код и дополнительные компоненты.
Модели бывают не только нейросетевыми: к ним относятся, например, деревья решений и линейная регрессия. Дальше разберём устройство нейросетевой модели — именно такие чаще встречаются в генераторах текста и изображений.
Архитектура и веса
Архитектура описывает вычислительную схему: слои, связи, размеры и операции. Это похоже на чертёж.
Веса — числа, которые подобраны обучением. Они определяют конкретное поведение экземпляра архитектуры.
С одной архитектурой можно провести разные обучения:
- на других данных;
- для другой цели;
- с другой инициализацией;
- с разным дообучением;
- с разными токенизаторами, которые разбивают текст на токены;
- с разной числовой точностью вычислений.
Получатся разные модели, даже если код сети похож.
Модель не всегда один файл
В простом учебном примере веса сохраняются в одном файле. В рабочей системе могут понадобиться:
- несколько частей большого набора весов;
config.jsonс архитектурой;- токенизатор и словарь;
- текстовый энкодер, который преобразует текст в числовые признаки;
- VAE или другой автокодировщик для изображений;
- алгоритм и расписание шагов генерации;
- настройки генерации;
- дополнительный код;
- LoRA и дополнительные адаптеры.
Поэтому перенос «файла модели» без соседних компонентов иногда заканчивается ошибкой формы тензора или совсем другим результатом.
Что делает модель
Модель реализует функцию:
выход = model(подготовленный вход; веса)
Подготовка важна. Изображение масштабируется и нормализуется, текст токенизируется, аудио превращается в признаки. Если подготовка не соответствует ожидаемой моделью, корректные веса получают неправильный вход.
После основного вычисления может понадобиться обработка результата: выбор класса, сборка текста из токенов или удаление повторных обнаружений одного объекта. В генерации изображений VAE преобразует внутреннее представление в пиксели — это тоже отдельная обученная модель.
Параметры и размер файла
Грубая оценка размера плотных весов:
размер ≈ число параметров × байт на параметр
FP32 занимает 4 байта на число, FP16 — 2. Низкобитная квантизация может уменьшить этот объём, но добавляет свои служебные данные. Но файл может также содержать метаданные, несколько наборов весов и служебное выравнивание.
Число параметров не равно рабочей памяти. Во время запуска добавляются промежуточные результаты, временные буферы и другие компоненты. У языковой модели также может быть KV-кэш, который позволяет не пересчитывать часть работы с предыдущими токенами.
Checkpoint, base и instruct
Checkpoint — сохранённое состояние обучения. Он может быть финальным или промежуточным.
Base model, или базовая языковая модель, обычно решает задачу предварительного обучения и не обязана вести удобный диалог. Instruct или chat версия дополнительно настроена следовать инструкциям и шаблону сообщений.
В генерации изображений базовый чекпоинт может быть исходной моделью для обучения, а дообученная версия — вариантом под определённый стиль. Названия зависят от экосистемы, поэтому карточка модели важнее ярлыка.
Наглядный пример
Допустим, видеомонтажёр хочет классифицировать кадры по типу сцены. Он берёт готовую модель компьютерного зрения и дообучает её на своих размеченных данных.
Для воспроизводимости сохраняет:
- точную версию исходной модели;
- собственные обученные веса;
- список классов;
- правила изменения размера и нормализации изображения;
- порог, при котором приложение принимает предсказанный класс;
- версию библиотеки;
- проверочный набор данных и показатели качества по классам.
Если сохранить только тензоры без описания классов, следующий разработчик не узнает, какой номер в выходном векторе означает «интерьер».
Открытая и закрытая модель
Open weights означает, что веса доступны для скачивания на условиях лицензии. Это не обязательно открывает датасет, полный код обучения или право на любой вид использования.
Закрытая модель доступна через API или продукт. Её веса и инфраструктура остаются у провайдера.
Для локального запуска нужны совместимые файлы модели и программа, которая умеет с ними работать. Веса можно получить публично, по отдельному соглашению или обучить самостоятельно. Не каждая открытая модель помещается на одном компьютере, а не каждый API закрывает доступ к настройке поведения.
Форматы файлов
- Safetensors хранит тензоры без pickle-объектов и удобен для загрузки весов без выполнения встроенных Python-объектов.
- PyTorch checkpoint может быть обычным словарём тензоров, но pickle-based загрузка способна исполнять код.
- GGUF ориентирован на эффективный инференс в совместимых программах и хранит тензоры с метаданными. Квантизация поддерживается, но не обязательна.
- ONNX описывает вычислительный граф и веса для запуска в совместимых средах.
Расширение не гарантирует качество или лицензию. Неизвестный файл проверяют по источнику и хешу.
Безопасная загрузка
При загрузке из непроверенного репозитория риск связан не только с весами. Исполняемые объекты в чекпоинте, дополнительный код, скрипты установки и зависимости могут выполнять действия на компьютере.
Перед запуском помогают:
- официальный или проверенный репозиторий;
- зафиксированная версия;
- сверка хеша;
- просмотр лицензии и карточки модели;
safetensorsдля чистых весов, когда формат поддерживается;- изолированная среда с ограниченными правами для стороннего кода;
- проверка скриптов до запуска;
- сканирование и журнал происхождения.
Как выбрать модель
Сначала определяются ограничения задачи:
- входы и выходы;
- язык и домен;
- допустимая ошибка;
- время ответа и число запросов, которые система должна обслуживать;
- память и инфраструктура;
- приватность;
- лицензия;
- вызов инструментов и выдача данных в заданном формате.
Затем кандидатов сравнивают на одном наборе заданий. Общий рейтинг может подсказать варианты, но не заменяет проверку на данных продукта.
Версии и воспроизводимость
Название репозитория может остаться прежним, пока его файлы обновляются. Для рабочего использования фиксируют идентификатор версии или хеш.
Запись вида «используем model-large» недостаточна. Для повторения запуска нужны точные файлы, токенизатор, программа запуска, числовая точность, шаблон сообщений и адаптеры.
Частые ошибки
- Считать модель одним файлом. Часто нужны конфигурация и правила подготовки данных.
- Сравнивать только параметры. Архитектура, данные и обучение важнее одного числа.
- Путать open weights с разрешением для бизнеса. Право задаёт лицензия.
- Загружать
.ptиз неизвестного источника. Pickle может выполнять код. - Не сохранять версию токенизатора. Другой словарь меняет вход и качество.
- Считать квантизацию только сжатием файла. Она влияет на память, скорость и иногда точность.
Частые вопросы
Модель и нейросеть — одно и то же?
Не совсем. Модель может быть нейросетевой, но существуют и другие модели — например, дерево решений. Саму нейросеть тоже называют моделью, в том числе до начала обучения; в задачах генерации обычно имеют в виду уже обученный вариант.
Почему модель не запускается после скачивания?
Могут отсутствовать конфигурация, токенизатор, VAE, нужный код или совместимая программа запуска. Карточка модели обычно описывает комплект файлов и требования.
Большая модель всегда лучше?
Нет. Специализированная меньшая модель может быть точнее, быстрее и проще в эксплуатации на узкой задаче.
Можно ли открыть файл и понять знания модели?
Веса — массивы чисел. Их можно исследовать, но нельзя прочитать как базу фактов. Поведение проверяется экспериментами и документацией обучения.
Главное
Для нейросетевой модели важны не только веса, но и архитектура, подготовка входа и обработка результата. Поэтому вместе с файлом сохраняют конфигурацию, токенизатор, лицензию и сведения о программе запуска. Эти детали помогают и повторить удачный результат, и разобраться, почему скачанная модель работает иначе.