Size: a a a

2020 March 27
DL in NLP
Google зарелизила новую версию диалогового датасета - Taskmaster-2.
17к диалогов, 7 доменов
источник
2020 March 30
DL in NLP
Rethinking Batch Normalization in Transformers
Shen et al.
arxiv.org/abs/2003.07845

Авторы изучают нормализацию в трансформерах. Первое, что нашли: дисперсия in-batch статистик в NLP задачах на порядки выше, чем в CV.  А следовательно она большая и в градиентах, а следовательно она может влиять на сходимость - как быстро и куда. Дальше они предлагают новый тип нормализации - PowerNorm - и доказывают, что он (так же, как и BatchNorm) повышает липциц-гладкость поверхности лосса. Эксперименты показывают буст (небольшой) в машинном переводе и (заметный) в языковом моделировании.

Нам надо больше таких исследований - в архитектуру трансформера заложено много общепринятых, но мало изученных практик. Давайте эти практики проверять и улучшать.
источник
DL in NLP
источник
2020 April 02
DL in NLP
Вчера было 1 апреля, а это означает конференцию SIGBOVIK в CMU. Приметившиеся статьи:

1. Новый алгоритм сортировки - turk sort - "uses human intelligence to compare the elements of a (possibily) heterogeneous list"
1. Artificial General Relativity - "In this paper I (switching to ’I’ to avoid sounding pretentious with ’we’) introduce Artificial General Relativity (AGR) which, when achieved, will allow us to control gravity and spacetime."
1. Image-to-image neural network for addition and subtraction of a pair of not very large numbers

Proceedings: тык
Аудиозапись конференции: тык
источник
DL in NLP
источник
2020 April 04
DL in NLP
Deep Learning Reproducibility with TensorFlow
youtu.be/Ys8ofBeR2kA

Хороший обзор проблемы воспроизводимости в DL и как её решать.
Рекомендуется для просмотров всем - воспроизводимость важна и в исследованиях (ваши метрики в статье) и в проде (в regression testing, например).
Не только релевантно для TF, но и легко адаптируется под PyTorch.

Из моих наблюдений:
1. разный random seed может менять вашу метрику вплоть до 5-10 пунктов - см один из постов выше
1. если вы забыли поставить какой-то один seed (python, numpy, cuda) - то же самое (даже если все остальные сиды стоят)
1. смена GPU на CPU: ~0.5 пункта
1. недетерминированность GPU: - ~0.1 пункт

Я не удивлюсь, если на самом деле эти цифры могут быть заметно больше.

По воспроиизводимости в PyTorch рекомендую мой небольшой гайд

спасибо @Vanshi87 из чата за ссылку на видео
источник
2020 April 05
DL in NLP
Emerging Cross-lingual Structure in Pretrained Language Models
Wu, Conneau, et al. [FAIR]
arxiv.org/abs/1911.01464

Статья для тех, кто не любит SOTA-driven approach. Авторы задают конкретные вопросы про мультиязычные модели и пытаются на них ответить:

Q: Важны ли anchor points (одинаковые по написанию и смыслу токены, которые автоматически мапятся в один эмбеддинг ещё на стадии предобработки) для предтренировки mBERT?
A: Слабо важны, дают 1-2 пункта на downstream-задачах

Q: Насколько важен model parameter sharing между языками?
A: Критически важен, для далёких языков (En-Ru, En-Zh) качество downstream задач падает почти до уровня случайного выбора, если шарить только половину параметров

Q: Хорошо ли мапятся векторные представления слова и его перевода (контекстуальные и неконтекстуальные) если использовать представления mBERT?
A: Примерно на уровне fastText

Q: Насколько похожи обученные нейросети? Похож ли одноязычный английский BERT на одноязычный русский BERT? А на мультиязычный En-Ru BERT?
A: Похожи, для близких языков схожесть больше, чем для далёких
источник
DL in NLP
Советую, если интересуетесь zero-shot multilingual transfer. Версия статьи с выделенными интересными моментами.
источник
DL in NLP
источник
DL in NLP
источник
2020 April 06
DL in NLP
Интересные штуки одной строкой:

Для новичков (и не только):
1. d2l.ai - очень большая книга по диплёрнингу с кучей numpy-имплементаций. И все эти имплементации вы можете запускать прямо в браузере.
1. How to read research papers by Andwer Ng

чуть более advanced:
1. Jigsaw Multilingual Toxic Comment Classification -  Kaggle + Jigsaw + Multilingual + TPU. Идеальное сочетание.
1. XGLUE - GLUE для мультиязычных моделей
1. Aligned Cross Entropy for Non-Autoregressive Machine Translation - новая SOTA от FAIR по неавторегрессионному NMT
1. Why There is No ImageNet Moment in Speech to Text Yet
1. Optuna - оптимизатор гиперпараметров для PyTorch + Lightning. Интерфейс ужасный до жути (распределение на гиперпараметры задаётся внутри класса модели), но фичи интересные. Я больше советую wandb sweeps, но интересно если кто-нибудь сравнит их.
источник
2020 April 07
DL in NLP
Modern (не совсем) Deep Learning Techiniques Applied to NLP - похоже на то, что кто-то не из NLP попытался собрать все техники предбертовой эры в одном месте. И в общем получилось неплохо, хотя местами и устаревшие/неработающие пока/воообще вещи (рекурсивные сети/память/RL).
источник
DL in NLP
dlinnlp
🤗 Awesome NLP Paper Discussions
github.com/huggingface/awesome-papers

"Each week, the Hugging Face team has a science day where one team member presents an awesome NLP paper. We've decided to share this discussion with the community. See planned future discussions below."
Кстати если вы забыли про саммари статьи от (not Hugging fot the Moment) Face, как это сделал я - то зря.

Вот хорошее саммари по Scaling Laws for Language Models, пожалуй одной из самых крутых статей за последние несколько месяцев.
источник
2020 April 09
DL in NLP
The Transformer Family
Lilian Weng

Хороший обзор различных вариаций трансформера, которых уже стало на удивление много. Кажется даже больше, чем вариантов LSTM.
В посте автор разбирает следующие:
1. Transformer-XL
1. Adaptive Attention Span
1. Image Transformer (Localized Attention Span)
1. Sparse Transformer
1. Reformer
1. Universal Transformer
1. GTrXL

Вся область альтернативных трансформеров пока что кажется диким западом, но вдруг найдёте что-то полезное для своей задачи.
источник
DL in NLP
Я только что проделал грандиозную работу - закрыл все вкладки в браузере (последние из них были открыты где-то с сентября). Результатом стал список статей, которые я хотел прочитать, но этого не сделал. Отобрал из него те, которые всё ещё выглядят интересно, вдруг кому-то будет полезно.

Список
Когда-нибудь я их все прочитаю (нет).
источник
DL in NLP
источник
DL in NLP
Отличный тред в твиттере на тему языковых моделей и воспроизводимости

TL;DR воспроизводить сложно, можно сильно понизить перплексию модели (c 90 до 66 wikitext-2) случайно дропая целые эмбеддинги, да и в обычный дропаут в эмбеддинги хорошо помогает. Цена за перплексию - адски возрастающий compute (с 15 минут до 7 часов).

Вообще я тоже заметил, что у языковых моделей после какого-то момента сходимость резко замедляется. Может быть power normalization может помочь или какой-нибудь аггресивный lr scheduler? Если кто-то решал похожие проблемы - заходите в чат.
источник
2020 April 13
DL in NLP
Подборка интересных штук

попроще:
1. Автоград и тренировка нейросетки в 50 строк numpy-кода от Карпатогго: MicoGrad
1. Наброс на то, что DS - это не так классно, как вам описывают на курсах (оказывается там не только fitpredict надо делать)

не попроще:
1. Тред от Рудера про то, что сопоставлять векторные представления далёких языков сложно не столько потому что языки очень различные, а потому что эмбеддинги для неевропейских языков натренированы криво (статья)
1. Свежая статья по Multiagent RL + NLP
1. Translation Artifacts in Cross-lingual Transfer Learning
источник
DL in NLP
Прочитал подробнее Translation Artifacts in Cross-lingual Transfer Learning и это выглядит как очень интересный подвид даталика. Даже скорее даталик наоборот.

В чём проблема: мультиязычные датасеты в часто создаются с помощью машинного перевода (XNLI, XQUAD, ...). Train остаётся в английском а в test куча примеров, переведённых с английского на какой-нибудь другой язык. Сейчас будет звучать очевидно, но раньше никто до этого не догадывался - такой перевод делает test отличным от train не только по языку, но и по некоторым артефактам системы машинного перевода. С помощью пары экспериментов на XNLI и нового тестового сета (созданного людьми), авторы статьи приходят к выводу, что: the loss of performance when generalizing from original data to machine translated data is substantially larger than the loss of performance when generalizing from one language to another.

Кроме этого авторы предлагают пересмотреть наши взгляды на аугментацию машинным переводом, так как получается что это не только парафразинг, но и по сути трансформация более значимая, чем использование другого языка.

Подробнее в статье.
источник
2020 April 14
DL in NLP
На фоне вчерашней статьи, XTREME: A Massively Multilingual Multi-task Benchmark for Evaluating Cross-lingual Generalization выглядит уже не так впечатляюще, но всё-таки.

По сути это GLUE с тестом для 40 языков из 12 различных семейств. Некоторые из тестсетов переведены автоматически, некоторые - людьми. XLM-R перфомит лучше всех моделей, ему в спину дышит BERT-Large с переведённым (обратно) на английский тестсетом (что как-то не очень честно, тк современные NMT системы используют backtranslation для тренировки). Но в любом случае во всех задачах модели ещё очень далеки от людей. В общем приятно, что теперь есть единая система тестирования новых мультиязычных моделей, которая имеет большие шансы стать стандартом.
источник