📌 Расскажите про альтернативы ансамблированию при файнтюнинге моделей?
Понятие «model soup» было предложено в папере 2022 года «Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time», написанном в соавторстве Google Research, Meta AI Research и несколькими университетами.
Для начала вспомним, как выглядит стандартный процесс обучения модели: мы обучаем модель с различными вариациями гиперпараметров, а затем выбираем лучшую из них, измерив качество на evaluation set. После этого все модели, кроме наилучшей, отправляются в корзину.
Авторы статьи предлагают отказаться от такого расточительства и найти применение оставшимся моделям. Это можно сделать с помощью ансамблирования, например, бэггинга: усреднять logits всех моделей. Однако в таком случае время инференса ансамбля увеличивается пропорционально количеству вошедших в него моделей.
Идея model soup заключается в том, чтобы усреднять не logits, а непосредственно веса моделей. В этом случае на инференсе мы запускаем лишь одну модель, и время не увеличивается.
Сравнение с ансамблями
Авторы приводят результаты тестирования бэггинга и различных рецептов «супов» при файнтюнинге модели CLIP ViT-B/32 на ImageNet. Accuracy оценивается как на тестовой выборке самого ImageNet, так и на distribution shift датасетах — ImageNet-V2, ImageNet-R, ImageNet-Sketch, ObjectNet, ImageNet-A.
Функции потерь нейронных сетей не являются выпуклыми, и при их минимизации решение может сходиться к разным локальным минимумам. Так почему же усреднение весов в случае файнтюнинга приводит к адекватному решению? Ответ кроется в папере Google 2020 года «What is being transferred in transfer learning?». Его авторы приходят к выводу, что при файнтюнинге предобученных моделей решения всех моделей остаются в окрестности одного и того же локального минимума (авторы называют её «basin» — «впадина»). В то же время модели, обученные с нуля, даже если они инициализированы одинаково, таким свойством не обладают.
Вдохновившись этим открытием, авторы model soup исследуют форму поверхности loss-функции и приходят к выводу, что среднее нескольких решений может лежать ближе к минимуму loss-функции, чем каждое из решений по отдельности.
Среднее двух решений, полученных с помощью файнтюнинга, может находиться ближе к минимуму функции.
Также можно заметить, что угол между решениями (обозначенный серыми стрелками на изображении выше) может влиять на точность среднего. Авторы предоставляют отдельное исследование данной зависимости и приходят к выводу, что чем ближе этот угол к 90°, тем больший выигрыш мы получаем при усреднении решений:
В свою очередь на угол между решениями влияет то, какой гиперпараметр мы изменяем. На изображении выше видно, как влияет изменение random seed, learning rate и аугментаций.
Подробнее.
@machinelearning_interview
Post #435
3.82K