What Matters in Transformers? Not All Attention is Needed
Занятная статья про исследование важности слоев в трансформере для ускорения и довольно неожиданный результат, как минимум для меня
🪄Цель: проверить избыточность компонент в LLM для ускорения без потери качества
🪄Как именно:
💛разработали метрику, основанную на сходстве между входом и выходом слоя
💛обнаружили, что именно удаление части attention (половины примерно) приводит к потере 2,4% исходного качества (MMLU, WinoGrande и другие бенчи), но при этом ускорению до почти 50%
*️⃣*️⃣довольно неожиданно, если опираться на исследования важности именно attention части и наблюдения важности этой части для производительности в среднем
💛причем одиночное удаление MLP блоков приводило к большим потерям, а вот с “Joint Layer Drop” (одновременное удаление Attention и MLP) позволило увеличить уровень оптимизации))
Риски результатов, которые я вижу:
💛непонятно на сколько это общий подход, который сработает не только на текстовых LLM
💛довольно ресурсоемко
💛Если хочется решить предыдущую проблему, взяв уже обрезанную модель и дофайнтюнить, то тут модель может изменить значения в слоях и все пойдет через задницу. Опять же, использовать модель через in-context learning на специфичные домены может быть не результативным
😬Итог: думайте сами, решайте сами. Резы занятные, идее лайк
📖Папир
🖥Код