Brevis: новый метод сжимает чекпоинты нейросетей на 34% без потерь

Чекпоинты моделей растут в числе и размере, из-за чего их архивация, передача и развёртывание обходятся всё дороже. Универсальные компрессоры вроде zstd и gzip снижают объём, но игнорируют структуру тензоров, а существующие специализированные тензорные компрессоры жёстко привязаны к конкретному формату. Brevis предлагает другой подход: сжатие тензоров без потерь формулируется как задача синтеза программ. Для этого построен типизированный предметно-ориентированный язык (DSL) с набором обратимых операторов, который описывает повторяющиеся структуры тензоров, повторяющиеся блоки данных, поля с плавающей точкой. Для конкретного тензора Brevis синтезирует самодостаточную программу на этом DSL, которая восстанавливает тензор побитово точно. Синтез управляется «продукционным приором», обученным на небольшой репрезентативной выборке тензоров конкретного чекпоинта, и ограниченным поиском A*, который ищет компактные программы; готовая программа затем используется напрямую для побитово точной распаковки. На 10 публичных чекпоинтах, языковых моделей, а также моделей для аудио и генерации изображений, Brevis сократил суммарный объём данных с 2,13 ТБ до 1,41 ТБ, то есть на 33,93%. Архивы Brevis оказались до 30,87% компактнее, чем у четырёх универсальных компрессоров, включая zstd и gzip, и меньше, чем у специализированных тензорных компрессоров ZipNN и DFloat11. При практической конфигурации параллелизма Brevis достигает скорости 3,60 ГБ/с на сжатии и 6,61 ГБ/с на распаковке, сохраняя при этом каждый байт исходных данных.
Ключевые факты
- Brevis формулирует сжатие тензоров без потерь как задачу синтеза программ, а не применяет заранее заданный алгоритм.
- Типизированный DSL с обратимыми операторами описывает повторяющиеся структуры тензоров: повторяющиеся блоки и поля с плавающей точкой.
- На 10 публичных чекпоинтах (языковые, аудио и генеративные модели изображений) объём данных снижен с 2,13 ТБ до 1,41 ТБ, на 33,93%.
- Архивы Brevis до 30,87% компактнее, чем у четырёх универсальных компрессоров (включая zstd и gzip), и меньше, чем у специализированных ZipNN и DFloat11.
- Скорость: 3,60 ГБ/с на сжатии и 6,61 ГБ/с на распаковке при практической конфигурации параллелизма, без потери ни одного байта данных.
Почему это важно
Объём чекпоинтов моделей растёт быстрее, чем падает стоимость хранения, а архивация и передача таких файлов становятся всё дороже. Универсальные компрессоры не учитывают структуру тензоров, а специализированные жёстко привязаны к формату. Brevis формулирует задачу как синтез программ: компактная самодостаточная программа восстанавливает тензор побитово точно, что даёт выигрыш и в размере архива, и в скорости обработки по сравнению с прежними подходами.
Кому это важно
Инженерам ML-инфраструктуры и командам, которые отвечают за хранение, архивацию и передачу чекпоинтов больших моделей, языковых, аудио и генеративных моделей изображений, и у кого с ростом числа и размера чекпоинтов растут расходы на хранилище и время развёртывания.
Как это применить
Brevis обучается на небольшой репрезентативной выборке тензоров конкретного чекпоинта, затем ограниченным поиском A* синтезирует компактную программу на собственном DSL; синтезированная программа далее используется напрямую для быстрой побитово точной распаковки. При практической конфигурации параллелизма это даёт 3,60 ГБ/с на сжатии и 6,61 ГБ/с на распаковке.
Можно ли доверять
Метод проверен на 10 публичных чекпоинтах разных типов моделей и сопоставлен напрямую с четырьмя универсальными компрессорами (включая zstd и gzip) и двумя специализированными тензорными компрессорами (ZipNN, DFloat11), цифры получены на прямом сравнении, а не только в теории. При этом источник не раскрывает названия конкретных чекпоинтов и не даёт разбивку выигрыша по каждому из четырёх универсальных компрессоров отдельно.
Риски и подводные камни
В тексте не указаны авторы работы, дата публикации и аппаратные детали за цифрами пропускной способности, упомянута лишь «практическая конфигурация параллелизма» без подробностей. Неясно, сколько времени занимает синтез программы для одного чекпоинта и насколько подход масштабируется на ещё большие или более разнородные модели.