Так, обещала обзор на адаптеры, делаю на весь зоопарк PEFT
В общем-то недавно, все резко вспомнили о существовании параметрической эффективной настройки, ну а чтобы было привычно для слуха, про PEFT.
(решение которое на самом деле выходило еще в те годы, когда появлялись большие модели по типу Bert. Тогда как раз и предлагали эффективные решения для обучения путем обучения не на всех параметрах)
В приложении предлагаю посмотреть👀 на целый зоопарк таких методов. Увидеть, что на самом деле их большое множество. Они делятся на группы. Можно наверняка уже заприметить знакомые слуху сокращения
Давайте рассмотрим по группам:
Adapters
Идея очень проста: наверняка все слышали о способе transfer learning, когда мы замораживаем слои, добавляем новые, и дообучаем только [добавленные нами]/[добавленные и те, что мы не заморозили в сетке]. Вот тут идея такая же, мы добавляем отдельные слои в разные части сетки, которых в целом может быть сколько угодно. И так обучаемся. В чем проблема? Сеть становится слишком глубокой, это накладывает ограничение при ее инференсе
Selective methods
Теперь представьте, что мы можем не бездумно внедрять эти адаптивные слои, а на основе статистических метрик или результатов обучения производить выборочную адаптацию определенных слоев
Soft promts
Теперь отойдем от добавляемых слоев, и подумаем, что аналогично вышеперечисленному можно оптимизировать, чтобы заморозить все остальные веса? Я бы не придумала, а умные люди в 20-ые годы поняли, что можно подать вместе с запросом, еще некоторую подсказку и оптимизировать только это подсказку. Соответсвенно остальные веса входной последовательности заморозить. Тем самым мы уменьшаем количество параметров во время тренировки и тратим меньше ресурсов
Вот именно методы soft prompts и adapters на самом деле представляли изначально общую группу под названием additive methods.Название говорит само за себя . И, как можно было уже догадаться, суть этой группы в том, чтобы добавить что-то новое, что будет пересчитываться во время ft, а остальное будет заморожено
Ну и на десерт Reparametrization-based methods
Работают они за счет изменения параметров модели таким образом, чтобы можно было получить новые выборки из распределения путем нахождения низкорангового приближения матрицы.
Данные представлены в виде матрицы, где строки представляют объекты, а столбцы представляют признаки объектов. В некоторых случаях, матрицы данных могут быть очень большими и содержать много шумовых признаков. Низкоранговые методы позволяют сократить размерность матрицы, оставив только наиболее информативные признаки.
Го марафон разбора каждого метода в отдельности? Пишите в комментах с чего начать🤓
В общем-то недавно, все резко вспомнили о существовании параметрической эффективной настройки, ну а чтобы было привычно для слуха, про PEFT.
(решение которое на самом деле выходило еще в те годы, когда появлялись большие модели по типу Bert. Тогда как раз и предлагали эффективные решения для обучения путем обучения не на всех параметрах)
В приложении предлагаю посмотреть
Давайте рассмотрим по группам:
Adapters
Идея очень проста: наверняка все слышали о способе transfer learning, когда мы замораживаем слои, добавляем новые, и дообучаем только [добавленные нами]/[добавленные и те, что мы не заморозили в сетке]. Вот тут идея такая же, мы добавляем отдельные слои в разные части сетки, которых в целом может быть сколько угодно. И так обучаемся. В чем проблема? Сеть становится слишком глубокой, это накладывает ограничение при ее инференсе
Selective methods
Теперь представьте, что мы можем не бездумно внедрять эти адаптивные слои, а на основе статистических метрик или результатов обучения производить выборочную адаптацию определенных слоев
Soft promts
Теперь отойдем от добавляемых слоев, и подумаем, что аналогично вышеперечисленному можно оптимизировать, чтобы заморозить все остальные веса? Я бы не придумала, а умные люди в 20-ые годы поняли, что можно подать вместе с запросом, еще некоторую подсказку и оптимизировать только это подсказку. Соответсвенно остальные веса входной последовательности заморозить. Тем самым мы уменьшаем количество параметров во время тренировки и тратим меньше ресурсов
Вот именно методы soft prompts и adapters на самом деле представляли изначально общую группу под названием additive methods.
Ну и на десерт Reparametrization-based methods
Работают они за счет изменения параметров модели таким образом, чтобы можно было получить новые выборки из распределения путем нахождения низкорангового приближения матрицы.
Данные представлены в виде матрицы, где строки представляют объекты, а столбцы представляют признаки объектов. В некоторых случаях, матрицы данных могут быть очень большими и содержать много шумовых признаков. Низкоранговые методы позволяют сократить размерность матрицы, оставив только наиболее информативные признаки.
Го марафон разбора каждого метода в отдельности? Пишите в комментах с чего начать