DL in NLP
12.4K subscribers
547 photos
13 videos
27 files
1.1K links
Новости и обзоры статей на тему обработки естественного языка, нейросетей и всего такого.

Связь: @dropout05 (рекламы нет)
Download Telegram
Тут понадобилось написать минимальную версию self-attention. Уместился в 15 строчек (основная логика - в 3). Может быть кому-то поможет лучше понять этого зверя.
Тогда и multihead-версию почему бы не сделать. 30 строчек, логика в 7. Кстати кто заметил небольшой косяк в прошлом посте - тот молодец.
Мне тут напомнили про einops. Такой NamedTensor, но работающий уже сейчас. Помогает меньше путаться в размерностях и уменьшает количество .transpose и .view в вашем коде. На первый взгляд удобно, попробуем. Кстати автор либы - @arogozhnikov есть в чате, можете задать ему свои вопросы.
Немножко контекста: "Every time I fire a linguist, the performance of the speech recognizer goes up" (Jelinek, IBM)
Forwarded from b b
On Identifiability in Transformers
Brunner et al. [ETH Zurich]
arxiv.org/abs/1908.04211

Вторая волна анализа attentiion пошла! :parrot:
В этой статье авторы тоже говорят, что использовать attention weights для интерпретации - это плохая идея и даже дают формальное описание почему (но как по мне их определениие "идентифицируемости" слишком строгое и поэтому далеко от реальности). Из интересного тут то, что они предлагают ещё один метод анализа attention, который, аналогично Attention Module is Not Only a Weight показывает, что CLS и SEP токены не так важны.

Дальше интереснее: их эксперименты показывают две на первый взгляд противоречащих штуки.
1. Токен достаточно хорошо сопоставляется его эмбеддингу в том числе в последних слоях трансформера
2. Эмбеддинги различных слов сильно смешиваются внутри трансформера

То есть с одной стороны мы можем сказать, что 4 токен действительно соответствует 4 слову, но с другой - в нём очень много информации про другие слова. В принципе это ровно то, что мы имеем в виду под контекстуализированными эмбеддингами, но зато теперь мы имеем экспериментальное подтверждение этого.
WandB всё больше хотят в enterprise.
Во-первых увидел у них WandB Artifacts, про который пока известна только одна картинка, но вообще ML-ориентированное хранилище артефактов звучит отлично для прода. Скорее всего, конечно, у вас уже своё наколеночное решение, но всё же.
Во-вторых, оказывается их self-hosted решение работает даже на бесплатных аккаунтах. Всё что вам нужно - это докер. Тайпаете в терминал wandb local и получаете wandb.ai на localhost:8080 (документация). Не могу понять - баг это или фича, но я теперь вообще не вижу минусов в wandb.

UPD: чтобы потом вернуться обратно на облачное решение: wandb login --host=https://api.wandb.ai
Lite Transformer with Long-Short Range Attention
Wu et al. MIT
arxiv.org/abs/2004.11886

Статья про трюки, которые позволяют уменьшить трансформер в разы, ускорить его в разы (что не всегда совпрадает с уменьшением - см. ALBERT) и при этом почти не потерять (или даже приобрести) в метриках. Также много говорили про то, как запихать это в мобильный.

Трюки:
1. Не расширять пространство в FFN
2. Вместо одного self-attention обрабатывать половину вектора self-attention, а вторую - свёрткой

Код зарелижен, но мне читать его не понравилось
Сравнение с обычным трансформером
Are Transformers universal approximators of sequence-to-sequence functions?
Yun et al. [Google]
arxiv.org/abs/1912.10077

Вангую что в этом году мы увидим много статей с более математически строгим анализом attention.
Хорошим абстрактом для этой статьи было бы слово "Yes". В общем теперь у нас есть аналог Universal approximation theorem но для трансформеров и seq2seq.
Кроме этого авторы экспериментально показывают, что трансформеры используют не только локальный контекст (+- N слов), как CNN, но и глобальный (+- M слов, где M >> N). Для этого они заменяли слои attention в BERT на свёртки и смотрили на то, как меняется performance.
Сегодня случайно нашёл Сondensa от NVIDIA
Такой фреймворк, который попробует за вас сжать вашу модельку с помощью квантизации/прунинга/и ещё кучи техник, которые есть у него в арсенале, автоматически подберёт гиперпараметры (buzzword: байесовская оптимизация) и вообще такой AutoML. На первый взгляд выглядит интерресно.
Статейка с подробным описанием внутренностей.

UPD: последний коммит сделан 6 месяцев назад 😞
Подборка статей(+аннотации к ним) с ICLR от 🤗
тык
За ссылку спасибо @someotherusername
Подборка интересных новостей за последние дни:

1. Transformers v2.9 is out, with a built-in Trainer and TFTrainer 🔥(supports GPU, MultiGPU and TPU), examples
1. GitHub запустить бету Codespaces - такой VSCode в вашем гитхабе; записаться на early acess тут
1. DeepMind напоминает, что пока вы сидите дома пора учить RL
1. Этот канал как-то обходил подкаст AI Podcast with Lex Fridman стороной, но в последнем выпуске Ilya Sutskever - кофаундер OpenAI (youtube, apple podcasts, rss)