tgoop.com/quant_prune_distill/121
Last Update:
Оптимальная степень прореживания
Исходя из полученных scaling law можно вывести оптимальную степень прореживания при заданном количестве ненулевых параметров и FLOPs, потраченных на обучение. Чем больше перебор по длительности обучения по сравнению с Chinchilla law, тем выгоднее иметь более сильное прореживание.
Авторы рассматривают два способа оценки количества FLOPs - 1) в предположении, что железо умеет идеально пропускать операции с нулевыми весами, 2) и в типичном сценарии - где операции со спарсными матрицами требуют столько же вычислений, как и с произвольными. Оба метода будут отличаться на некоторый фактор.
Контуры # pretraining FLOPs
против # non-zero parameters
для разных значений sparsity, при которых данная степень прореживания оптимальна, удивительным образом оказываются параллельны scaling law Chincilla. Однако, даже для Chincilla law оптимальным является ненулевое значение sparsity.
В предположении идеальной утилизации спарсности при обучении 50% модель требует в примерно 2 раза (для ViT), 3 раза (для T5) больше FLOPs чем предсказание Chincilla law для Dense модели. А без этого предположения 5x и 70x, соотвественно. Кажется, что это слишком много, но на самом деле современные языковые модели обучаются нередко значительно больше, чем compute-optimal значение. Например, LLama-2-7B обучалась в 14 раз больше.
Дальше можно задаться вопросом, а какого размера должна быть плотная модель при том же количестве FLOPs, чтобы иметь при том же количестве то же качество, что и sparse модель? Для 50% sparse модели соответствующая ей модель должна быть в 1.6x раз больше, и для 75% - 2.16x, т.е преимущество от sparsity уменьшается с увеличением степени прореживания. Примечательно, что закономерность примерно одна и та же, для ViT и T5, хотя модели и задачи совершенно разные.
Затем авторы исследуют scaling laws для полуструктурированной N:M sparsity (N ненулевых значений). Данный паттерн более ограничителен, потому закономерно ожидать, что он менее эффективен, чем произвольное расположение нулевых/ненулевых весов. 2:4 паттерн (поддерживаемый Nvidia GPU начиная с Ampere) не уступает 50% неструктурированной sparsity, а вот 1:4, 2:8 уже заметно хуже с точки зрения масштабирования, чем 75% sparsity.
BY КПД
Share with your friend now:
tgoop.com/quant_prune_distill/121