Базированная модель, часть 1
или почему RWKV/Mamba/RetNet не работали, но заработают.
Есть такая группа в Стэнфорде, HazyResearch. Это они сделали первые SSM (state space models) моделии их современные версии (H3, Hyena). Ну и всякие мелочи вроде FlashAttention.
На этот раз ребята начали с того, что обучили трансформеры / H3 / Hyena / RWKV не очень больших одинаковых размеров на 10B токенах из The Pile. Трансформеры выиграли!🤔
Возникает два вопроса: "кто виноват?" и "что делать?". На первый вопрос отвечает Zoology, на второй вопрос отвечает Based.
Кто виноват?
Zoology: Measuring and Improving Recall in Efficient Language Models, статья, пост 1, пост 2.
А виноваты оказались... повторяющиеся N-граммы🤨
То есть словосочетания, которые уже встречались в контексте. Ну, не все, только достаточно редкие, потому что частотные N-граммы любая модель хорошо запоминает. Пример такого редкого словосочетания: фамилия и имя какого-то человека, которые несколько раз встречаются в одном документе, и никогда больше не встречаются в обучающем корпусе.
Предсказание последнего токена такой повторяющейся N-граммы и вызывает трудности у моделей без внимания. В статье такие токены называют associatve recall hits, AR hits, и по ним отдельно считают перплексию. Для Гиены и RWKV разница перплексии на этих токенах полностью покрывает разницу в общей перплексии.
Самое забавное, что мы уже такое видели несколькими постами ранее, тут. Хронологически "Repeat After Me" вышла двумя месяцами позже, но эту статью они явно не читали, иначе бы их статья скорее всего не вышла бы😂
Теперь можно сформулировать, какая задача мешает не-трансформерам захватить мир. Задача называется multi-query associative recall (MQAR), и заключается она в поиске нескольких "иголок". Упрощенно она выглядит так:
В предыдущих работах показывали, что "одноиголочная" версия задачи вполне решается всеми моделями, но вот в случае языкового моделирования этого недостаточно. В реальных текстах повторяющиеся N-граммы встречаются часто, и обычно больше одной за раз: вот например только что "повторяющиеся N-граммы" повторились. И ещё раз🤣
В задаче нет ничего сложного, просто модели нужно вычислять, куда возвращаться-то, а для этого всё нужно "запомнить". И у внимания с этим проблем нет, оно это делает за квадратичное время и за независящую от длины входа внутреннюю размерность модели. А вот перечисленным выше не-трансформерам нужно растить внутреннюю размерность линейно от длины входа, но зато время лучше квадратичного.
Есть и намёки, как это исправить! Нужно всего лишь добавить капельку внимания, то есть делать гибриды😂
Однако ж нам не нужна полная маска внимания, и мы можем либо точечно влиять на AR hits ("programmatic selection" метод в статье), либо на основе входов предсказывать, для каких k токенов нужно включить внимание. Втыкают 3 слоя внимания на 6% параметров, и этого достаточно, чтобы добить бОльшую часть перплексии.
И наконец, 30 страниц доказательств!😱
Что вообще доказывают:
- Обзывают все используемые в статье не-трансформерные модели вентильными свёртками (gated convolutions).
- Вводят архитектурный блок BaseConv: y = linear(x) ⊙ conv(h, x), где x - вход, y - выход, ⊙ - покомпонентное произведение, h - обучаемый фильтр.
- Доказывают эквивалентность между Гиеной и BaseConv в смысле симуляции за константное количество слоёв.
- Доказывают, что BaseConv может симулировать арифметические схемы, то есть вычислять многочлены.
- Доказывают эквивалентность между RetNet и BaseConv, в которой BaseConv нужно в log(d) раз больше слоёв.
- Выводят теоретическую оценку сложности для BaseConv на нашей задаче, MQAR, через построение алгоритма с параллельным бинпоиском и оценку его сложности.
К сожалению, я не слишком хорош в математике, чтобы всё это нормально осознать.
Вывод
RWKV не работает, совсем без внимания никак, гибриды победят, синтетические бенчмарки рулят.
Второй пост будет, и будет про непосредственно Based.
или почему RWKV/Mamba/RetNet не работали, но заработают.
Есть такая группа в Стэнфорде, HazyResearch. Это они сделали первые SSM (state space models) моделии их современные версии (H3, Hyena). Ну и всякие мелочи вроде FlashAttention.
На этот раз ребята начали с того, что обучили трансформеры / H3 / Hyena / RWKV не очень больших одинаковых размеров на 10B токенах из The Pile. Трансформеры выиграли!
Возникает два вопроса: "кто виноват?" и "что делать?". На первый вопрос отвечает Zoology, на второй вопрос отвечает Based.
Кто виноват?
Zoology: Measuring and Improving Recall in Efficient Language Models, статья, пост 1, пост 2.
А виноваты оказались... повторяющиеся N-граммы
То есть словосочетания, которые уже встречались в контексте. Ну, не все, только достаточно редкие, потому что частотные N-граммы любая модель хорошо запоминает. Пример такого редкого словосочетания: фамилия и имя какого-то человека, которые несколько раз встречаются в одном документе, и никогда больше не встречаются в обучающем корпусе.
Предсказание последнего токена такой повторяющейся N-граммы и вызывает трудности у моделей без внимания. В статье такие токены называют associatve recall hits, AR hits, и по ним отдельно считают перплексию. Для Гиены и RWKV разница перплексии на этих токенах полностью покрывает разницу в общей перплексии.
Самое забавное, что мы уже такое видели несколькими постами ранее, тут. Хронологически "Repeat After Me" вышла двумя месяцами позже, но эту статью они явно не читали, иначе бы их статья скорее всего не вышла бы
Теперь можно сформулировать, какая задача мешает не-трансформерам захватить мир. Задача называется multi-query associative recall (MQAR), и заключается она в поиске нескольких "иголок". Упрощенно она выглядит так:
Вход:
A 4 B 3 C 6 F 1 E 2
Запрос:
A ? C ? F ? E ? B ?
Ожидаемый выход:
4 6 1 2 3
В предыдущих работах показывали, что "одноиголочная" версия задачи вполне решается всеми моделями, но вот в случае языкового моделирования этого недостаточно. В реальных текстах повторяющиеся N-граммы встречаются часто, и обычно больше одной за раз: вот например только что "повторяющиеся N-граммы" повторились. И ещё раз
В задаче нет ничего сложного, просто модели нужно вычислять, куда возвращаться-то, а для этого всё нужно "запомнить". И у внимания с этим проблем нет, оно это делает за квадратичное время и за независящую от длины входа внутреннюю размерность модели. А вот перечисленным выше не-трансформерам нужно растить внутреннюю размерность линейно от длины входа, но зато время лучше квадратичного.
Есть и намёки, как это исправить! Нужно всего лишь добавить капельку внимания, то есть делать гибриды
Однако ж нам не нужна полная маска внимания, и мы можем либо точечно влиять на AR hits ("programmatic selection" метод в статье), либо на основе входов предсказывать, для каких k токенов нужно включить внимание. Втыкают 3 слоя внимания на 6% параметров, и этого достаточно, чтобы добить бОльшую часть перплексии.
И наконец, 30 страниц доказательств!
Что вообще доказывают:
- Обзывают все используемые в статье не-трансформерные модели вентильными свёртками (gated convolutions).
- Вводят архитектурный блок BaseConv: y = linear(x) ⊙ conv(h, x), где x - вход, y - выход, ⊙ - покомпонентное произведение, h - обучаемый фильтр.
- Доказывают эквивалентность между Гиеной и BaseConv в смысле симуляции за константное количество слоёв.
- Доказывают, что BaseConv может симулировать арифметические схемы, то есть вычислять многочлены.
- Доказывают эквивалентность между RetNet и BaseConv, в которой BaseConv нужно в log(d) раз больше слоёв.
- Выводят теоретическую оценку сложности для BaseConv на нашей задаче, MQAR, через построение алгоритма с параллельным бинпоиском и оценку его сложности.
К сожалению, я не слишком хорош в математике, чтобы всё это нормально осознать.
Вывод
RWKV не работает, совсем без внимания никак, гибриды победят, синтетические бенчмарки рулят.
Второй пост будет, и будет про непосредственно Based.