Как худеют нейросети: вместе с лабораторией искусственного интеллекта компании «Криптонит» рассказываем, как большие модели делают стройнее.
Топовые нейросети хороши всем, кроме размера. Поэтому для ИИ-монстров с каждым годом нужно всё больше памяти. Чтобы запускать нейронки на потребительском железе, нужно как-то умерить их аппетиты. Для этого существуют методы оптимизации.
Обрезка (pruning) — метод оптимизации, напрямую уменьшающий количество параметров модели.
Он заключается в удалении не просто отдельных весов, а целых нейронных ансамблей, которые несущественно влияют на выход модели.
Дистилляция знаний (knowledge distillation) — метод переноса «знаний» из большой модели (учителя) в меньшую (ученика). Один из популярных вариантов сделать это — применить softmax-регрессию.
При таком подходе «знания» передаются за счёт минимизации функции потерь: модель «учитель» и модель «ученик» получают на вход одинаковые данные, после чего сравниваются их вероятностные результаты на выходе — чем они ближе к друг другу, тем лучше.
Дистилляция работает аккуратнее обрезки. Она позволяет создавать компактные модели с минимальной потерей качества.
Квантование (quantization) — это метод оптимизации за счёт представления весов с меньшей точностью. Стандартная точность означает использование 32-битного формата с плавающей запятой (FP32). Однако использовать 4 байта на каждый параметр для больших моделей невозможно. Поэтому GPT-4 и другие монстры довольствуются половинной точностью (FP16).