глоссарий

Diff pruning

Diff pruning

Diff pruning — это метод сжатия нейросети, когда после дообучения сохраняют не все веса, а только их изменения относительно исходной модели. По сути, это разреженная маска: она оставляет нужные правки и обнуляет лишние.

Зачем это важно. Современные модели содержат сотни миллионов параметров, и дообучение под каждую задачу даёт почти такой же объём весов. Хранить десятки вариантов дорого. Diff pruning сокращает память в десятки раз, ускоряет загрузку, сохраняя точность. Плюс это упрощает развёртывание: вместо загрузки полной модели под каждый сервис достаточно подгрузить общий оригинал и небольшой набор правок.

Как это работает. Представьте учебник с пометками на полях. Чтобы поделиться знаниями, не нужно копировать всю книгу — достаточно передать список правок. Так и с моделью: при дообучении она учится не только предсказывать, но и выбирать важные обновления весов. Механизм разреженности обнуляет лишнее, и в итоге сохраняется лишь небольшой файл с отклонениями от исходных весов.

Прикладной пример: хотим запустить четыре модели анализа тональности отзывов. Одна копия BERT весит 400 мегабайт, все четыре — 1,6 гигабайта. Diff pruning оставляет только пять процентов обновлений, поэтому каждая модель занимает 20 мегабайт. Точность падает меньше чем на процент.

Итог. Diff pruning — это элегантный способ хранить много дообученных моделей дёшево: маленький файл правок плюс общая база. Такой подход особенно полезен в продакшене, где важны память и скорость.