27 февраля 2024 года исследователи Microsoft Research опубликовали работу The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits — продолжение линии BitNet, начатой в октябре 2023 года. Авторы предложили BitNet b1.58: вариант Transformer, где линейные слои работают с тернарными весами {-1, 0, 1}, а не с FP16/BF16. Важность работы не в громком заголовке про «эру», а в более узком тезисе: при обучении с нуля такая схема, по данным авторов, может выйти на качество полуторной точности уже примерно с масштаба 3B параметров и при этом заметно удешевить инференс. Ниже мы разбираем именно исходную публикацию от 27 февраля 2024 года и отдельно отмечаем, где поздние системные работы Microsoft уже расширили, а где не сняли ограничения исходного результата.
Коротко
- BitNet b1.58 — это не пост-тренировочное квантование готовой LLM, а обучение с нуля архитектуры, в которой
nn.Linearзаменён наBitLinear. - «1.58 бита» в работе означает тернарные веса
{-1, 0, 1}; при этом активации в ключевой части экспериментов остаются 8-битными, а часть других компонентов вообще не переводится в 1.58 бита. - Главный эмпирический тезис статьи: начиная с масштаба 3B, BitNet b1.58 в авторском стеке сопоставим с FP16/BF16-бейзлайном по perplexity и средней zero-shot точности, но дешевле по памяти и задержке.
- Сильная сторона работы — перенос идеи сверхнизкой разрядности из мира пост-квантования в мир нативного low-bit pretraining. Слабая — системная зрелость на момент релиза: часть cost-метрик в статье измерялась через 2-битное ядро, а не через полноценный промышленный стек для ternary-инференса.
- Поздние работы Microsoft по bitnet.cpp показывают, что направление не осталось чисто теоретическим, но они относятся уже к следующему этапу и не заменяют разбор исходных claims 2024 года.
Контекст: почему BitNet b1.58 вообще появился
В 2023 году команда Microsoft показала исходный BitNet: идею обучать 1-битный Transformer с нуля, а не сначала тренировать обычную FP16-модель, а потом агрессивно её квантовать. В той работе центральным блоком стал BitLinear — замена стандартного линейного слоя на низкобитный аналог, который должен лучше сходиться при обучении и масштабироваться по тем же общим законам, что и обычные языковые модели.
Работа февраля 2024 года делает следующий шаг. Вместо строго бинарных весов авторы вводят тернарные веса {-1, 0, 1}, то есть добавляют ноль как отдельное состояние. По их аргументации, это повышает выразительность слоя за счёт явной «фильтрации» признаков и уменьшает разрыв с полноточными LLM, сохраняя основное системное преимущество: матричное умножение почти не опирается на дорогое плавающее умножение.
Важно и то, против чего именно выступает BitNet b1.58. Большая часть low-bit-практики в индустрии — это post-training quantization: модель сначала обучают в высокой точности, а потом сжимают для инференса. Авторы BitNet считают это sub-optimal для экстремально низкой разрядности и предлагают другой тезис: если заранее строить архитектуру под 1-битный или 1.58-битный режим, можно получить лучшую шкалу компромисса между качеством и стоимостью.
Историческая рамка здесь принципиальна. Этот разбор относится к исходной arXiv-версии от 27 февраля 2024 года и её архивной JMLR-версии 2025 года. Поздние релизы вроде bitnet.cpp и открытых моделей BitNet — это уже следующий этап линии, а не то, что было строго доказано в оригинальной статье.
Метод: как устроен BitNet b1.58
Ключевая инженерная идея проста по формулировке: авторы берут Transformer/LLaMA-подобный декодер и заменяют стандартные линейные проекции на BitLinear. Для BitNet b1.58 веса в этих слоях квантуются в три значения {-1, 0, 1} через absmean-квантование, а активации переводятся в 8-битное представление.
То есть термин «1-битная LLM» в заголовке статьи удобен, но технически слегка упрощает картину. В экспериментах BitNet b1.58:
- веса ключевых линейных слоёв — тернарные;
- активации — 8-битные;
- эмбеддинги и часть прочих компонентов не переводятся в ту же разрядность;
- градиенты и состояния оптимизатора во время обучения остаются в высокой точности.
Это важная оговорка для практиков. Статья показывает не «полностью 1.58-битную систему от начала до конца», а архитектурный компромисс, в котором самые дорогие по инференсу участки делают сверхнизкобитными, а всё остальное держат там, где это нужно для устойчивости обучения и качества.
Вариант b1.58 также специально адаптирован под LLaMA-подобный стек: в статье перечислены RMSNorm, SwiGLU, rotary embeddings и отказ от bias-параметров. Это не косметика. Авторы явно хотят встроиться в уже сложившийся open-source-ландшафт, а не придумать полностью отдельную экзотическую архитектуру.
Если совсем упростить механизм, BitNet b1.58 делает четыре шага: нормализует вход, квантует активации, заменяет вещественные веса на тернарные и только потом выполняет низкобитное матричное преобразование с последующим масштабированием результата. Аналогия здесь такая: вместо того чтобы после строительства «сплющивать» готовую модель в малое число бит, авторы сразу проектируют несущие элементы так, чтобы они жили в этом ограничении с первого шага обучения.
Результаты: что именно показала статья
Основной набор экспериментов для BitNet b1.58 авторы проводят на моделях, предобученных на 100 миллиардах токенов из RedPajama. Они сравнивают свои модели с воспроизведённым FP16 LLaMA-подобным бейзлайном и смотрят на perplexity, zero-shot-задачи и стоимость инференса. В zero-shot-части фигурируют ARC-Easy, ARC-Challenge, HellaSwag, BoolQ, OpenBookQA, PIQA и Winogrande; perplexity оценивается на WikiText2 и C4.
| Пара моделей | PPL baseline | PPL BitNet | Память BitNet | Латентность BitNet | Средний zero-shot baseline | Средний zero-shot BitNet |
|---|---|---|---|---|---|---|
| 700M vs 700M | 12.33 | 12.87 | 0.80 GB, в 2.60x меньше | 0.96 ms, в 1.23x быстрее | 45.5 | 44.3 |
| 1.3B vs 1.3B | 11.25 | 11.29 | 1.14 GB, в 2.93x меньше | 0.97 ms, в 1.67x быстрее | 46.2 | 45.4 |
| 3B vs 3B | 10.04 | 9.91 | 2.22 GB, в 3.55x меньше | 1.87 ms, в 2.71x быстрее | 49.7 | 50.2 |
Из этой таблицы и авторского текста следует главный вывод статьи: на 3B BitNet b1.58 уже не просто «терпимо близок», а фактически выходит на сопоставимый уровень с полноточным бейзлайном по двум осям сразу — perplexity и среднему zero-shot-качеству. На меньших масштабах 700M и 1.3B выигрыш по стоимости есть, но по среднему качеству модель ещё слегка уступает.
Авторы усиливают этот тезис ещё одной точкой: BitNet b1.58 3.9B в их таблицах показывает perplexity 9.62 и средний zero-shot 51.2, то есть обходит 3B LLaMA-бейзлайн, оставаясь при этом дешевле его по памяти и задержке. Это не сравнение одинакового размера, поэтому читать его нужно аккуратно, но как аргумент в пользу scale-up линии BitNet оно работает.
Есть и более крупные системные результаты. Для 70B авторы сообщают на двух 80GB A100 при длине последовательности 512:
- максимальный batch size 176 у BitNet b1.58 против 16 у LLaMA 70B;
- throughput 2977 токенов/с против 333 токенов/с, то есть примерно 8.9x;
- по кривым памяти и задержки преимущество растёт вместе с масштабом модели; для 70B в статье отдельно указано ускорение до 4.1x по задержке.
Ещё один отдельный эксперимент — обучение 3B модели на 2 триллионах токенов по рецепту StableLM-3B. В этом сетапе BitNet b1.58 получает средний zero-shot 74.34 против 73.22 у StableLM-3B на наборе из Winogrande, PIQA, SciQ, LAMBADA и ARC-Easy. Это полезно, потому что показывает не только «равенство на 100B токенов», но и попытку проверить, держится ли подход на более длинном pretraining.
По энергии статья тоже делает сильный тезис, но здесь нужна осторожность. В arXiv-версии авторы пишут о 71.4x снижении арифметической энергозатратности матричного умножения на 7-нм техпроцессе. Однако это модельная оценка по energy model для операций, а не прямой wall-plug-замер всего сервера. Для практического чтения правильнее запомнить не конкретное число, а характер вывода: у BitNet при росте модели стоимость линейных слоёв смещается из мира FP16 multiplication в мир гораздо более дешёвых integer-операций.
Интерпретация
Наш комментарий
Самое важное в BitNet b1.58 — не цифра 1.58 сама по себе, а смена рамки. До этой линии low-bit LLM чаще воспринимались как техника сжатия уже готовой модели. BitNet предлагает думать иначе: низкая разрядность может быть исходным архитектурным ограничением, а не посмертной оптимизацией после pretraining.
Для практиков это означает две вещи. Во-первых, статья напрямую связывает модельную архитектуру с будущим инференс-стеком и даже с дизайном железа. Во-вторых, она намекает, что классическая гонка «больше параметров в той же FP16-форме» — не единственная ось масштабирования. Можно менять не только размер модели и число токенов, но и числовой формат базовых операций.
При этом заголовок про «эру 1-битных LLM» стоит читать буквально как исследовательскую ставку, а не как уже свершившийся индустриальный факт. Работа показывает, что у тернарных LLM есть правдоподобный путь к качеству полноточных моделей в авторском сетапе. Она не доказывает, что все будущие frontier-модели обязаны перейти именно в этот режим.
Ограничения и критика
1. Это не универсальная победа над FP16. Сильнейший claim статьи начинается с масштаба 3B. На 700M и 1.3B BitNet b1.58 уже заметно выигрывает по стоимости, но ещё не выигрывает по среднему quality-агрегату. Для прикладного чтения это важно: эффективность тут не бесплатна, особенно на меньших моделях.
2. В исходной статье cost-метрики считались не на полностью зрелом ternary-стеке. Авторы прямо пишут, что память и задержка измерялись с 2-битным kernel, а значит даже собственные цифры 2024 года были промежуточной оценкой системы. Это одновременно плюс и минус: запас для улучшения есть, но сравнение 2024 года нельзя путать с уже отполированным production-grade inference path.
3. Энергетические результаты в статье частично аналитические, а не приборные. Особенно это касается громких оценок по arithmetic energy на 7 нм. Они полезны как направление и инженерная интуиция, но это не то же самое, что померить потребление готового сервиса под реальной нагрузкой.
4. «1.58-битная модель» не означает, что вся система живёт в 1.58 бита. Веса линейных слоёв — да, но активации в основном 8-битные, некоторые компоненты оставлены в более высокой точности, а во время обучения высокоточной остаётся и оптимизационная часть. Поэтому ожидать таких же радикальных выигрышей по training-cost, как по inference-cost, было бы неверно.
5. Сравнение завязано на авторский стек и воспроизведённые бейзлайны. Для честности авторы тренируют и baseline, и BitNet на одном токен-бюджете, но это всё равно не независимая внешняя репликация. Кроме того, статья ссылается на lm-evaluation-harness и FasterTransformer, но не фиксирует в основном тексте точные коммиты этих инструментов.
6. Исходная arXiv-публикация сама помечена как Work in progress. Это не дефект, а статус. Поздние системные работы Microsoft — прежде всего 1-bit AI Infra: Part 1.1 и официальный репозиторий microsoft/BitNet — показывают, что линия двинулась дальше к практическому инференсу, но они не отменяют того, что исторически статья февраля 2024 года была именно исследовательским тезисом, а не завершённым инфраструктурным продуктом.
Вывод
BitNet b1.58 важен не потому, что «доказал победу 1-битных LLM над всеми остальными», а потому что убедительно сместил разговор о квантовании. После этой работы стало труднее считать сверхнизкую разрядность только приёмом постобработки; она начала рассматриваться как архитектурная ось дизайна LLM.
Если свести статью к одному практическому выводу, он будет таким: в авторском экспериментальном сетапе тернарные веса, обучение с нуля и специально адаптированный low-bit слой дают реальный шанс выйти на качество FP16-бейзлайна примерно с 3B масштаба при заметно более дешёвом инференсе. Но это всё ещё не доказательство универсальности подхода: сильные выводы работы зависят от собственного training recipe, собственного system stack и от того, насколько хорошо экосистема научится обслуживать такие модели дальше.
Источники
Ниже перечислены источники, на которые опирается этот разбор. Числа из таблиц сверены по arXiv HTML-версии 2024 года и архивной JMLR-версии 2025 года.
- The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits
- The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits — arXiv HTML version
- The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits — Microsoft Research
- BitNet: 1-bit Pre-training for Large Language Models — Journal of Machine Learning Research
- BitNet: 1-bit Pre-training for Large Language Models — JMLR PDF
- BitNet: Scaling 1-bit Transformers for Large Language Models
- 1-bit AI Infra: Part 1.1, Fast and Lossless BitNet b1.58 Inference on CPUs — Microsoft Research
- microsoft/BitNet — Official inference framework for 1-bit LLMs
FAQ
Это просто квантование готовой модели после обучения?
Нет. Ключевой тезис BitNet b1.58 в том, что модель обучают с нуля уже под низкобитную архитектуру. Это отличается от обычного сценария, где полноточную LLM сначала тренируют, а потом сжимают для инференса.
Вся ли модель действительно «1.58-битная»?
Нет, не в буквальном смысле. Тернарными в работе являются прежде всего веса линейных слоёв, активации в основных экспериментах 8-битные, а часть других компонентов и training-state остаётся в высокой точности.
Доказала ли работа, что будущее всех LLM — это 1 бит?
Нет. Она показала сильный исследовательский результат в авторском стекe и задала направление для co-design модели, софта и железа. Но универсальность этого пути для всех классов LLM статья не доказывает.
