Однобитная модель Bonsai и тайна дистилляции: как получить ИИ размером с 4 ГБ
Компания PrismML представила модель Bonsai, упаковывая веса нейросети в один бит, что позволяет уместить параметры, требующие терабайт памяти, в всего 4 ГБ. Исследование автора Habr AI показало, что простое округление не сработало: Bonsai была создана путём сложного процесса дообучения, а не простой квантизации.
# Однобитная модель Bonsai и тайна дистилляции
В мире больших языковых моделей (LLM) размер — это часто враг. Стандартные модели с десятками миллиардов параметров требуют мощных видеокарт и огромного количества оперативной памяти. Но что если мы сможем сжать их настолько, чтобы они работали на modestных устройствах? Новый эксперимент, опубликованный в статье на Habr, посвящен модели Bonsai от компании PrismML, которая демонстрирует, как хранение весов в одном бите позволяет создать работоспособную нейросеть с 1,7 миллиарда параметров, занимающую всего около 4 ГБ памяти (без учёта словаря).
Это кажется магией, но за ней стоит сложная математика. Оказывается, просто взять веса оригинальной модели и округлить их до ближайшего 0 или 1 — нельзя. Такая модель просто не будет говорить. Bonsai — это продукт целенаправленного обучения, а не механического сжатия.
Что такое однобитная квантизация и почему она сложна?
Обычная нейросеть хранит миллионы параметров, значения которых занимают 16 или 32 бита. Квантизация — это метод уменьшения их точности. В случае с Bonsai используется экстремальный подход: каждый вес хранится в одном бите, плюс для группы из 128 весов сохраняется один общий коэффициент масштаба (scale).
На первый взгляд, это кажется логичным: если все веса очень малы или очень велики, их можно аппроксимировать одним битом. Однако нейросети крайне чувствительны к значению весов. Автор исследования объясняет, что «если просто округлить веса до знака, модель перестанет работать». Происходит так называемое коллапсирование: модель теряет способность вычислять полезные градиенты и начинает выдавать случайный шум или бессвязные фразы.
Для сравнения: * FP16 (стандарт): ~2 байта на параметр. * Bonsai (1 бит + масштаб): ~1 бит + 16 бит масштаба на группу из 128 параметров.
Результат: сжатие данных более чем в 14 раз по сравнению с оригинальным форматом.
Как Bonsai удерживает связь с оригиналом Qwen?
В основе Bonsai лежит популярная модель Qwen3-1.7B. Исследователь пытался понять, как получить Bonsai, не имея доступа к исходному коду PrismML. Он попробовал классический метод послойной квантизации (похожий на GPTQ), где алгоритм ищет лучшие значения битов, минимизируя ошибку на проверочных данных.
Однако эксперименты показали, что этот метод провалился. При попытке воспроизвести Bonsai через простое округление или стандартный решатель возникала огромная ошибка на незнакомых данных. Модель «запоминала» тренировочный текст и рассыпалась на любом другом.
Ключевым открытием стало сравнение весов Bonsai и оригинальной Qwen. Исследователь заметил удивительный профиль изменений: мелкие веса в Bonsai часто меняют свой знак (инвертируются), в то время как крупные веса остаются почти неизменными.
Это характерный признак процесса градиентного спуска (обучения), а не простой аппроксимации. Если бы мы просто округляли, знаки всех чисел бы сохранены или изменены случайно. Тот факт, что Bonsai «двигалась» в пространстве весов именно таким образом, указал на то, что эту модель дообучали, а не просто сжимали.
Дистилляция знаний: создание Bonsai на практике
Автор статьи не стал копировать методы PrismML напрямую, а воспроизвел их с помощью метода дистилляции. В простом понимании дистилляция — это обучение маленькой (или узкой) модели так, чтобы она повторяла ответы большой («учительской») модели.
В эксперименте использовался подход с так называемым прямым оценщиком (straight-through estimator). Суть метода: 1. Веса модели хранятся в бинарном виде (0 или 1), но математически участвуют в расчетах. 2. Во время обучения используется градиентный спуск. 3. Поскольку функция бинаризации (округления) не дифференцируема, на этапе обратного распространения ошибки её заменяют на тождественное отображение. Это позволяет градиенту проходить через «барьер» бинарных весов и корректировать их значения.
Результаты оказались впечатляющими, хотя и не идеальными: * Модель, обученная на ноутбуке за несколько секунд (один слой), показала ошибку в 0,56. * После обучения всех слоев последовательно перплексия (мера качества предсказания) составила 1680. Это лучше, чем у «решателя», но хуже, чем у настоящей Bonsai, на порядок. * Наиболее успешный эксперимент на двух видеокартах A100 с использованием 700 миллионов токенов обучения привел к перплексии 15,73. На этом этапе модель воспроизводила выбор «учителя» в 96,4% случаев, когда учитель был уверен в своем ответе.
Размер имеет значение: экономия памяти и скорости
Главный плюс Bonsai — компактность. Матрицы весов модели Qwen3-0.6B сжимаются в 3,2 раза (с 1137 МБ до 356 МБ) благодаря удалению таблиц в полубинарном формате. Для более крупных моделей экономия может достигать 14 раз, так как таблицы словаря (эмбеддингов) занимают меньшую долю в общем объеме данных.
Скорость генерации текста при этом не страдала. В тестовом примере модель выдерживала 37,2 токенов в секунду. Это происходит потому, что в момент вычислений бинарные веса преобразуются обратно в стандартный формат с плавающей точкой (bfloat16), так как специализированные процессоры для работы с одним бitem пока редкость. Реальный выигрыш здесь — только в размере файла на диске и потреблении оперативной памяти.
Как отличить обученную модель от квантизированной?
Для исследователей и инженеров, работающих с большими моделями, этот эксперимент оставил ценный практический метод диагностики. Чтобы понять, была ли модель просто сжата (квантизирована) или переобучена, нужно проанализировать профиль инвертированных знаков весов.
Если построить график зависимости частоты смены знака от величины веса: * Плоская линия: Это признак послойной квантизации (например, GPTQ). Алгоритм не заботится о величине веса, он просто минимизирует ошибку на локальном слое. * Падение частоты: Частая смена знаков для малых весов и стабильность для больших — это явный признак дообучения (дистилляции). Градиентный спуск эффективно «двигает» малые веса через ноль, в то время как крупные веса требуют огромного импульса, чтобы изменить знак.
Bonsai демонстрирует именно вторую картину, что подтверждает гипотезу автора статьи: это не просто сжатая копия, а новая сеть, которая «выучила» то же самое, но в более экономичном представлении.