Notice: file_put_contents(): Write of 4823 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50

Warning: file_put_contents(): Only 16384 of 21207 bytes written, possibly out of free disk space in /var/www/tgoop/post.php on line 50
gonzo-обзоры ML статей@gonzo_ML P.2500
GONZO_ML Telegram 2500
Griffin: Mixing Gated Linear Recurrences with Local Attention for Efficient Language Models
Soham De, Samuel L. Smith, Anushan Fernando, Aleksandar Botev, George Cristian-Muraru, Albert Gu, Ruba Haroun, Leonard Berrada, Yutian Chen, Srivatsan Srinivasan, Guillaume Desjardins, Arnaud Doucet, David Budden, Yee Whye Teh, Razvan Pascanu, Nando De Freitas, Caglar Gulcehre
Статья: https://arxiv.org/abs/2402.19427

На днях вышла открытая RecurrentGemma (https://arxiv.org/abs/2404.07839), построенная на архитектуре Griffin. Сам Griffin был опубликован DeepMind’ом в конце февраля 2024. Разберём же его.

Работа вертится вокруг нового рекуррентного блока, RG-LRU, на котором построены архитектуры Hawk (чередование RG-LRU и MLP) и Griffin (чередование MLP со смесью RG-LRU и локального внимания). Hawk при этом бьёт Mamba (https://www.tgoop.com/gonzo_ML/2148) аналогичного размера, а Griffin обходит Llama-2, обучаясь на вшестеро меньших данных.

Архитектура строится на повторяющихся residual blocks, похожих на используемые в pre-norm трансформерах: (RMSNorm + Temporal mixing block) и (RMSNorm + MLP block), оба с residual connection поверх.

В качестве MLP block используется gated блок аналогичный GeGLU имени Ноама Шазира (https://arxiv.org/abs/2002.05202, в текущей работе его назвали GeGeLU): с двумя ветвями размерности M*D каждая (в работе выбрано M=3, то есть эмбеддинги расширяются), в одной ветви сидит нелинейность GeLU, а в другой считаются коэффициенты для поэлементного умножения, после которого слитые ветви обрабатываются ещё одним линейным слоем.

Самая интересная и вариабельная часть -- Temporal mixing block. Их три варианта: 1) global Multi-Query Attention (MQA), 2) local (sliding-window) MQA 3) и новый рекуррентный блок.

Вариант 1 (MQA, https://arxiv.org/abs/1911.02150 тоже имени Ноама Шазира) это замена классического Multi-Head Attention (MHA), где K и V общие для всех голов. Используются позиционные эмбеддинги RoPE.

Вариант 2 с локальным вниманием (оно же sliding window attention) аналогичен локальному вниманию в Longformer (https://www.tgoop.com/gonzo_ML/294). Окно локального внимания установлено в 1024 токена.

Наконец вариант 3 напоминает блок из Мамбы (https://www.tgoop.com/gonzo_ML/2153), где тоже две ветви, в одном из которых всё тот же GeLU как в MLP, а в другом одномерная свёртка + RG-LRU слой.

Сам RG-LRU (Real-Gated Linear Recurrent Unit) -- это развитие LRU (https://www.tgoop.com/gonzo_ML/1734) с двумя добавленными гейтами, не зависящими от предыдущего рекуррентного состояния, только от входа. Input gate 𝑖_t аналогичен таковому из LSTM, он фильтрует или масштабирует вход. Второй гейт, recurrence gate 𝑟_t, нов и может приближённо интерполировать между стандартным апдейтом LRU из оригинальной работы и предыдущим скрытым состоянием, тем самым отбрасывая входные данные и сохраняя информацию из прошлого. В приложении A подробнее разбирается поведение рекуррентного гейта.

Для инициализации RG-LRU _не_ используются полиномы по типу HiPPO или дискретизация по типу SSM. Также не используются комплексные числа в рекуррентности, как это было в LRU. В приложении B также рассмотрен комплекснозначный вариант под названием CG-LRU (Complex-Gated Linear Recurrent Unit). Он более выразителен, но языковому моделированию на практике не помогает.

Результаты интересные. Рассматриваются три варианта:

1) MQA-Transformer в качестве бейзлайна

2) Hawk с тем же residual и MLP как у трансформерного бейзлайна, но с рекуррентным блоком с RG-LRU в качестве temporal mixing block.

3) Griffin с тем же residual и MLP как у трансформерного бейзлайна, но с миксом рекуррентных и локальных MQA блоков (через каждые два residual блока c RG-LRU, один блок с локальным вниманием).
👍1354



tgoop.com/gonzo_ML/2500
Create:
Last Update:

Griffin: Mixing Gated Linear Recurrences with Local Attention for Efficient Language Models
Soham De, Samuel L. Smith, Anushan Fernando, Aleksandar Botev, George Cristian-Muraru, Albert Gu, Ruba Haroun, Leonard Berrada, Yutian Chen, Srivatsan Srinivasan, Guillaume Desjardins, Arnaud Doucet, David Budden, Yee Whye Teh, Razvan Pascanu, Nando De Freitas, Caglar Gulcehre
Статья: https://arxiv.org/abs/2402.19427

На днях вышла открытая RecurrentGemma (https://arxiv.org/abs/2404.07839), построенная на архитектуре Griffin. Сам Griffin был опубликован DeepMind’ом в конце февраля 2024. Разберём же его.

Работа вертится вокруг нового рекуррентного блока, RG-LRU, на котором построены архитектуры Hawk (чередование RG-LRU и MLP) и Griffin (чередование MLP со смесью RG-LRU и локального внимания). Hawk при этом бьёт Mamba (https://www.tgoop.com/gonzo_ML/2148) аналогичного размера, а Griffin обходит Llama-2, обучаясь на вшестеро меньших данных.

Архитектура строится на повторяющихся residual blocks, похожих на используемые в pre-norm трансформерах: (RMSNorm + Temporal mixing block) и (RMSNorm + MLP block), оба с residual connection поверх.

В качестве MLP block используется gated блок аналогичный GeGLU имени Ноама Шазира (https://arxiv.org/abs/2002.05202, в текущей работе его назвали GeGeLU): с двумя ветвями размерности M*D каждая (в работе выбрано M=3, то есть эмбеддинги расширяются), в одной ветви сидит нелинейность GeLU, а в другой считаются коэффициенты для поэлементного умножения, после которого слитые ветви обрабатываются ещё одним линейным слоем.

Самая интересная и вариабельная часть -- Temporal mixing block. Их три варианта: 1) global Multi-Query Attention (MQA), 2) local (sliding-window) MQA 3) и новый рекуррентный блок.

Вариант 1 (MQA, https://arxiv.org/abs/1911.02150 тоже имени Ноама Шазира) это замена классического Multi-Head Attention (MHA), где K и V общие для всех голов. Используются позиционные эмбеддинги RoPE.

Вариант 2 с локальным вниманием (оно же sliding window attention) аналогичен локальному вниманию в Longformer (https://www.tgoop.com/gonzo_ML/294). Окно локального внимания установлено в 1024 токена.

Наконец вариант 3 напоминает блок из Мамбы (https://www.tgoop.com/gonzo_ML/2153), где тоже две ветви, в одном из которых всё тот же GeLU как в MLP, а в другом одномерная свёртка + RG-LRU слой.

Сам RG-LRU (Real-Gated Linear Recurrent Unit) -- это развитие LRU (https://www.tgoop.com/gonzo_ML/1734) с двумя добавленными гейтами, не зависящими от предыдущего рекуррентного состояния, только от входа. Input gate 𝑖_t аналогичен таковому из LSTM, он фильтрует или масштабирует вход. Второй гейт, recurrence gate 𝑟_t, нов и может приближённо интерполировать между стандартным апдейтом LRU из оригинальной работы и предыдущим скрытым состоянием, тем самым отбрасывая входные данные и сохраняя информацию из прошлого. В приложении A подробнее разбирается поведение рекуррентного гейта.

Для инициализации RG-LRU _не_ используются полиномы по типу HiPPO или дискретизация по типу SSM. Также не используются комплексные числа в рекуррентности, как это было в LRU. В приложении B также рассмотрен комплекснозначный вариант под названием CG-LRU (Complex-Gated Linear Recurrent Unit). Он более выразителен, но языковому моделированию на практике не помогает.

Результаты интересные. Рассматриваются три варианта:

1) MQA-Transformer в качестве бейзлайна

2) Hawk с тем же residual и MLP как у трансформерного бейзлайна, но с рекуррентным блоком с RG-LRU в качестве temporal mixing block.

3) Griffin с тем же residual и MLP как у трансформерного бейзлайна, но с миксом рекуррентных и локальных MQA блоков (через каждые два residual блока c RG-LRU, один блок с локальным вниманием).

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


Share with your friend now:
tgoop.com/gonzo_ML/2500

View MORE
Open in Telegram


Telegram News

Date: |

The channel also called on people to turn out for illegal assemblies and listed the things that participants should bring along with them, showing prior planning was in the works for riots. The messages also incited people to hurl toxic gas bombs at police and MTR stations, he added. A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more. Hashtags Your posting frequency depends on the topic of your channel. If you have a news channel, it’s OK to publish new content every day (or even every hour). For other industries, stick with 2-3 large posts a week. 4How to customize a Telegram channel?
from us


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