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

Связь: @dropout05 (рекламы нет)
加入频道
Давно тут ничего не было NLP-шного

RoBERTa: A Robustly Optimized BERT Pretraining Approach
Liu et al. [FAIR]
arxiv.org/abs/1907.11692

Абстракт абстракта:
We find that BERT was significantly undertrained, and can match or exceed the performance of every model published after it.

Авторы поигрались с бертом (а заодно переписали его на 🔥), сделали маскирование не статическое (только на этапе предобработки данных), а динамическое (генерировать новую маску каждый раз, когда видишь пример), посмотрели на NSP и сказали, что без него на самом деле лучше, а также подкрутили гиперпараметры. Вроде бы это всё, что я заметил, прочитав статью по диагонали, если что-то упустил - пишите в чат.

Ссылку нашёл в прекрасном канале @j_links
И немного безумных примеров того, что могут выучить модельки, если писать их быстро и криво (перевод посимвольный)
Спасибо @Cookie_theif за ссылку на WikiMatrix

Что это такое. Это параллельные корпуса текстов на 85 языках из распаршенной википедии. 132 млн предложений (это очень много) из которых всего 34 млн параллельные с английским (то есть он действительно многоязычный). Корпусов, как известно, много не бывает. Больших корпусов тем более.

Подход:
We use LASER's bitext mining approach and encoder for 93 languages. We do not use the inter-language links provided by Wikipedia, but search over all Wikipedia artickes of each language. We approach the computational challenge to mine in almost 600 million sentences by using fast indexing and similarity search with FAISS. Prior to mining parallel sentences, we perform sentence segmentation, deduplication and language identification.

Для того, чтобы скачать требуемую вам пару языков, достаточно wget’нуть ссылку вида
https://dl.fbaipublicfiles.com/laser/WikiMatrix/v1/WikiMatrix.xx-yy.tsv.gz
где xx-yy – это интересующая вас пара (например, ru-en).
Huawei Speech & Language организует в Москве серию NLP-митапов. Первый из них состоится 6 августа и будет посвящён бертоведению.

Докладчики:
Никита Сметанин, Replika.ai - ВERT for dialogs: production-scale approach
Михаил Архипов, iPavlov, МФТИ - Multilingualism of BERT
Invited speaker Dr. Qun Liu, Chief Research Scientist of Noah's Ark Lab, Huawei

Место: Ленинградский проспект, 36 стр. 11 (Офисный центр SOK Динамо)
Для участия нужна регистрация: sites.google.com/view/moscow-nlp
#rl
Мы довольно быстро движемся по яндексовому курсу и у нас получается около недели в запасе. Поэтому предлагаю в этот четверг встретиться в формате практического занятия на котором разберём самые интересные домашки и пофиксим баги друг друга.

Ну и, конечно, надо просмотреть и выполнить что можете по 7 8 9 лекциям
Они не такие сложные, как я думал (по крайней мере 7 и 8)

Время и место стандартные: 19 часов, 522 Цифра
не забудьте ноутбуки
#rl
Если вы всё ещё чувствуете, что не понимаете как работает policy gradient или actor-critic (что абсолютно нормально, я понял их раза с 4), очень советую внимательно просмотреть лекции Сергея Левина из Berkeley. Вместо примерно полуторачасового объяснения Яндекса с опусканием матана за всем этим вам предоставят почти 3 часа опускания матаном вас. Но если смотреть очень внимательно, всё очень хорошо объяснено.

1. Policy Gradients
2. Actor-Critic Algorithms

А ещё по-видимому мы закончим наш курс первой домашкой Berkeley cs294-112 по imitation learning
Кажется, я пропустил статью в которой unsupervised MT превзошёл supervised-модель 2014 года. Но факт забавный.
Некоторые статьи по анализу того, как работает BERT. Наверное, неплохо было бы их разобрать.

Visualizing and Measuring the Geometry of BERT
arxiv.org/pdf/1906.02715.pdf

Right for the Wrong Reasons: Diagnosing Syntactic Heuristics in Natural Language Inference
arxiv.org/abs/1902.01007

Probing Neural Network Comprehension of Natural Language Arguments
arxiv.org/abs/1907.07355

How multilingual is Multilingual BERT?
arxiv.org/pdf/1906.01502.pdf

BERT Rediscovers the Classical NLP Pipeline
arxiv.org/abs/1905.05950

What Does BERT Look At? An Analysis of BERT's Attention
arxiv.org/abs/1906.04341
Скидывайте ещё статьи по бертологии в чатик
В cs224u есть очень крутые видео. Например, вот тут хорошо рассказывают про Элмо, Берта, трансформеры и всё вот это. Гораздо лучше, чем в cs224n.

https://twitter.com/sannykimchi/status/1156985470275821573
Очень локальная новость, но всё же.

Все мы любим PyTorch, но к сожалению он неидеален (пока). Одна из ключевых проблем, с которой часто сталкиваются pytorch’исты - внезапный и труднообъяснимый deadlock при использовании нескольких num_workers в dataloader’е

В треде этого тикета несколько часов назад появилось возможное объяснение, почему это происходит.

You need to set num_workers lower than the number of CPUs in the machine (or pod if you are using Kubernetes), but high enough that the data is always ready for the next iteration. Unfortunately, if Dataloader uses any library that uses K threads, then the number of processes spawned becomes num_workers*K = N*K.

В общем внимательнее следите за своим числом процессов.
Конечно, объяснение так себе, но это уже лучше, чем «после того, как я сделал num_workers=0 и pin_memory=True, у меня заработало»

https://github.com/pytorch/pytorch/issues/1355#issuecomment-517955232
Тренды NLP с ACL
https://www.mihaileric.com/posts/nlp-trends-acl-2019/

TL;DR
1. Reducing Bias in NLP
1. Новые приложения NLP (fake news, medical letters simplification, biological applications)
1. Стандартизация парадигмы: предтренируй и файнтюнь
1. Попытки слияния knowledge graph и NN (но я всё ещё скептичен здесь)
1. Интерпретация моделей
1. Новые метрики для генерации текстов (и критика старых)
1. Критика текущих SOTA-моделей и датасетов (модели учат довольно простые фичи, которых достаточно для достижения высоких результатов на датасетах) - по-моему это больше проблема датасетов, чем моделей

за ссылку спасибо Юрию Кашницкому
Посмотрел на PytorchTransformers в SpaCy

Не понимаю зачем это надо. Интерфейсы 🤗 очень простые и гибкие. К интерфейсам SpaCy есть вопросы по обоим пунктам и не очень понятно зачем это нужно. Может быть это чисто для фанатов SpaCy.

https://github.com/explosion/spacy-pytorch-transformers/blob/master/README.md
Тут в чате говорят, новую соту завезли 🎉 (на самом деле нет, RoBERTa всё равно лучше на GLUE).

Но если серьёзнее, то Baidu (не путать с Badoo) Research несколько дней назад представила свою модель ERNIE (Enhanced Representation through kNowledge IntEgration) 2.0.

Идея метода предобученния состоит примерно в следующем:
0. Толстый трансформер (как и у всех)
1. Continual pre-training: сразу несколько self-supervised (или weak-supervised) задач на уровне слов, синтаксиса и семантики
2. ERNIE стартует с одной из этих задач и постепенно во время обучения добавляются новые, более сложные
3. К каждому слову добавляется специальный эмбеддинг в зависимости от задачи

Подробнее про задачи:
1. Word-aware Pre-training Tasks:
1.1 Knowledge Masking - masked language model++, в котором маскируются фразы и именованные сущности, подробнее в статье про ERNIE 1.0
1.2 Capitalization Prediction - да, просто предсказывать, является ли это слово капитализированным. Забавная идея.
1.3 Token-Document Relation Prediction - предсказывается, появляется ли данное слово хотя бы ещё раз в данном документе. Тоже очень интересная идея - таким образом можно пытаться извлекать ключевые слова.

2. Structure-aware Pre-training Tasks
2.1 Sentence Reordering - N предложений случайно шаффлятся, после чего нужно предсказать их оригинальный порядок.
2.2 Sentence Distance - классификация пар предложений на три класса: идут подряд / находятся в одном документе / находятся в разных документах

3. Semantic-aware Pre-training Tasks
3.1 Discourse Relation - если я правильно понял, то это дисстиляция semantic relation модели
3.2 IR Relevance - тк Baidu это поисковик, у них есть логи поиска. Они и используются в этой задаче. По query и title нужно предсказать один из трёх классов: 0 - the title is clicked by the users after they input the query, 1 - these titles appear in the search results but failed to be clicked by users, 2 - the query and title are completely irrelevant

за ссылку на статью спасибо @Cookie_thief

Статья довольно неплохо написана, советую почитать
UPD: нету абляционных исследований 😫

ERNIE 2.0: A Continual Pre-Trainining Framework for Language Understanding
Sun et al. [Baidu]
arxiv.org/pdf/1907.12412v1.pdf
Подробности предобучения:
1. 64 V100
1. float16
1. Adam(eta=5e-5, beta1=0.9, beta2=0.98), прогрев в течение первых 4 000 батчей
1. число токенов в батче: 393 216 (наверное что-то близкое к maxseqlen=512, batch_size=768)
Красивая картинка, по которой всё сразу понятно (ну почти)