Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta-Optimizers
https://arxiv.org/abs/2212.10559Авторы говорят что In-Context Learing (ICL) или как мы привыкли промпт работают в GPT потому что в механизме внимания происходит что-то очень близкое к GD - мета файнтьюнинг на входных строках промта (на тех что обуславливаемся). Разница только в том что с GD это происходит явно за счет расчета градиентов, а GPT считает не явные мета-градиенты.
Но в начале был Шмидхубер ...
The Dual Form of Neural Networks Revisited: Connecting Test Time Predictions to Training Patterns via Spotlights of Attention (Kazuki Irie, Robert Csord, Jurgen Schmidhuber)
https://proceedings.mlr.press/v162/irie22a/irie22a.pdfЭто собственно откуда авторы продолжают свою работу. Начать лучше с пункта 2.2. в скриншотах и если понять что F(x) = (W0 + ∆W)x = W0x + LinearAttn(E, X' , x) (двойственная форма) то дальше это надо расписать для случая с промтом и все. Выкладка на следующем скриншоте начиная с формулы (10).
Что бы подтвердить теорию авторы измеряют похожесть для Attention Output Updates (SimAOU) и Attention Map (SimAM), Figure 2 & Figure 3 cooтвественно, чем выше тем лучше, метрики считались по нескольким запускам.
Потом авторы идут дальше и раз уж механизм внимания чем-то похож на GD то давайте прикрутим туда момент под капотом у которого будет cкользящее среднее.
Авторы тренируют две GPT модели 350м параметров с нуля где у одной есть момент, а у другой нет, в таблице 4 авторы показывают что модель с моментом на внимании работает лучше. (не оч. ясно на каком датасете)
Затем приводятся результаты для ICL (промт) в таблице 5. Кажется, что в такой постановке момент более полезен.
Из того что не понравилось:
1) Для анализа промта использовались достаточно однотипные задачи классификации да нет или сентимент. Понятно что на таком проще протестировать, а будет ли работать на чем то еще не понятно.
2) Такое ощущение что авторы попытались показать что момент улучшает процедуру обучения, но это один датасет, на понятно какой, улучшение хоть и стабильное, но кажется не сильно большое.
Из того что интересно:
Можно ли прикрутить момент к уже обученным моделям (обученным без него) и увеличит ли это качество ICL (промта). Не хочется же переобучать большие модели.