Transformers learn to implement preconditioned gradient descent for in-context learning
Все знают про чудеса ин-контекст лернинга трансформеров. Более общим образом, если вы зададите в промпте последовательность, из которой можно вычленить какую-либо тенденцию, то моделька скорее всего сможет ее найти и реализовать на новом примере
В теории изучения ин-контекста часто проводят анализ на уровне линейной регрессии и семплов из нее. так вот, если вы в промпт зададите последовательность итераций градиентного спуска, то трансформер сможет ее повторить и спуститься в итоге к оптимуму
Но что если просто подавать тренировочные семплы, как любому супервайзд алгоритму? сможет ли трансформер на инференсе спуститься к оптимуму на произвольных данных, зная, что примеры определяются благодаря линейной функции?
Как оказывается - да. если обучать модель просто на задачу регрессии, то окажется, что внутри трансформер с L слоями производит L итераций (предусловленного предыдущей частью промпта) градиентного спуска, достигая оптимума или критической точки, в зависимости от разброса и входных данных (к которым он тоже по сути адаптируется)
Навевает много размышлений о том, как именно тогда получается обучившийся результат моделей - в соответствии с наименьшим сопротивлением (относительно архитектуры модели), но и так же в соответствии с теми алгоритмами, которые независимо от трансформера придумал человек
🤔
Кстати говоря, все эти теоретические выкладки произведены для линейного аттеншна. Если применять классический, то результат ухудшается. Но это только для линейной регрессии, а для реальных или более сложных задач - не факт
😈
👀LINK