Warning: mkdir(): No space left on device in /var/www/group-telegram/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/gonzo_ML/--): Failed to open stream: No such file or directory in /var/www/group-telegram/post.php on line 50
gonzo-обзоры ML статей | Telegram Webview: gonzo_ML/292 -
Telegram Group & Telegram Channel
Longformer: The Long-Document Transformer
Iz Beltagy, Matthew E. Peters, Arman Cohan
Статья: https://arxiv.org/abs/2004.05150
Код: https://github.com/allenai/longformer
Longformer также на подходе (Work in Progress) в общеизвестной библиотечке от Huggingface: https://huggingface.co/transformers/model_doc/longformer.html

Свежие трансформеры. На этот раз от Allen Institute for AI.

Общеизвестная проблема трансформера — квадратичная относительно размера входа сложность механизма внимания. Из-за этого, в частности, нет нормальной возможности работать с длинными документами, которые не влезают целиком в attention span трансформера (обычно не более 512 токенов). Приходится исхитряться, и наиболее частый подход -- резать на окна фиксированного размера (обычно с перекрытием) и бежать по всей последовательности, как-то потом агрегируя активации каждого из окон. Хочется уметь делать это естественнее.

Проблему уже пытались решить по-разному, например, через оптимизацию внимания или через внедрение какой-либо памяти.

Из подходов первого типа, которые наиболее на слуху, можно вспомнить, пожалуй, Sparse Transformer от OpenAI (https://arxiv.org/abs/1904.10509, https://www.group-telegram.com/cn/gonzo_ML.com/65) или Reformer от Гугла (https://arxiv.org/abs/2001.04451, https://www.group-telegram.com/cn/gonzo_ML.com/176). В первом были кастомные разреженные ядра, во втором приближённое вычисление внимания через locality-sensitive hashing. Из интересных был ещё также Adaptive attention span (https://arxiv.org/abs/1905.07799, https://www.group-telegram.com/cn/gonzo_ML.com/99).

Из второго типа можно вспомнить Transformer-XL (https://arxiv.org/abs/1901.02860, https://www.group-telegram.com/cn/gonzo_ML.com/62), а также недавний Compressive Transformer от DeepMind (https://arxiv.org/abs/1911.05507, https://www.group-telegram.com/cn/gonzo_ML.com/165).

В текущей работе делается очередной подход к разреженному вниманию, чтобы можно было работать с длинными документами.

Предлагается следующее: вместо полного n^2 внимания делаем более гибкие варианты, акцентирующиеся на локальном контексте (который в разных попытках изучения Берта показал свою важность), а также добавляем когда надо элементы глобального контекста.

Локальный контекст добавляется через внимание скользящим окном (разрешаем self-attention только внутри окна фиксированного размера), возможно также делая это окно разреженным (dilated). Это всё уже совсем похоже на свёртки, только не с фиксированным ядром, а с вычисляемым по данным. Такая работа в природе была, и хоть её представляли на ICLR 2019, всё равно она, кажется, несколько недооценена (https://arxiv.org/abs/1901.10430, Pay Less Attention with Lightweight and Dynamic Convolutions).

К локальному контексту добавляется глобальный для предопределённых входных позиций. В случае аналогичных берту задач классификации это позиция [CLS], или, например, позиции токенов вопроса для QA задач.

Соответственно в модель вводятся отдельные Q, K, V (если эти термины непонятны, то рекомендую лучшую статью по трансформеру, что я видел http://jalammar.github.io/illustrated-transformer/) для скользящего окна и для глобального внимания.

Полученные механизмы внимания скейлятся линейно относительно входа. Профит!

В этом месте есть инженерная проблема. Наивная реализация таких вариантов внимания слишком медленная, требуются кастомные ядра для CUDA. Это сделано с помощью Tensor Virtual Machine (TVM, https://tvm.apache.org/, https://arxiv.org/abs/1802.04799) с помощью которой можно описать функцию на сравнительно высокоуровневом питоноподобном языке (https://github.com/allenai/longformer/blob/master/longformer/diagonaled_mm_tvm.py#L52), а затем скомпилировать в целевую архитектуру, например, CUDA. Таким образом написали ядро, которое вполне сносно работает (но потенциал ускорения ещё есть).



group-telegram.com/gonzo_ML/292
Create:
Last Update:

Longformer: The Long-Document Transformer
Iz Beltagy, Matthew E. Peters, Arman Cohan
Статья: https://arxiv.org/abs/2004.05150
Код: https://github.com/allenai/longformer
Longformer также на подходе (Work in Progress) в общеизвестной библиотечке от Huggingface: https://huggingface.co/transformers/model_doc/longformer.html

Свежие трансформеры. На этот раз от Allen Institute for AI.

Общеизвестная проблема трансформера — квадратичная относительно размера входа сложность механизма внимания. Из-за этого, в частности, нет нормальной возможности работать с длинными документами, которые не влезают целиком в attention span трансформера (обычно не более 512 токенов). Приходится исхитряться, и наиболее частый подход -- резать на окна фиксированного размера (обычно с перекрытием) и бежать по всей последовательности, как-то потом агрегируя активации каждого из окон. Хочется уметь делать это естественнее.

Проблему уже пытались решить по-разному, например, через оптимизацию внимания или через внедрение какой-либо памяти.

Из подходов первого типа, которые наиболее на слуху, можно вспомнить, пожалуй, Sparse Transformer от OpenAI (https://arxiv.org/abs/1904.10509, https://www.group-telegram.com/cn/gonzo_ML.com/65) или Reformer от Гугла (https://arxiv.org/abs/2001.04451, https://www.group-telegram.com/cn/gonzo_ML.com/176). В первом были кастомные разреженные ядра, во втором приближённое вычисление внимания через locality-sensitive hashing. Из интересных был ещё также Adaptive attention span (https://arxiv.org/abs/1905.07799, https://www.group-telegram.com/cn/gonzo_ML.com/99).

Из второго типа можно вспомнить Transformer-XL (https://arxiv.org/abs/1901.02860, https://www.group-telegram.com/cn/gonzo_ML.com/62), а также недавний Compressive Transformer от DeepMind (https://arxiv.org/abs/1911.05507, https://www.group-telegram.com/cn/gonzo_ML.com/165).

В текущей работе делается очередной подход к разреженному вниманию, чтобы можно было работать с длинными документами.

Предлагается следующее: вместо полного n^2 внимания делаем более гибкие варианты, акцентирующиеся на локальном контексте (который в разных попытках изучения Берта показал свою важность), а также добавляем когда надо элементы глобального контекста.

Локальный контекст добавляется через внимание скользящим окном (разрешаем self-attention только внутри окна фиксированного размера), возможно также делая это окно разреженным (dilated). Это всё уже совсем похоже на свёртки, только не с фиксированным ядром, а с вычисляемым по данным. Такая работа в природе была, и хоть её представляли на ICLR 2019, всё равно она, кажется, несколько недооценена (https://arxiv.org/abs/1901.10430, Pay Less Attention with Lightweight and Dynamic Convolutions).

К локальному контексту добавляется глобальный для предопределённых входных позиций. В случае аналогичных берту задач классификации это позиция [CLS], или, например, позиции токенов вопроса для QA задач.

Соответственно в модель вводятся отдельные Q, K, V (если эти термины непонятны, то рекомендую лучшую статью по трансформеру, что я видел http://jalammar.github.io/illustrated-transformer/) для скользящего окна и для глобального внимания.

Полученные механизмы внимания скейлятся линейно относительно входа. Профит!

В этом месте есть инженерная проблема. Наивная реализация таких вариантов внимания слишком медленная, требуются кастомные ядра для CUDA. Это сделано с помощью Tensor Virtual Machine (TVM, https://tvm.apache.org/, https://arxiv.org/abs/1802.04799) с помощью которой можно описать функцию на сравнительно высокоуровневом питоноподобном языке (https://github.com/allenai/longformer/blob/master/longformer/diagonaled_mm_tvm.py#L52), а затем скомпилировать в целевую архитектуру, например, CUDA. Таким образом написали ядро, которое вполне сносно работает (но потенциал ускорения ещё есть).

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




Share with your friend now:
group-telegram.com/gonzo_ML/292

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

The regulator said it had received information that messages containing stock tips and other investment advice with respect to selected listed companies are being widely circulated through websites and social media platforms such as Telegram, Facebook, WhatsApp and Instagram. One thing that Telegram now offers to all users is the ability to “disappear” messages or set remote deletion deadlines. That enables users to have much more control over how long people can access what you’re sending them. Given that Russian law enforcement officials are reportedly (via Insider) stopping people in the street and demanding to read their text messages, this could be vital to protect individuals from reprisals. Friday’s performance was part of a larger shift. For the week, the Dow, S&P 500 and Nasdaq fell 2%, 2.9%, and 3.5%, respectively. The company maintains that it cannot act against individual or group chats, which are “private amongst their participants,” but it will respond to requests in relation to sticker sets, channels and bots which are publicly available. During the invasion of Ukraine, Pavel Durov has wrestled with this issue a lot more prominently than he has before. Channels like Donbass Insider and Bellum Acta, as reported by Foreign Policy, started pumping out pro-Russian propaganda as the invasion began. So much so that the Ukrainian National Security and Defense Council issued a statement labeling which accounts are Russian-backed. Ukrainian officials, in potential violation of the Geneva Convention, have shared imagery of dead and captured Russian soldiers on the platform. It is unclear who runs the account, although Russia's official Ministry of Foreign Affairs Twitter account promoted the Telegram channel on Saturday and claimed it was operated by "a group of experts & journalists."
from cn


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