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

Связь: @dropout05 (рекламы нет)
加入频道
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

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

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

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

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

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

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

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

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

По сути это GLUE с тестом для 40 языков из 12 различных семейств. Некоторые из тестсетов переведены автоматически, некоторые - людьми. XLM-R перфомит лучше всех моделей, ему в спину дышит BERT-Large с переведённым (обратно) на английский тестсетом (что как-то не очень честно, тк современные NMT системы используют backtranslation для тренировки). Но в любом случае во всех задачах модели ещё очень далеки от людей. В общем приятно, что теперь есть единая система тестирования новых мультиязычных моделей, которая имеет большие шансы стать стандартом.
Forwarded from Valentin Malykh
коллеги, всем привет, мы совместно с коллегами из Mail.Ru запускаем соревнование по машинному переводу с китайского на русский; все, кому интересно поучаствовать в улучшении качества перевода между двумя крупнейшими языками мира, присоединяйтесь! https://mlbootcamp.ru/round/26/tasks/
в поддержку соревнования я написал пост об истории машинного перевода: https://habr.com/ru/company/huawei/blog/492702/
Недавно видел курс, в котором NLP начинают с трансфомеров и хотел его сюда запостить. Но потерял 😶

Вместо него подборка твитов (а где ещё новости находить)
1. Тред по unsupervised MT от человека, фамилию которого я почти понял как произносить
1. В AI Dungeon теперь есть мультиплеер и более тонкая настройка генерации вашей истории
1. Статья о том, что BERT на удивление хорошо генерализует на out-of-distribution примеры
1. Я бы назвал это тизер-трейлером статьи - картинка безумной нейросети от команды Ричарда Сохера, которая делает conversational machine reading
Forwarded from addmeto
Майкрософт тут утверждает, что они с помощью машинлернинга научились различать важность и категорию найденной в коде ошибки с вероятностью выше 97%. Нет, в данном случае никакого "понимания" кода конечно нет, есть просто категоризация "на глаз" - не очень сложная задача, к которой майкрософт применил голову https://www.microsoft.com/security/blog/2020/04/16/secure-software-development-lifecycle-machine-learning/
Я тут решил почитать эту статью. Почувствовал себя немного в 2016 (Logistic Regression, Naive Bayes, Adaboost, ух) и немного ужаснулся с того, что они accuracy репортят в такой несбалансированной задаче (это она 97%). Но TPR FPR сходу выглядят адекватно (по крайней мере не константа предсказывается), так что забавно (и очень странно) что можно вот так просто с помощью логрега можно детектить баги.

UPD: эта статья не про поиск багов в коде, а про определение типа бага (security issue или нет) по тексту issue. Так что результаты неудивительны, но и задача не такая интересная.
DL in NLP
Прочитал подробнее Translation Artifacts in Cross-lingual Transfer Learning и это выглядит как очень интересный подвид даталика. Даже скорее даталик наоборот. В чём проблема: мультиязычные датасеты в часто создаются с помощью машинного перевода (XNLI, XQUAD…
Внезапно статья обновилась (кстати о том, почему arxiv лучше конференций) и теперь включает в себя не только критику текущего подхода, но и новый датасет.

esXNLI интересен тем, что изначально сделан на испанском, а затем переведён (человеками) на английский. Позволит исследовать насколько артефакты машинного перевода влияют на трансфер да и много всего другого.
Чат становится для меня ещё одним источником годноты. Вы просто лучшие 😎
(спасибо @Cookie_thief, @someotherusername и @Vanshi87)

1. Tokenizers: How machines read - хороший пост описывающий путь от .split(' ') до BPE и sentencepiece
1. Просто огненная (и большая) лекция по self-supervised в NLP начиная от n-gram LM и заканчивая ELECTRA от Alec Radford (автор GPT). Слайды для тех, кто так больше любит. Нашёл там новые вещи и для себя.
2. В догонку предыдущему пункту - оказывается курс Deep Unsupervised Learning 2020 от Беркли идёт прямо сейчас и постит все свои материалы в открытый доступ
1. CUDA error 59: Device-side assert triggered - пост про ошибку которую встречали все и которая ничего не говорит тебе о том, как себя исправить (зато пост скажет)
1. Гугл запускает умный поиск по своим репозиториям (TensorFlow, Go, Angular, Basil, ...). Может быть теперь в коде TF можно будет разобраться?
Для тех, кто интересуется interpretability, bias, fairness и прочей важной чепухой - OpenAI в коллаборации с почти всеми выпустила отчёт отвечающий на скорее бизнесовые задачи, чем исследовательские. Он отвечает на вопросы:

1. Can I (as a user) verify the claims made about the level of privacy protection guaranteed by a new AI system?
1. Can I (as a regulator) trace the steps that led to an accident caused by an autonomous vehicle?
1. Can I (as an academic) conduct impartial research on the risks associated with large-scale AI systems when I lack the computing resources of industry?
1. Can I (as an AI developer) verify that my competitors in a given area of AI development will follow best practices rather than cut corners to gain an advantage?

У отчёта есть шансы повлиять на то, куда движется индустрия. Так что это не только ответы на вопросы "что и как мы можем сделать" но и на вопрос "что будет через 3-5 лет". Если лень читать всё, просто в каждой главе ищите пункты Problem и Recommendation.
Новостей за выходные как-то не было, поэтому держите мою небольшую заметочку по тому почему fairseq (seq2seq-фрейворк на основе pytorch от FAIR) классный и как его использовать.
Итак, вот вам большая подборка интересного чтива. Сначала просто всякие интересности:

1. NLP Newsletter #10
1. Тулза для красивой визуализации архитектуры сети - тык
1. Отличная презентация от Huggingface с обзором последних наработок в Open-Domain QA.

Теперь перейдем к статьям:

1. Are Natural Language Inference Models impressive? Learning Implicature and Presupposition - статья по задаче NLI. Из важного - авторы релизят новый датасет и делают много интересных экспериментов, советую глянуть.
1. Should All Cross-Lingual Embeddings Speak English? (blogpost). Есть большое количество статей, в которых пытаются мапить пространство эмбеддингов одного языка в другое. В чем заключается проблема, которую видят авторы - при валидации модели почти всегда языком, в который мапят, является английский, и в общем случае такой подход может давать неверную оценку качества.
1. Weight Poisoning Attacks on Pre-trained Models - статья, предлагающая способ "атаки" на предобученную языковую модель, чтобы управлять её предиктами. Авторы допускают, что у атакующего есть доступ к модели и известны данные, на которых её учили и на которых будут файнтюнить(или хотя бы задача, под которую будет тюнинг). Суть атаки - хитрое предобучение и создание слов-триггеров (каких-то слабочастотных токенов из словаря), эмбеддинги которых заменяются на взвешенную сумму эмбеддингов токенов, специфичных для конкретного класса.
1. ToD-BERT: Pre-trained Natural Language Understanding for Task-Oriented Dialogues - новый брат берта, на этот раз заточенный под диалоговые системы. Авторы добавляют два новых токена - [SYS] и [USR] для ответа системы и запроса юзера соответственно. Помимо этого они файнтюнят модель на нескольких даунстрим тасках - Intent classification, Dialogue state tracking, Dialogue act prediction, Response selection. Ожидаемо, модель аутперфомит берта на классификации интентов и нескольких (около)диалоговых задачах.
1. Cross-lingual Contextualized Topic Models with Zero-shot Learning - мультиязычное тематическое моделирование на нейросетях. Авторы тренеруют модель на английском, и она способна выделять выученные топики в документах на других языках без предварительного файнтюнинга под них (поэтому собственно cross-lingual и zero-shot).

Статей накопилось много, детально вчитываться в каждую не успевал. Если где-то напортачил, или вы просто хотите пообсуждать статьи - добро пожаловать в чат)