Scaling Transformer to 1M tokens and beyond with
RMT
https://arxiv.org/pdf/2304.11062.pdf
Крутой резерч да еще и от DeepPavlov!
Статья Recurrent Memory Transformer вышла год назад, но завирусился сейчас именно этот технический репорт, где авторы применяют механизм конкретно к BERT
Схема может быть не очень понятная, но суть достаточно простая: длинный текст разбивают на отрывки, к началу первого отрывка добавляют обучаемый memory-вектор, он обрабатывается как часть входной последовательности. После форвард-пасса в этом векторе обновляется информация, его подают в начало следующего сегмента, и так реккурентно идут, пока не кончится исходный длинный текст. Во время тренировки, как синей линией показано, эти вектора обучаются через обычный бэкпроп
Проверяли способности модели на нескольких типах заданий: 1) в начале подается факт, который нужен для ответа на вопрос, а потом много нерелевантной информации 2) нужный факт замешан где-то в тексте и его нужно найти 3) нужно найти несколько фактов и исходя из них ответить на вопрос
При тренировке на 7 больших отрывках у модели получается accuracy в районе 100%. Авторы даже показывают, что размер текста можно до 2М токенов увеличить без существенной потери качества
Ограничений тут несколько:
- На инференсе вам все равно нужно прогнать через модель весь огромный текст в 1-2М токенов, а это долго, и ретривал пока для этого лучше работает
- В задачах, которые приводятся в статье, модели нужно вычленить один или несколько фактов, а не запомнить весь контекст. С этим относительно небольшой тренируемый вектор справляется, но нет уверенности, что этот подход сработает, если нужно запомнить сильно больше деталей
P.S. Шмидхубер опять был прав, когда сказал, что чем больше что-то похоже на RNN, тем лучше
RMT
https://arxiv.org/pdf/2304.11062.pdf
Крутой резерч да еще и от DeepPavlov!
Статья Recurrent Memory Transformer вышла год назад, но завирусился сейчас именно этот технический репорт, где авторы применяют механизм конкретно к BERT
Схема может быть не очень понятная, но суть достаточно простая: длинный текст разбивают на отрывки, к началу первого отрывка добавляют обучаемый memory-вектор, он обрабатывается как часть входной последовательности. После форвард-пасса в этом векторе обновляется информация, его подают в начало следующего сегмента, и так реккурентно идут, пока не кончится исходный длинный текст. Во время тренировки, как синей линией показано, эти вектора обучаются через обычный бэкпроп
Проверяли способности модели на нескольких типах заданий: 1) в начале подается факт, который нужен для ответа на вопрос, а потом много нерелевантной информации 2) нужный факт замешан где-то в тексте и его нужно найти 3) нужно найти несколько фактов и исходя из них ответить на вопрос
При тренировке на 7 больших отрывках у модели получается accuracy в районе 100%. Авторы даже показывают, что размер текста можно до 2М токенов увеличить без существенной потери качества
Ограничений тут несколько:
- На инференсе вам все равно нужно прогнать через модель весь огромный текст в 1-2М токенов, а это долго, и ретривал пока для этого лучше работает
- В задачах, которые приводятся в статье, модели нужно вычленить один или несколько фактов, а не запомнить весь контекст. С этим относительно небольшой тренируемый вектор справляется, но нет уверенности, что этот подход сработает, если нужно запомнить сильно больше деталей
P.S. Шмидхубер опять был прав, когда сказал, что чем больше что-то похоже на RNN, тем лучше
🔥22👍5👌1
tgoop.com/def_model_train/937
Create:
Last Update:
Last Update:
Scaling Transformer to 1M tokens and beyond with
RMT
https://arxiv.org/pdf/2304.11062.pdf
Крутой резерч да еще и от DeepPavlov!
Статья Recurrent Memory Transformer вышла год назад, но завирусился сейчас именно этот технический репорт, где авторы применяют механизм конкретно к BERT
Схема может быть не очень понятная, но суть достаточно простая: длинный текст разбивают на отрывки, к началу первого отрывка добавляют обучаемый memory-вектор, он обрабатывается как часть входной последовательности. После форвард-пасса в этом векторе обновляется информация, его подают в начало следующего сегмента, и так реккурентно идут, пока не кончится исходный длинный текст. Во время тренировки, как синей линией показано, эти вектора обучаются через обычный бэкпроп
Проверяли способности модели на нескольких типах заданий: 1) в начале подается факт, который нужен для ответа на вопрос, а потом много нерелевантной информации 2) нужный факт замешан где-то в тексте и его нужно найти 3) нужно найти несколько фактов и исходя из них ответить на вопрос
При тренировке на 7 больших отрывках у модели получается accuracy в районе 100%. Авторы даже показывают, что размер текста можно до 2М токенов увеличить без существенной потери качества
Ограничений тут несколько:
- На инференсе вам все равно нужно прогнать через модель весь огромный текст в 1-2М токенов, а это долго, и ретривал пока для этого лучше работает
- В задачах, которые приводятся в статье, модели нужно вычленить один или несколько фактов, а не запомнить весь контекст. С этим относительно небольшой тренируемый вектор справляется, но нет уверенности, что этот подход сработает, если нужно запомнить сильно больше деталей
P.S. Шмидхубер опять был прав, когда сказал, что чем больше что-то похоже на RNN, тем лучше
RMT
https://arxiv.org/pdf/2304.11062.pdf
Крутой резерч да еще и от DeepPavlov!
Статья Recurrent Memory Transformer вышла год назад, но завирусился сейчас именно этот технический репорт, где авторы применяют механизм конкретно к BERT
Схема может быть не очень понятная, но суть достаточно простая: длинный текст разбивают на отрывки, к началу первого отрывка добавляют обучаемый memory-вектор, он обрабатывается как часть входной последовательности. После форвард-пасса в этом векторе обновляется информация, его подают в начало следующего сегмента, и так реккурентно идут, пока не кончится исходный длинный текст. Во время тренировки, как синей линией показано, эти вектора обучаются через обычный бэкпроп
Проверяли способности модели на нескольких типах заданий: 1) в начале подается факт, который нужен для ответа на вопрос, а потом много нерелевантной информации 2) нужный факт замешан где-то в тексте и его нужно найти 3) нужно найти несколько фактов и исходя из них ответить на вопрос
При тренировке на 7 больших отрывках у модели получается accuracy в районе 100%. Авторы даже показывают, что размер текста можно до 2М токенов увеличить без существенной потери качества
Ограничений тут несколько:
- На инференсе вам все равно нужно прогнать через модель весь огромный текст в 1-2М токенов, а это долго, и ретривал пока для этого лучше работает
- В задачах, которые приводятся в статье, модели нужно вычленить один или несколько фактов, а не запомнить весь контекст. С этим относительно небольшой тренируемый вектор справляется, но нет уверенности, что этот подход сработает, если нужно запомнить сильно больше деталей
P.S. Шмидхубер опять был прав, когда сказал, что чем больше что-то похоже на RNN, тем лучше
BY я обучала одну модель



Share with your friend now:
tgoop.com/def_model_train/937
