TG Telegram Group & Channel
gonzo-обзоры ML статей | United States America (US)
Create: Update:

Transformer Layers as Painters
Qi Sun, Marc Pickett, Aakash Kumar Nain, Llion Jones
Статья: https://arxiv.org/abs/2407.09298
Twitter: https://x.com/A_K_Nain/status/1812684597248831912
Код: https://github.com/floatingbigcat/transformer-as-painter (пока нет)

Вторая работа про творческий подход к вычислению трансформерных слоёв. Первая была про LayerShuffle (https://hottg.com/gonzo_ML/2845), в текущей работе от коллег GDE подход более радикальный, чем просто перемешивание слоёв.

Авторы предлагают интересную метафору для средних слоёв сети — конвейер художников. Входное полотно проходит через цепочку художников. Некоторые из них специализируются на рисовании птиц, другие на рисовании колёс. Получая полотно от предыдущего художника, каждый решает дорисовать ли чего где или отправить дальше без изменений. У всех художников общий словарь для понимания рисунков, так что не страшно, если художник получит на вход полотно от более раннего чем обычно художника. Их также можно поменять местами, большой катастрофы не произойдёт (даже если части фона будут дорисованы поверх уже нарисованных объектов). Художники даже могут рисовать одновременно впараллель.

Аналогия не претендует на научную точность, но помогает поднять кучу интересных вопросов: Используют ли слои общее пространство репрезентаций? Все ли слои необходимы? Вычисляют ли все средние слои одну и ту же функцию? Важен ли порядок слоёв? Можно ли вычислять слои впараллель? Более ли важен порядок вычисления для одних задач чем для других? Помогают ли циклы параллельно вычисляемым слоям? Какие варианты наименее вредят качеству?

Хорошие вопросы. Предыдущие работы типа LayerDrop и LayerShuffle покрывают лишь небольшую часть из этого.

LayerDrop проверяли на ViT, текущая работа сделана на предобученных LLM (декодерная Llama2 7B с 32 слоями и энкодерный BERT-Large 340M с 24 слоями), никакого файнтюнинга (кроме оценки на GLUE, где подразумевается файнтюнинг для берта). Для ламы проверяли на ARC (который от AI2, https://arxiv.org/abs/1803.05457, а не от Франсуа Шолле, https://github.com/fchollet/ARC-AGI), HellaSwag, GSM8K, WinoGrande, LAMBADA. Для берта вышеупомянутый GLUE.

Если посмотреть на результирующее качество при выкидывании слоя или при перестановке слоя с соседним, то оказывается, что начальный и конечный слои важны, а между ними всё более-менее устойчиво к таким манипуляциям. Выглядит так, что срединные слои используют общее пространство репрезентаций. Если дополнительно посмотреть на косинусную близость активаций слоёв внутри модели, то групп слоёв может даже больше: входной слой 0, слои 1-3, средние слои, последний или пара последних. Возможно у модели три разных пространства репрезентаций: для начальных, средних и конечных слоёв.

Если пропустить M слоёв (выкидываем слои из середины от N+1 до T-N, где T — это общее число слоёв в модели), то качество постепенно деградирует по мере увеличения M. Получается, что не все промежуточные слои необходимы, по крайней мере несколько средних слоёв могут быть выкинуты без катастрофической деградации.

Если в предыдущем эксперименте вместо выкидывания средних слоёв заменить их на копию центрального слоя, то результат получается намного хуже, чем если бы выкинуть. Это наиболее сильная деградация среди всех рассмотренных в работе. Отсюда вывод, что средние слои реализуют разные функции. В приложении дополнительно смотрят на косинусные близости и статистики активаций и делают вывод, что повторение среднего слоя выталкивает вход из общего пространства репрезентаций. Если художник рисует колёса, то рисование большего числа колёс на полотне приводит к тому, что художники после него будут вынуждены работать с тем, на чём не обучались.

Transformer Layers as Painters
Qi Sun, Marc Pickett, Aakash Kumar Nain, Llion Jones
Статья: https://arxiv.org/abs/2407.09298
Twitter: https://x.com/A_K_Nain/status/1812684597248831912
Код: https://github.com/floatingbigcat/transformer-as-painter (пока нет)

Вторая работа про творческий подход к вычислению трансформерных слоёв. Первая была про LayerShuffle (https://hottg.com/gonzo_ML/2845), в текущей работе от коллег GDE подход более радикальный, чем просто перемешивание слоёв.

Авторы предлагают интересную метафору для средних слоёв сети — конвейер художников. Входное полотно проходит через цепочку художников. Некоторые из них специализируются на рисовании птиц, другие на рисовании колёс. Получая полотно от предыдущего художника, каждый решает дорисовать ли чего где или отправить дальше без изменений. У всех художников общий словарь для понимания рисунков, так что не страшно, если художник получит на вход полотно от более раннего чем обычно художника. Их также можно поменять местами, большой катастрофы не произойдёт (даже если части фона будут дорисованы поверх уже нарисованных объектов). Художники даже могут рисовать одновременно впараллель.

Аналогия не претендует на научную точность, но помогает поднять кучу интересных вопросов: Используют ли слои общее пространство репрезентаций? Все ли слои необходимы? Вычисляют ли все средние слои одну и ту же функцию? Важен ли порядок слоёв? Можно ли вычислять слои впараллель? Более ли важен порядок вычисления для одних задач чем для других? Помогают ли циклы параллельно вычисляемым слоям? Какие варианты наименее вредят качеству?

Хорошие вопросы. Предыдущие работы типа LayerDrop и LayerShuffle покрывают лишь небольшую часть из этого.

LayerDrop проверяли на ViT, текущая работа сделана на предобученных LLM (декодерная Llama2 7B с 32 слоями и энкодерный BERT-Large 340M с 24 слоями), никакого файнтюнинга (кроме оценки на GLUE, где подразумевается файнтюнинг для берта). Для ламы проверяли на ARC (который от AI2, https://arxiv.org/abs/1803.05457, а не от Франсуа Шолле, https://github.com/fchollet/ARC-AGI), HellaSwag, GSM8K, WinoGrande, LAMBADA. Для берта вышеупомянутый GLUE.

Если посмотреть на результирующее качество при выкидывании слоя или при перестановке слоя с соседним, то оказывается, что начальный и конечный слои важны, а между ними всё более-менее устойчиво к таким манипуляциям. Выглядит так, что срединные слои используют общее пространство репрезентаций. Если дополнительно посмотреть на косинусную близость активаций слоёв внутри модели, то групп слоёв может даже больше: входной слой 0, слои 1-3, средние слои, последний или пара последних. Возможно у модели три разных пространства репрезентаций: для начальных, средних и конечных слоёв.

Если пропустить M слоёв (выкидываем слои из середины от N+1 до T-N, где T — это общее число слоёв в модели), то качество постепенно деградирует по мере увеличения M. Получается, что не все промежуточные слои необходимы, по крайней мере несколько средних слоёв могут быть выкинуты без катастрофической деградации.

Если в предыдущем эксперименте вместо выкидывания средних слоёв заменить их на копию центрального слоя, то результат получается намного хуже, чем если бы выкинуть. Это наиболее сильная деградация среди всех рассмотренных в работе. Отсюда вывод, что средние слои реализуют разные функции. В приложении дополнительно смотрят на косинусные близости и статистики активаций и делают вывод, что повторение среднего слоя выталкивает вход из общего пространства репрезентаций. Если художник рисует колёса, то рисование большего числа колёс на полотне приводит к тому, что художники после него будут вынуждены работать с тем, на чём не обучались.


>>Click here to continue<<

gonzo-обзоры ML статей




Share with your best friend
VIEW MORE

United States America Popular Telegram Group (US)