Специалисты из Unsloth, занимающиеся обучением и тонкой настройкой языковых моделей, уменьшили размер нейросети DeepSeek R1 на 80%. Теперь модель весит 131 ГБ вместо 720 ГБ, что позволяет запускать её на менее мощном оборудовании. При этом её производительность остаётся на высоком уровне.
В своей работе исследователи использовали китайскую языковую модель DeepSeek R1 с 671 миллиардом параметров. Изначально её размер составлял 720 ГБ, но его удалось сократить до 131 ГБ без значительного ухудшения качества ответов.
Для этого была применена динамическая квантизация (Dynamic Quantization). Веса ключевых слоёв модели практически не изменились, а менее значимые веса, такие как экспертные блоки, были сжаты до 1,58 бита с помощью метода, разработанного учёными Microsoft. В результате около 12% весов остались такими же, как в оригинальной модели, а остальные 88% были значительно уменьшены.
Помимо применения динамической квантизации, при которой тщательно отбираются слои для сжатия без потери качества, исследователи также попробовали метод прямой квантизации, при котором сжимаются все слои нейросети. Однако в этом случае DeepSeek R1 начинает зацикливаться при генерации ответов, выдавая нерелевантные результаты. Учёные подчёркивают, что для успешного сжатия важно не затрагивать ключевые слои.
Для запуска сжатой версии DeepSeek R1, использующей 1,58 бита, достаточно системы с 160 ГБ видеопамяти (две видеокарты Nvidia H100 Hopper). Этого достаточно для работы модели с производительностью до 140 токенов в секунду.
В блоге компании опубликованы инструкции по локальному запуску сжатых версий DeepSeek R1 с использованием llama.cpp, Ollama и vLLM.
В своей работе исследователи использовали китайскую языковую модель DeepSeek R1 с 671 миллиардом параметров. Изначально её размер составлял 720 ГБ, но его удалось сократить до 131 ГБ без значительного ухудшения качества ответов.
Для этого была применена динамическая квантизация (Dynamic Quantization). Веса ключевых слоёв модели практически не изменились, а менее значимые веса, такие как экспертные блоки, были сжаты до 1,58 бита с помощью метода, разработанного учёными Microsoft. В результате около 12% весов остались такими же, как в оригинальной модели, а остальные 88% были значительно уменьшены.
Помимо применения динамической квантизации, при которой тщательно отбираются слои для сжатия без потери качества, исследователи также попробовали метод прямой квантизации, при котором сжимаются все слои нейросети. Однако в этом случае DeepSeek R1 начинает зацикливаться при генерации ответов, выдавая нерелевантные результаты. Учёные подчёркивают, что для успешного сжатия важно не затрагивать ключевые слои.
Для запуска сжатой версии DeepSeek R1, использующей 1,58 бита, достаточно системы с 160 ГБ видеопамяти (две видеокарты Nvidia H100 Hopper). Этого достаточно для работы модели с производительностью до 140 токенов в секунду.
В блоге компании опубликованы инструкции по локальному запуску сжатых версий DeepSeek R1 с использованием llama.cpp, Ollama и vLLM.