Mar 06, 2024 09:12
The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits
[Статья][Довольствуйтесь README.md]
Либо результат этой статьи невероятно крут, и ваш покорный слуга может завязывать с сжатием и идти продавать пирожки с капустой, либо бы имеем дело с обманом почище UltraFastBERT.
Утверждается ни много не мало следующее - можно обучать LLM с 1.58 (log2(3)) битами на параметр 🤯, которые сходятся так же хорошо как и fp16 модели!
Метод
В линейных слоях все веса квантуются тернарно (принимают значения -1, 0, 1).
Скейл будто бы берется один на весь тензор, даже не канал, что вдвойне удивительно, учитывая склонность LLM к оутлаерам и неравномерность распреления весов. Активации же приводятся к 8 битам, и чтобы не хранить zero-point, значения активаций симметризуются.
Ничего не сказано про процедуру обучения, был ли использован straigth-through estimator, или что-то еще более хитрое безградиентное для обучения тернарных весов. Ибо наивное обучение всего этого хозяйства должно сходиться из ряда вон плохо.
Эксперименты
За основу берут Llama архитектуру и обучают модели разного размера (от 700M до 3.9B параметров) на RedPajama. В сравнениях с бейзлайновой Llama fp16 все модели поглощают 100B токенов на этапе обучения. Модели сравнивают по перплексии на wikitext2 / c4 (непонятно, какая из них приведена в Таблице 1, или средняя) и zero-shot на lm-eval-harness. На меньших моделях BitNet1.58 (так называется семейство квантованных моделей) лишь слегка уступает бейзлайну, а на больших - будто бы чуть лучше, чем fp16.
Замена большого числа умножений на сложения и разности дает огромный потенциал для ускорения. При том же размере модель в разы быстрее, экономичнее по памяти, и жрет куда меньше драгоценной энергии.
При обучении на 2T токенах, BitNet1.58 на бенчмарках лучше StableLM-3B, обученной на том же числе данных.
Вывод
Практически полное отсутствие описания метода и протокола обучения делает результаты данной работы крайне сомнительными. Краткость - сестра таланта, только если ты OpenAI. В общем, ждем дальнейшей информации. Может, таки выложат модели и нечто большее, чем README.
Ии рулит