Не так давно видела замечательный обзор статьи в одном из каналов. Суть работы в том, что чуваки сделали прунинг сетки с помощью предсказания маленького классификатора (отключаем то, что предсказано на данном шаге). В то время, как классическим исследования прунинга для LM была гипотеза лотерейных билетов (отключали параметры без каких-либо правил, переодически выигрывали в качестве). Потом пришли к ряду методов по типу child-tuning (отключаем по статистическим оценкам). Сейчас от величин описательной статистики, которые подразумевают под собой сводку правил для управления методами обучением, мы переходим к простеньким классификаторам. И это логично, потому что понять правила отключения параметров мы не можем, а когда мы не можем понять зависимость, надо применять ИИ, которое тоже хз как работает )).
В общем то, в моем понимании очень перспективно принимать решения для обучения на сводке правил, если понимаем характер зависимостей и простенькие MLP, если не понимаем, когда и что включать
Да и уже давно индустрия не теряет возможности внедрить помощь ИИ для улучшения самого ИИ.
Примеры:
💛 Синтетическая разметка, чистка данных, как в phi-1.5
💛 DALLE 2 . Когда, самой моделью подбирают гиперпараметры и проводят eval.
💛 BLIP caption-ы для картинок собирали уже давно. Просто отфильтруйте на hf в разделе datasets по слову blip, там с 22 года накопилось очень много таких датасетов
И многое другое
Думала я обо всем этом и наткнулась на интересный метод UNIPELT, который как раз включает PEFT методы на основе линейных слоев. Понятное дело бенч выше, чем у методов, которые работают в одиночку, но это еще не все. Взяли для экспериментов: LoRA, Prefix-tuning, адаптеры и BitFit. И больше всего меня заинтересовали выводы, которые были сделаны после экспериментов включения той или иной части:
🅰️ Адаптеры достаточно стабильно держат метрику качества при любых задачах, но не превосходят настройку всей модели этого же размера. Делаем выводы, что можно взять всегда модель побольше, но уместить ее на карте с адаптером, тогда будет выигрыш относительно маленького размера
🔠 Рассматриваем prefix-tuning. Неплохо себя показывается длина префикса в границах от 100 до 500, но если ставим 1000, результаты метрики становятся больше дообучения всей модели!!!
🅱️ BitFit вообще убрали из эксперимента из-за плохого качества в их сетапе. Неужели результативность BitFit в оригинальной статье – это просто черепикнутые примеры?🤔
🔠 LoRA может превосходить адаптер на многих задачах, еще и зажирать меньше параметров, но на QQP и STS-B метрика намного ниже конкурентных методов PEFT. С чем связано? Возможно в матрицах низкого ранга утеряны важные параметры модели
🖥 Код
#PEFT
В общем то, в моем понимании очень перспективно принимать решения для обучения на сводке правил, если понимаем характер зависимостей и простенькие MLP, если не понимаем, когда и что включать
Да и уже давно индустрия не теряет возможности внедрить помощь ИИ для улучшения самого ИИ.
Примеры:
И многое другое
Думала я обо всем этом и наткнулась на интересный метод UNIPELT, который как раз включает PEFT методы на основе линейных слоев. Понятное дело бенч выше, чем у методов, которые работают в одиночку, но это еще не все. Взяли для экспериментов: LoRA, Prefix-tuning, адаптеры и BitFit. И больше всего меня заинтересовали выводы, которые были сделаны после экспериментов включения той или иной части:
#PEFT