Size: a a a

2020 January 06
DL in NLP
Summary всего NLP за 2019 год.
Читать всем обязательно.
https://medium.com/dair-ai/nlp-year-in-review-2019-fb8d523bcb19
источник
DL in NLP
Астрологи объявили неделю мастридов!

Ещё один блогпост (на этот раз от Рудера) с 10-ю наиболее интересными (по его мнению) направлениями исследований в ML & NLP.
Тоже обязательно к прочтению.
https://ruder.io/research-highlights-2019/
источник
2020 January 07
DL in NLP
Нужно больше статей по трансформерам

towardsdatascience.com/transformers-at-neurips-2019-3c8e76e3ab42
источник
2020 January 09
DL in NLP
Reformer: The Efficient Transformer
Kitaev et al. [Google]
openreview.net/forum?id=rkgNKkHtvB

Улучшение асимптотик трансформера (и памяти и времени) до логлинейных. Авторы смогли добиться этого с помощью хитрого хеширования и расчёта только кусков attention-матрицы плюс идеи reversible residual networks, которая позволяет делать хитрый backward-pass, занимающий меньше памяти. Идея пока не очень применимая, потому что начинает обходить трансформеры по скорости только при длинах > 2K, но во-первых такие задачи вполне существуют в этом мире, а во-вторых, кажется, мы начинаем выкарабкиваться от ограничения на 512 токенов, что хорошо.
В статье очень хороший анализ того, как работает dot-product attention и что в нём можно улучшить, советую к прочтению.

Ещё хочу добавить: нет смысла надеяться, что топовые модели в этом году будут требовать меньше вычислений. Так не бывает, SOTA почти всегда находится на грани вычислительных возможностей. Но подобные этой статьи позволят использовать более ёмкие модели при +- тех же ресурсах, что в общем неплохо. Остаётся ждать, когда 1080Ti будут сопоставимы по стоимости с чашкой кофе и воткнуты в Raspberry PI (на самом деле нет).
источник
DL in NLP
источник
DL in NLP
источник
2020 January 10
DL in NLP
Bonjour everyone 🇫🇷!
Сегодня будет день французских моделей. +- недавно вышло две таких: CamamBERT и FlauBERT. В них нет каких-то особенно новых идей, и они очень похожи друг на друга (даже на прикладных задачах разница около 0.1%). Собственностью своей похожестью они и интересны - по сути это подытоживание того, к чему сошлось сообщество в 2019. Нам нужны:
1. трансформер (маленький и большой)
1. MLM (без NSP)
1. ~ 100Гб максимально разнообразных и подчищенных текстов
1. динамическое маскирование токенов
1. маскирование слов, а не сабтокенов (CamamBERT и я за это) / предварительная moses-токенизация за которой следует BPE (FlauBERT)
1. 32 V100, 8K batch size, 500 часов 😭

Сами статьи прелагаю считать руководством по предтренировке хорошей модели для NLP: там неплохо суммаризированы best practices и описан сбор данных, оптимизация, тестирование.
источник
DL in NLP
источник
2020 January 12
DL in NLP
Увидел в лагере CV новую интересную штуку

Neural Data Server - сервис, позволяющий найти релевантные для вашего домена изображения, на которых можно предтренироваться.

+ в сервисе умные способы семплирования, которые позволяют предобучаться на меньшем количестве данных и получать лучшие результаты
- индексируются только несколько популярных датасетов, которые и так все знают (может измениться со временем)

Несколько беспокоит не приведёт ли такая парадигма к худшей генерализации и было бы интересно провести несколько экспериментов тестирующих свойства таких моделей.

Однако, очень хотелось бы увидеть что-то подобное для текстов - огромную коллекцию размеченных и ещё большую коллекцию неразмеченных данных, по которым можно автоматически на основе ваших данных скачать пачку релевантных размеченных данных и in-domain неразмеченных. В особенности это интересно с учётом того, что неразмеченные данные - это, по-сути весь интернет и серверу достаточно отдать вам скрипт для скачивания с кучей ссылок и не обязательно пропускать все эти сотни гигабайт через себя.
источник
DL in NLP
источник
DL in NLP
И ещё немного про CV. Всегда приятно сказать “твоя модель - это частный случай моей модели”, и исследователи из Ecole Polytechnique доказали, что CNN - это частный случай Multihead Self-Attention. Ещё у них есть забавный сайт, на котором можно поиграться с визуализациями.

Статья: arxiv.org/abs/1911.03584
TL;DR от автора: twitter.com/jb_cordonnier/status/1215581826187743232
Блогпост: jbcordonnier.com/posts/attention-cnn
источник
DL in NLP
Modeling Sequences with Quantum States: A Look Under the Hood
Bradley et al.
arxiv.org/abs/1910.07425

Кажется, эта статья написана специально для меня. В ней есть:
1. нейросетевое моделирование последовательностей
1. квантовая механика
1. тензорные сети

Основная идея: почему бы вместо моделирования вероятностного распределения нам не моделировать волновую функцию?
Гипотетически, такой подход может помочь решить проблему генерации более осмысленных длинных текстов или видео, где на каждом шаге очень много возможных исходов и прямое выучивание распределения “замыливает” предсказания и делает их более generic (например, когда end-to-end бот всегда отвечает вам “не знаю”).

Чтение статьи не требует знания квантмеха, все нужные понятия есть во введении, но её нужно читать медленно и вдумчиво.
источник
DL in NLP
источник
2020 January 15
DL in NLP
Я знаю, что вы любите 🤗, держите ещё одну библиотеку от них - Tokenizers. И это не просто разделитель строк, это целый пайплайн, отвечающий в том числе за нормализацию, нумерикализацю, алайнмент токенов со словами, паддинг итд. Предобработка - это дичайшая боль в NLP, если Tokenizers сможет повторить успех Transformers, то это претендент на главное событие 2020 для меня.
источник
DL in NLP
В DL завезли differentiable symbolic reasoning. Если это реально то, что заявлено в заголовке, то вангую много неросетей которые смогут разумнее, чем рефлекторно реагировать на input в этом году (но звучит слишком хорошо, чтобы быть правдой, да ещё это и на TF 1.X 👵 и задача специфичная). В любом случае интересно наблюдать на прогрессом в этой областе, которая традиционно считается максимально ненейросетевой.
источник
2020 January 16
DL in NLP
Вышли PyTorch 1.4 и torchtext 0.5 но ничего интересного там нету 😔

Улучшили квантизацию, сделали синтаксический сахар для model-parallel distributed (У новой модели фейсбука один батч не помещается в 32Гб V100?), позволили чейнить LR scheduler (использовать несколько в параллель), расширяют поддержку NamedTensor. Скучно, но может быть это показывает что наш PyTorch вырос и ему всё интереснее в продакшн.

В Torchtext завезли новую экспериментальную абстракцию, которая понятнее Field и лучше совместима с torch.data. В общем хорошо, но кажется, что 🤗 Tokenizers почти всё это уже умеют и делают лучше.


Blog: https://pytorch.org/blog/pytorch-1-dot-4-released-and-domain-libraries-updated/
GitHub: https://github.com/pytorch/pytorch/releases/tag/v1.4.0
источник
DL in NLP
Трэд Thomas Wolf о том, как надо релизить ваш исследовательскиий код и зачем это вообще нужно делать.

Мега важная тема, потому что всем, кто программирует, нужно осознавать, что код, который невозможно прочитать и модифицировать хуже кода, который не работает.

Если коротко:
Ваш код - это не просто доказательство того, что вы не придумали цифры в статье. Это возможность позволить другим переиспользовать ваши идеи. Дайте другим понятные инструкции как запускать ваш код и релизьте веса обученных моделей. Предоставьте возможность быстро тестировать/дебажить. Используйте меньше абстракций наболело. Потратьте ~4 дня на доработку кода после сабмита статьи.

От себя хочу добавить, что если ваш код удобен для модификации другими людьми, то это позволит вашим сследованиям сделать больший impact (а мы впедь ради этого ими и занимаемся, верно?). В конце-концов это позволит вам получить больше цитирований, а другим - меньше страдать. Win-win situation.
источник
DL in NLP
Новый запуск курса по NLP от CMU

twitter.com/gneubig/status/1217458527016538115

За ссылку спасибо @someotherusername
источник
2020 January 20
DL in NLP
Очередной сет ссылок на интересные штуки:

1. How nbdev helps us structure our data science workflow in Jupyter Notebooks - первые success story применения nbdev
1. fast_template - очень простой способ сделать себе бложик (куда сейчас в науке без личного блога?)
1. “50 best datasets” - опустим что же может означать слово “best” в смысле датасета, в принципе неплохая подборка, в особенности если вы только начинаете свой путь в DS
1. WAYR (What Are You Reading) - серия постов на реддите, где в комментариях люди пишут какие статьи они сейчас читают, идёт уже 78 недель
1. JAX (~ NumPy + autodiff + возможность компиляции в XLA + GPU/TPU) как-то пока что проходит мимо меня, но вокруг него уже начинают появляться обёртки для диплёрнинга.
источник
2020 January 21
DL in NLP
When Does Label Smoothing Help?
Müller et al. Google Brain
arxiv.org/abs/1906.02629

Как можно угадать из названия, это анализ того, как работает Label Smoothing.

TL;DR
In addition to improving generalization, label smoothing improves model calibration which can significantly improve beam-search. However, we also observe that if a teacher network is trained with label smoothing, knowledge distillation into a student network is much less effective. Label smoothing encourages the representations of training examples from the same class to group in tight clusters.
источник