А вот и статья
An Effective Approach to Unsupervised Machine Translation
Artetxe at al. [University of the Basque Country]
arxiv.org/abs/1902.01313
An Effective Approach to Unsupervised Machine Translation
Artetxe at al. [University of the Basque Country]
arxiv.org/abs/1902.01313
arXiv.org
An Effective Approach to Unsupervised Machine Translation
While machine translation has traditionally relied on large amounts of parallel corpora, a recent research line has managed to train both Neural Machine Translation (NMT) and Statistical Machine...
Некоторые статьи по анализу того, как работает 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
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
arXiv.org
Right for the Wrong Reasons: Diagnosing Syntactic Heuristics in...
A machine learning system can score well on a given test set by relying on heuristics that are effective for frequent example types but break down in more challenging cases. We study this issue...
В cs224u есть очень крутые видео. Например, вот тут хорошо рассказывают про Элмо, Берта, трансформеры и всё вот это. Гораздо лучше, чем в cs224n.
https://twitter.com/sannykimchi/status/1156985470275821573
https://twitter.com/sannykimchi/status/1156985470275821573
Twitter
Sanny Kim
@ChrisGPotts's explanation and visualization (!) of Transformers, ELMo and BERT is one of the best ones I've seen so far and is really complementary to the CS224n material! Found in @stanfordnlp's CS224u lecture 14 on Contextual Vectors: https://t.co/OhgcOxmDfV
Очень локальная новость, но всё же.
Все мы любим PyTorch, но к сожалению он неидеален (пока). Одна из ключевых проблем, с которой часто сталкиваются pytorch’исты - внезапный и труднообъяснимый deadlock при использовании нескольких num_workers в dataloader’е
В треде этого тикета несколько часов назад появилось возможное объяснение, почему это происходит.
You need to set
В общем внимательнее следите за своим числом процессов.
Конечно, объяснение так себе, но это уже лучше, чем «после того, как я сделал num_workers=0 и pin_memory=True, у меня заработало»
https://github.com/pytorch/pytorch/issues/1355#issuecomment-517955232
Все мы любим 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
GitHub
possible deadlock in dataloader · Issue #1355 · pytorch/pytorch
the bug is described at pytorch/examples#148. I just wonder if this is a bug in PyTorch itself, as the example code looks clean to me. Also, I wonder if this is related to #1120.
Тренды 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-моделей и датасетов (модели учат довольно простые фичи, которых достаточно для достижения высоких результатов на датасетах) - по-моему это больше проблема датасетов, чем моделей
за ссылку спасибо Юрию Кашницкому
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-моделей и датасетов (модели учат довольно простые фичи, которых достаточно для достижения высоких результатов на датасетах) - по-моему это больше проблема датасетов, чем моделей
за ссылку спасибо Юрию Кашницкому
Mihaileric
Trends in Natural Language Processing: ACL 2019 In Review
Following an eventful week at ACL 2019, I summarize key trends and takeaways to look for in NLP.
Посмотрел на PytorchTransformers в SpaCy
Не понимаю зачем это надо. Интерфейсы 🤗 очень простые и гибкие. К интерфейсам SpaCy есть вопросы по обоим пунктам и не очень понятно зачем это нужно. Может быть это чисто для фанатов SpaCy.
https://github.com/explosion/spacy-pytorch-transformers/blob/master/README.md
Не понимаю зачем это надо. Интерфейсы 🤗 очень простые и гибкие. К интерфейсам 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
Но если серьёзнее, то 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)
#rl
Последнее занятие близится. Темы жёсткие, но давайте попробуем успеть как можно больше:
1. TRPO, PPO (затронули на прошлом семинаре)
1. DDPG, TD3, SAC (скорее всего только теория)
Ещё, если успеем:
1. Planning, model-based RL
1. Imitation learning
Аналогично прошлому разу, приносите ноутбуки, будем решать задания вместе.
Для PPO ближе к середине недели появится более простая версия задания. TD3 и SAC в яндексовом курсе нет, но мы что-нибудь придумаем, это очень крутые алгоритмы. Каждый день буду постить доп. материалы, чтобы было проще.
Последнее занятие близится. Темы жёсткие, но давайте попробуем успеть как можно больше:
1. TRPO, PPO (затронули на прошлом семинаре)
1. DDPG, TD3, SAC (скорее всего только теория)
Ещё, если успеем:
1. Planning, model-based RL
1. Imitation learning
Аналогично прошлому разу, приносите ноутбуки, будем решать задания вместе.
Для PPO ближе к середине недели появится более простая версия задания. TD3 и SAC в яндексовом курсе нет, но мы что-нибудь придумаем, это очень крутые алгоритмы. Каждый день буду постить доп. материалы, чтобы было проще.
#rl
По-моему мы это затрагивали на занятиях, но хочу рассказать про OpenAI Spinnig Up in Deep RL
Он состоит из двух частей - кодовой базы и документации к ней. Код - это довольно понятно написанные реализации самых популярных алгоритмов RL. В документации есть довольно подробное описание каждого из них и на моём опыте он очень помог мне осознать TRPO и PPO. Тут их и советую почитать, сразу после лекции по TRPO CS294-112.
Этот сайт, по-моему, не очень подходит для изучения RL с нуля, но в качестве справочника просто идеален.
По-моему мы это затрагивали на занятиях, но хочу рассказать про OpenAI Spinnig Up in Deep RL
Он состоит из двух частей - кодовой базы и документации к ней. Код - это довольно понятно написанные реализации самых популярных алгоритмов RL. В документации есть довольно подробное описание каждого из них и на моём опыте он очень помог мне осознать TRPO и PPO. Тут их и советую почитать, сразу после лекции по TRPO CS294-112.
Этот сайт, по-моему, не очень подходит для изучения RL с нуля, но в качестве справочника просто идеален.