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

Связь: @dropout05 (рекламы нет)
Download Telegram
Новостей за выходные как-то не было, поэтому держите мою небольшую заметочку по тому почему 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).

Статей накопилось много, детально вчитываться в каждую не успевал. Если где-то напортачил, или вы просто хотите пообсуждать статьи - добро пожаловать в чат)
Хорошая презентация на тему ниизкоресурсных языков и штук (в основном multilingual-штук), которые должны помогать в таком сеттинге. По моему опыту русский язык зачастую можно считать низкоресурсным (не на все задачи есть большие датасеты), так что советую смотреть в эту сторону.
Thomas Wolf из 🤗, как и вам, скучно сидеть дома и он решил записать видео о Future of NLP. А ещё у него забавный акцент, так что всем смотреть. Рассказывает о размере моделек, out-of-domain генерализации, о низкой робастности текущих моделек и других интересных вещах. Если у вас нету времени смотреть, то вот слайды.
FAIR только что опубликовал пост в своём блоге по Training with Quantization Noise for Extreme Model Compression.

Идея топовая - чтобы модели лучше квантизовались, давайте эмулировать квантизацию во время тренировки. Тогда обученные веса будут более робастны к ней. Но чтобы не было серьёзных ошибок во время обучения будем квантизовать случайные веса, а не всю сетку. А-ля dropout. Ещё их блог славится милыми анимациями.

Статья и код тоже доступны.
Спасибо @someotherusername за то, что помог с выковыриванием анимашки
Я решил по фану посмотреть на MindSpore - DL фреймворк от Huawei и оказалось что

1. это смесь практик TF и PyTorch, причём не самая плохая
1. документация на первый взгляд лучше, чем у TF 😂
1. есть поддержка "TPU" от Huawei

Выглядит это чудо на удивление готово, я думал что увижу какую-то выполненную на коленке поделку. Единственно, что раздражает - уж очень многословные и страшные туториалы. Непонятно, какие у него перспективы вне Китая, но будет интересно посмотреть, если он составит конкуренцию торчу и tf.
Attention Module is Not Only a Weight: Analyzing Transformers with Vector Norms
Kobayashi et al. [Tohoku University]
arxiv.org/abs/2004.10102

Мы с вами уже видели десятки статей, которые пытаются понять, куда смотрит attention. Для этого анализа типично использовать нормализованные attention-скоры i.e. α = softmax(QK). Авторы этой статьи предлагают альтернативный подход - посмотреть на норму взвешенного value = ||att(x)|| = || V softmax(QK) ||, что в принцпе логично, потому что если attention имеет большой вес для элемента, значение которого равно нулю это всё равно что он никуда не смотрит.

Новый метод даёт более интерпретируемые результаты - например теперь BERT не смотрит на SEP и CLS. Это очень хорошо укладывается в гипотезу о том, что BERT учится смотреть на SEP и CLS тогда, когда голова хочет "отключиться". Также в эксперименте по машинному переводу показали, что ||att(x)|| гораздо сильнее коррелирует с алайнментом перевода, чем α.

Что нашли нового?
1. корреляция спирмена величин \alpha и ||att(x)|| заметно отрицательная на SEP (-0.7), CLS (-0.3) и точках с зяпятыми (-0.25) по сравнению с обычными токенами (-0.06). Получается что сетка учит эти эмбеддинги так, чтобы в них не было полезной инфы XOR чтобы на них мало смотрели.
1. BERT учит ||att(x)|| так, что у более редких токенов более высокие значения (спирмен 0.75), в некотором смысле он делает себе TF-IDF.
Experience Grounds Language
Bisk et al.
arxiv.org/abs/2004.10151
автоматическое саммари

Философская работа на тему NLP. И довольно интересная. Мы сейчас все свыклись с парадигмой pre-train/fune-tune да и вообще с самой идеей тренировки моделей для решения задач NLP. Но так было не всегда. Авторы предлагают разделить решение задачи NLP на несколько шагов (World Scopes) и одновременно спекулируют о будущем области.

Пост показался слишком длинным, поэтому вот telegraph
Scheduled DropHead: A Regularization Method for Transformer Models
Zhou et al. [Misrosoft Research and Beihang University]
arxiv.org/abs/2004.13342

Регуляризация трансформеров через дропаут голов. Дропайте головы во время тренировки и получайте бесплатный пункт на тесте. Если и rate менять во время тренировки à la inverse one-cycle, то ещё лучше. В общем вот и вся статья. Давно не было чего-то полезного, что можно описать в одну строчку, а закодить - в 5.
Тут понадобилось написать минимальную версию self-attention. Уместился в 15 строчек (основная логика - в 3). Может быть кому-то поможет лучше понять этого зверя.
Тогда и multihead-версию почему бы не сделать. 30 строчек, логика в 7. Кстати кто заметил небольшой косяк в прошлом посте - тот молодец.
Мне тут напомнили про einops. Такой NamedTensor, но работающий уже сейчас. Помогает меньше путаться в размерностях и уменьшает количество .transpose и .view в вашем коде. На первый взгляд удобно, попробуем. Кстати автор либы - @arogozhnikov есть в чате, можете задать ему свои вопросы.
Немножко контекста: "Every time I fire a linguist, the performance of the speech recognizer goes up" (Jelinek, IBM)
Forwarded from b b
On Identifiability in Transformers
Brunner et al. [ETH Zurich]
arxiv.org/abs/1908.04211

Вторая волна анализа attentiion пошла! :parrot:
В этой статье авторы тоже говорят, что использовать attention weights для интерпретации - это плохая идея и даже дают формальное описание почему (но как по мне их определениие "идентифицируемости" слишком строгое и поэтому далеко от реальности). Из интересного тут то, что они предлагают ещё один метод анализа attention, который, аналогично Attention Module is Not Only a Weight показывает, что CLS и SEP токены не так важны.

Дальше интереснее: их эксперименты показывают две на первый взгляд противоречащих штуки.
1. Токен достаточно хорошо сопоставляется его эмбеддингу в том числе в последних слоях трансформера
2. Эмбеддинги различных слов сильно смешиваются внутри трансформера

То есть с одной стороны мы можем сказать, что 4 токен действительно соответствует 4 слову, но с другой - в нём очень много информации про другие слова. В принципе это ровно то, что мы имеем в виду под контекстуализированными эмбеддингами, но зато теперь мы имеем экспериментальное подтверждение этого.