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

Связь: @dropout05 (рекламы нет)
加入频道
Языковые модели прекрасны и люди находят все больше способов их применить.
На этот раз GPT-2 научили играть в шахматы.

slatestarcodex.com/2020/01/06/a-very-unlikely-chess-game

За ссылку спасибо @vaklyuenkov
Forwarded from исследовано
Всем привет! До 13 марта продолжается набор в аспирантскую школу по компьютерным наукам ВШЭ. Мы, как начинающая исследовательская группа по NLP, готовы принять 1-2 аспирантов. Если вам интересна исследовательская работа и вы готовы к поступлению в аспирантуру, пишите Кате Артемовой (тлг: @eartemova, почта: [email protected]) .

Ссылка на аспирантскую школу: https://aspirantura.hse.ru/cs/news/323871305.html

Страница группы: https://cs.hse.ru/ai/computational-pragmatics/
Пожалуйста, не пишите @dropout05 вопросы по курсу. Пишите их в форум курса или организаторам. Их контакты и остальные подробности есть в канале курса @dlinnlp2020spring
DL in NLP pinned «Пожалуйста, не пишите @dropout05 вопросы по курсу. Пишите их в форум курса или организаторам. Их контакты и остальные подробности есть в канале курса @dlinnlp2020spring»
From English To Foreign Languages: Transferring Pre-trained Language Models
Tran [Amazon Alexa AI]
arxiv.org/abs/2002.07306

Когда ты видишь статью с одним автором - это либо полный трэш, либо что-то действительно интересное. В случае с этой статьёй:
With a single GPU, our approach can obtain a foreign BERTbase model within a day and a foreign BERTlarge within two days

Основная идея:
1. Инициализировать эмбеддинги нового языка (L2) с помощью эмбеддингов старого языка (L1). Каждый эмбеддинг L2 - это взвешенная сумма некоторых эмбеддингов L1. Веса находят либо с помощью word transition probability (см. статистический MT) либо с помощью unsupervised embedding alignment (см. Artexe 2018)
2. Обучить эмбеддинги BERT на данных L2 (остальные веса заморожены)
3. Обучить BERT на данных L1 + L2

Результаты заметно лучше mBERT на XNLI и немножко лучше на dependency parsing. Абляционные исследования показывают, что инициализация критически важна.
Multi-Sample Dropout for Accelerated Training and Better Generalization
Inoue [IBM Research]
arxiv.org/abs/1905.09788

Main idea: instead of one dropout mask use a couple of them.

1. Can be easily implemented
1. Significantly accelerates training by reducing the number of iterations
1. Does not significantly increase computation cost per iteration
1. Lower error rates and losses for both the training set and validation set
The Annotated GPT-2
amaarora.github.io/2020/02/18/annotatedGPT2.html

Не знаю, при чём тут GPT-2, но в посте неплохо и довольно подробно описан transformer с кодом. А чем больше объяснений трансформера есть - тем лучше.
Если вы студент, вам интересно контрибьютить в opensource и вы хотите немного на этом подзаработать (~$4K / лето), то аплайтись на Google Summer of Code. Там много интересных проектов, включая TensorFlow.
Только начинайте уже сейчас, потому что вам в том числе нужно составить proposal проекта и согласовать его с потенциальными менторами.

summerofcode.withgoogle.com
Так как опять нет времени на более подробное описание, вот подборка статей/постов/новостей которые меня заинтересовали за последние пару недель

Блоги/новости:
1. How to train a new language model from scratch using Transformers and Tokenizers
1. Simple AI shortcuts speed up simulations by billions of times - нейросети могут ускорять физические вычисления
1. Matrix Compression Operator - про сжатие нейросеток

Статьи:
1. Revisiting Self-Training for Neural Sequence Generation
1. Conditional Self-Attention for Query-based Summarization
1. Does syntax need to grow on trees? Sources of hierarchical inductive bias in sequence-to-sequence networks (статья, блог) - исследование inductive bias различных нейросеток в контексте синтаксиса и иерархии
1. Neural Machine Translation with Joint Representation (статья, код) - новая хитрая архитектура, альтернатива трансформеру (+1 BLEU на NIST12)
В подборку must study курсов прибыло.
Stanford CS330 Deep Multi-Task and Meta Learning
cs330.stanford.edu

Ведёт его Chelsea Finn, которая очень известна в мире meta-learning (MAML, PEARL, unsupervised meta RL).

Видео лекций, домашки - всё уже доступно. Syllabus на первый взгляд тоже очень интересный.
Fixed Encoder Self-Attention Patterns in Transformer-Based Machine Translation
Raganato et al [University of Helsinki]
arxiv.org/abs/2002.10260

Весь прошлый год был полон статей по анализу BERT и трансформеров в общем. Одним из главных выводов было то, что self-attention не сильно умненький и в основном смотрит на предыдущее/следующее слово, начало/конец предложения, объединяет BPE в слова. Raganato et al. решили проверить, можно ли использовать несколько захардкоженых паттернов attention (вместо того, чтобы учить их)и получить хороший результат на MT. Ответ - да!

Абляционные исследования показывают, что самые важные паттерны: previous word, next word, left context. Что в общем ожидаемо. На удивление паттерн current word влияет очень слабо (на уровне посмотреть в начало предложения).

По-моему это показывает то, что мы дествительно совершили скачок в понимании внутренних представлений трансформеров в прошлом году.
Визуалиция паттернов
Полезный трэд от Geremy Howard, в котором (в 2 твита!) рассказывается о фундаменте интерфейса PyTorch - nn.Module и nn.Parameter.

Спойлер: вы узнаете, чем call() отличается от forward()

twitter.com/jeremyphoward/status/1233007425763991558
A Primer in BERTology: What we know about how BERT works
Rogers, Kovaleva and Rumshisky [UMass Lowell]
arxiv.org/abs/2002.12327

Новая статья от нашей лабы! И одновременно статья, которую вы, вероятно, ждали - обзор взякой бертятины: какие BERT-like модели существуют, какие синтаксические/семантические свойства содержатся в хидденах этих моделей, какие есть методы сжатия, мультиязычные модели на основе BERT итд.
Делать обзор обзорной статьи как-то неразумно, так что действительно просто рекомендую выбрать ту часть статьи, которая интересна вам больше всего и прочитать.
Пример использования PyTorch TPU для NER (сам код по ссылке на гитхабе, в колабе только вызывалка этого).
Всё ещё выглядит кривовато, но в прошлом году на подъём всего окружения нужно было потратить больше часа, а теперь всё работает за пару минут, так что советую почитать код и запустить колаб.

Интересно, что Lightning уже поддерживает TPU в две строчки:
1. При создании Trainer указать num_tpu_cores
1. Делать шаг оптимизатора с помощью torch_xla.core.xla_model.optimizer_step(optimizer) вместо обычного optimizer.step()

twitter.com/srush_nlp/status/1233161898268467206
Наткнулся на блогпост к уже довольно старой статье (How Does Batch Normalization Help Optimization? Santurkar et al., 2018). В посте довольно хорошо описывается интуиция за статьёй. Немножко матана прилагается - всё как вы любите.

И почему эта статья вообще важная: она показывает, что наша интуиция иногда ведёт к неправильным выводам и нужно всегда её проверять.

blog.paperspace.com/busting-the-myths-about-batch-normalization