Также в работе используется специальная отличная от UT...
Также в работе используется специальная отличная от UT версия Dynamic Halting (механизма, определяющего, когда слою нужно остановиться) на основе stick-breaking process (https://en.wikipedia.org/wiki/Dirichlet_process#The_stick-breaking_process). Здесь сначала специальный MLP предсказывает вероятности остановки (halting probabilities) на основе эмбеддингов с предыдущего слоя. Затем считается вероятность остановки для каждого слоя с учётом, что все предыдущие перед ним не остановились. Если сумма halting probabilities не превысила порог (0.999), то продолжаем. В механизме внимания при обращении к другим токенам можно попасть как на уже остановившийся слой, так и на ещё считающийся, соответственно надо брать эмбеддинг либо с последнего просчитанного слоя, либо с текущего. Формулировка SUT дополнительно позволяет задать специальный ACT-лосс, минимизирующий число считающихся слоёв.
Long story short, проверили на нескольких задачах.
На WMT’14 English-German, UT и SUT (E=24/48, k=?) весьма неплохи, достигают результатов, которые обычно достигали более крупные модели. SUT немного похуже UT по качеству (BLEU), но зато намного лучше по количеству вычислений. Провели ablation studies, на этой задаче MIM loss и MoMHA особенно добавляют качества. ACT loss и halting не очень.
На Compositional Freebase Questions (CFQ), где перевод из языка в запрос SPARQL, проверяется compositional generalization. Результат с UT (гиперпараметры с E=1, k=1 оказались лучшими, что соответствует обычному UT, а не SUT) лучше чем у бейзлайнов, особенно по количеству вычислений.
Также проверили на задаче Logical Inference (E=12, k=4), где есть последовательность логических операторов (0-6 в обучении, 7-12 в тесте). Есть два логических выражения и надо предсказать их эквивалентность, противоречивость и т.п. Здесь модель должна выучить иерархическую структуру проблемы. Решали конвертацией этого в задачу seq2seq перевода. Обычный трансформер здесь плох, LSTM является сильным бейзлайном, но SUT его побил. На специальных сплитах датасета для compositional generalization, на двух из трёх SUT лучший. При увеличении числа операторов average halting depth растёт, что логично -- модели приходится “дольше думать”.
Из дополнительных экспериментов на Long Range Arena Listops SUT побил трансформеров конкурентов.
После обучения можно уменьшать порог на сумму halting probabilities (относительно базового в 0.999) и таким образом сокращать объём вычислений. Для продакшн деплоймента может быть интересно. Это вообще классное свойство ACT. На задаче Logical Inference не очень что-то меняется, там эта сумма быстро набирает большое значение, и более-менее всегда получается сокращение примерно половины вычислений относительно выполнения всех слоёв SUT. На CFQ поинтереснее, можно искать какой-то trade-off. Без потери итогового качества можно выбросить примерно 20% вычислений. На переводе можно порядка 9% вычислений выбросить.
Если поанализировать частоты, с которыми разным экспертам отправляются на обработку данные, то видна некоторая специализация экспертов.
Направление интересное. Пока не выглядит как game changer, но такая архитектура мне нравится. Вероятно, она какой-то более подходящий для некоторых задач inductive bias закладывает.
Long story short, проверили на нескольких задачах.
На WMT’14 English-German, UT и SUT (E=24/48, k=?) весьма неплохи, достигают результатов, которые обычно достигали более крупные модели. SUT немного похуже UT по качеству (BLEU), но зато намного лучше по количеству вычислений. Провели ablation studies, на этой задаче MIM loss и MoMHA особенно добавляют качества. ACT loss и halting не очень.
На Compositional Freebase Questions (CFQ), где перевод из языка в запрос SPARQL, проверяется compositional generalization. Результат с UT (гиперпараметры с E=1, k=1 оказались лучшими, что соответствует обычному UT, а не SUT) лучше чем у бейзлайнов, особенно по количеству вычислений.
Также проверили на задаче Logical Inference (E=12, k=4), где есть последовательность логических операторов (0-6 в обучении, 7-12 в тесте). Есть два логических выражения и надо предсказать их эквивалентность, противоречивость и т.п. Здесь модель должна выучить иерархическую структуру проблемы. Решали конвертацией этого в задачу seq2seq перевода. Обычный трансформер здесь плох, LSTM является сильным бейзлайном, но SUT его побил. На специальных сплитах датасета для compositional generalization, на двух из трёх SUT лучший. При увеличении числа операторов average halting depth растёт, что логично -- модели приходится “дольше думать”.
Из дополнительных экспериментов на Long Range Arena Listops SUT побил трансформеров конкурентов.
После обучения можно уменьшать порог на сумму halting probabilities (относительно базового в 0.999) и таким образом сокращать объём вычислений. Для продакшн деплоймента может быть интересно. Это вообще классное свойство ACT. На задаче Logical Inference не очень что-то меняется, там эта сумма быстро набирает большое значение, и более-менее всегда получается сокращение примерно половины вычислений относительно выполнения всех слоёв SUT. На CFQ поинтереснее, можно искать какой-то trade-off. Без потери итогового качества можно выбросить примерно 20% вычислений. На переводе можно порядка 9% вычислений выбросить.
Если поанализировать частоты, с которыми разным экспертам отправляются на обработку данные, то видна некоторая специализация экспертов.
Направление интересное. Пока не выглядит как game changer, но такая архитектура мне нравится. Вероятно, она какой-то более подходящий для некоторых задач inductive bias закладывает.
Источник: gonzo-обзоры ML статей
2023-10-22 22:02:53