Size: a a a

2019 July 31
DL in NLP
А вот и статья

An Effective Approach to Unsupervised Machine Translation
Artetxe at al. [University of the Basque Country]
arxiv.org/abs/1902.01313
источник
2019 August 02
DL in NLP
Некоторые статьи по анализу того, как работает 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
источник
DL in NLP
Скидывайте ещё статьи по бертологии в чатик
источник
2019 August 03
DL in NLP
В cs224u есть очень крутые видео. Например, вот тут хорошо рассказывают про Элмо, Берта, трансформеры и всё вот это. Гораздо лучше, чем в cs224n.

https://twitter.com/sannykimchi/status/1156985470275821573
источник
2019 August 04
DL in NLP
Очень локальная новость, но всё же.

Все мы любим 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
источник
DL in NLP
Тренды 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-моделей и датасетов (модели учат довольно простые фичи, которых достаточно для достижения высоких результатов на датасетах) - по-моему это больше проблема датасетов, чем моделей

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

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

https://github.com/explosion/spacy-pytorch-transformers/blob/master/README.md
источник
2019 August 05
DL in NLP
Тут в чате говорят, новую соту завезли 🎉 (на самом деле нет, 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
источник
DL in NLP
Подробности предобучения:
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)
источник
DL in NLP
Красивая картинка, по которой всё сразу понятно (ну почти)
источник
DL in NLP
Размеры датасетов для английского и китайского
источник
DL in NLP
GLUE
источник
DL in NLP
#rl
Последнее занятие близится. Темы жёсткие, но давайте попробуем успеть как можно больше:

1. TRPO, PPO (затронули на прошлом семинаре)
1. DDPG, TD3, SAC (скорее всего только теория)

Ещё, если успеем:
1. Planning, model-based RL
1. Imitation learning

Аналогично прошлому разу, приносите ноутбуки, будем решать задания вместе.

Для PPO ближе к середине недели появится более простая версия задания. TD3 и SAC в яндексовом курсе нет, но мы что-нибудь придумаем, это очень крутые алгоритмы. Каждый день буду постить доп. материалы, чтобы было проще.
источник
DL in NLP
И немножко мотивации для SAC

ai.googleblog.com/2019/01/soft-actor-critic-deep-reinforcement.html
источник
DL in NLP
источник
DL in NLP
Рудер плохого не посоветует

twitter.com/seb_ruder/status/1158436556375580672
источник
2019 August 06
DL in NLP
#rl

По-моему мы это затрагивали на занятиях, но хочу рассказать про OpenAI Spinnig Up in Deep RL
Он состоит из двух частей - кодовой базы и документации к ней. Код - это довольно понятно написанные реализации самых популярных алгоритмов RL. В документации есть довольно подробное описание каждого из них и на моём опыте он очень помог мне осознать TRPO и PPO. Тут их и советую почитать, сразу после лекции по TRPO CS294-112.

Этот сайт, по-моему, не очень подходит для изучения RL с нуля, но в качестве справочника просто идеален.
источник
DL in NLP
Только что закончился первый NLP митап Huawei. Поговорили про document-level машинный перевод, мультиязычность BERT и про BERT в проде. Как смогу добыть презентации и записи, ссылки на них появятся тут.
источник
DL in NLP
источник
DL in NLP
источник