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

Связь: @dropout05 (рекламы нет)
Download Telegram
How to do machine learning efficiently
medium.com/hackernoon/doing-machine-learning-efficiently-8ba9d9bc679d

Классный пост, который покрывает многие типичные ошибки дата-сатанистов. И в общем, он близок к моим представлениям о хороших практиках.

1. The 10 second rule - во время весь ваш скрипт (включая обучение и валидацию) должен выполняться ~5-10 секунд и не больше, чтобы вы могли чаще итерироваться и улучать вашу модель / исправлять баги
1. Be a time spammer - используйте эффективные операции, не делайте 🚲
1. Test yourself - пишите тесты на всё, в особенности на предобработку данных; это займёт куда меньше времени, чем поиск странных багов в будущем
1. Rush to success - начните с простых/тупых/линейных моделей, код к которым вы можете написать за 15 минут и натренировать которые вы можете за 15 секунд.
1. Don’t tune the parameters, tune the architecture - не тратье время на подбор гиперпараметров в начале проекта, выбирайте архитектуру, гиперпараметры потюните уже в конце проекта. Тут не могу полностью согласиться, но разумное зерно есть.
1. Free the mice - подучите комбинации клавиш в вашем текстовом редакторе / IDE
1. Пост заканчивается ссылкой на другой пост, о том, как правильно сделать валидационный сет

И, раз уж тема близкая, ещё раз рекомендую прочитать/перечитать A Recipe for Training Neural Networks от Andrej Karpathy. После каждого прочтения, я узнаю что-то новое.
Гитхаб с примерами решения типовых задачек NLP с помощью типовых нейросеток на типовом PyTorch.
github.com/lyeoni/nlp-tutorial

К каждой задаче приложен длинный README с объяснением архитектуры, что приятно. Некоторые примеры на мой вкус очень многословные, и многие best practices игнорируются, но всё равно выглядит полезным для того, чтобы понять, как работает X и можно использовать в качестве стартового кода, чтобы поиграться/написать небольшой проектик.

Трансформер описан хорошо - базовые модули имплементированны прямо в тексте README (правда главная штука: self-attention почему-то отсутствует, хотя её можно написать в 2 строчки).

UPD: Спасибо @dePuff за ссылку на аналогичный репозиторий от Microsoft, в котором примеров ещё больше.
Раз уж начинается новая итерация курса, возникает закономерный вопрос
Anonymous Poll
53%
Больше простых туториалов в канал
31%
Больше новостей, разборов новых статей, вот этого всего
16%
Оставляем как есть
​​Machine Unlearning
Bourtoule et al.
arxiv.org/abs/1912.03817

Два забавных факта:
В эпоху ML ваши данные собирают все. GDPR и его аналоги пытаются контролировать эти процессы и дают вам право удалить данные. Что звучит как здравая и полезная идея.
С другой стороны, современные модели очень хорошо запоминают датасеты, что позволяет потенциально достать из этих самых моделей данные, на которых они были натренированы.

Следовательно, если юзер X запрашивает у компании G удаление его данных, в идеальном мире компания должна не только удалить его из своих БД/текстовых документов/post-it notes/умов своих сотрудников, но и перетренировать все модели, в которых эти данные участвовали. Но когда ваши модели тренируются по несколько дней на десятках GPU, это вообще себе такая идея.

А теперь о статье:
Авторы формализуют задачу разучивания данных и приводят метод SISA (Sharded, Isolated, Sliced, and Aggregated training), который позволяет убирать определённые данные из моделей без их полной перетренировки. Суть метода - шардинг данных и ансаблирование моделей.

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

twitter.com/ilyasut/status/1225812704725630977

https://arxiv.org/abs/2002.02405 — careful and expensive MCMC Bayesian inference over NN parameters is worse than point estimates or low temperature posteriors.

Supports @carlesgelada and @jacobmbuckman’s view that Bayesian NNs are not meaningful probably because the prior is wrong.
Новый мультиязычный QA датасет от google.
200к примеров, 11 языков (включая русский!), большинство - не основанные на латинском алфавите.

блог

статья

Твиттер пост
В colab теперь есть платная подписка
colab.research.google.com/signup

$10/мес
Priority access to T4 GPUs
Longer runtimes (up to 24 hours)
(2x) More memory
US only
How Contextual are Contextualized Word Representations? Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings
Kawin Ethayarajh [Stanford]
arxiv.org/abs/1909.00512

блогпост от автора: тык

TL;DR
1. Upper layers produce more context-specific representations than lower layers
1. ELMo, BERT and GPT representations contextualize words very differently from one another
1. In all layers of BERT, ELMo, and GPT-2, the representations of all words are anisotropic

Анизотропия лично для меня оказалась неожиданностью. Более того, это означает, что теории, разработанные для word2vec [Aurora et. al] не будут работать с контекстуалиизрованными эмбеддингами.
BERT-of-Theseus: Compressing BERT by Progressive Module Replacing
Xi et al.
arxiv.org/abs/2002.02925

TL;DR
Для сжатия Берта будем заменять некоторые его слои на новые (поменьше) случайным образом во время дистилляции. Вероятность замены модуля будем повышать со временем, в результате в конце у нас будет маленькая модель.

Интересный (и немного безумный) подход. Судя по табличкам из статьи, они обходят конкурентов (DistillBERT на 5 GLUE пунктов).

twitter.com/XuCanwen/status/1226682713983160324
​​Моделька уже доступна в Transformers 🔥🔥🔥
Слишком много годноты и сегодня всё равно не будет времени всё обозреть, поэтому по одной строке:

1. Холивар на реддите PyTorch vs TF performance
1. Интересный алгоритм, который оптимизировать ваше пространства признаков под KNN
1. Результаты DSTC8
1. Сабмит iPavlov на DSTC8, хороший пример очень кастомного использования BERT
1. Первое место DSTC8, которое показывает насколько хорошо в NLP может работать переводная аугментация En<->Zh
1. Streamable ASR с трансформерами (у нас тут редко аудио встречается, но хотелось бы про него больше говорить)
1. Unsupervised pretraining transfers well across languages
1. A Multilingual View of Unsupervised Machine Translation
1. On Identifiability in Transformers - больше анализа трансформеров
Forwarded from Yaroslav Emelianov
Thieves on Sesame Street! Model Extraction of BERT-based APIs
Krishna et al.
https://arxiv.org/abs/1910.12366

TL;DR
Авторы предлагают делать дистилляцию берта на полностью синтетических данных. Для двух задач (NLI и QA) с помощью эвристик, основанных на n-грамах, они формируют искусственные датасеты, на которых файнтьюнят модели на основе BERT, используя в качестве таргета предикты настоящей модели, которая сама на основе BERT. Удается добиться приличного качества даже для дистилляции BERTlarge-модели в BERTbase. Таким образом, авторам удается эффективно "красть" модели посредством black-box атаки, не имея оригинальных обучающих данных.

Далее авторы обсуждают 2 метода защиты, каждый из которых имеет ограниченную эффективность. В первом из них модель-жертва снабжается классификатором для OOD данных или неотвечаемого вопроса, а во втором — модель-жертва обучается на "загрязненных" данных, после чего становится возможным в теории доказать факт кражи, хотя ей по-прежнему нельзя помешать.

В целом — интересная статья о том, что берт "настолько сильно обобщает", что через nonsensical inputs можно получить довольно хорошее представление о модели и сделать через это дистилляцию.
Языковые модели прекрасны и люди находят все больше способов их применить.
На этот раз GPT-2 научили играть в шахматы.

slatestarcodex.com/2020/01/06/a-very-unlikely-chess-game

За ссылку спасибо @vaklyuenkov
Forwarded from исследовано
Всем привет! До 13 марта продолжается набор в аспирантскую школу по компьютерным наукам ВШЭ. Мы, как начинающая исследовательская группа по NLP, готовы принять 1-2 аспирантов. Если вам интересна исследовательская работа и вы готовы к поступлению в аспирантуру, пишите Кате Артемовой (тлг: @eartemova, почта: [email protected]) .

Ссылка на аспирантскую школу: https://aspirantura.hse.ru/cs/news/323871305.html

Страница группы: https://cs.hse.ru/ai/computational-pragmatics/
Пожалуйста, не пишите @dropout05 вопросы по курсу. Пишите их в форум курса или организаторам. Их контакты и остальные подробности есть в канале курса @dlinnlp2020spring
DL in NLP pinned «Пожалуйста, не пишите @dropout05 вопросы по курсу. Пишите их в форум курса или организаторам. Их контакты и остальные подробности есть в канале курса @dlinnlp2020spring»