А тем временем reading club уже идёт и стрим доступен на Twitch
twitch.tv/cookie_thief_?sr=a
twitch.tv/cookie_thief_?sr=a
Twitch
cookie_thief_ - Twitch
cookie_thief_ streams live on Twitch! Check out their videos, sign up to chat, and join their community.
PyTorch 1.3 is out 🎉
- named tensor support
- quantization
- mobile
- hyperparameter support for tensorboard
- более строгая типизация
Также заговорили про TPU - можно считать, что началась альфа
Если вы не знаете, что такое Named Tensor и почему вы должны его использовать: nlp.seas.harvard.edu/NamedTensor
Гитхаб: github.com/pytorch/pytorch/releases
Блог: ai.facebook.com/blog/pytorch-13-adds-mobile-privacy-quantization-and-named-tensors/
- named tensor support
- quantization
- mobile
- hyperparameter support for tensorboard
- более строгая типизация
Также заговорили про TPU - можно считать, что началась альфа
Если вы не знаете, что такое Named Tensor и почему вы должны его использовать: nlp.seas.harvard.edu/NamedTensor
Гитхаб: github.com/pytorch/pytorch/releases
Блог: ai.facebook.com/blog/pytorch-13-adds-mobile-privacy-quantization-and-named-tensors/
nlp.seas.harvard.edu
Tensor Considered Harmful
Named tensors for better deep learning code.
Colab-ноутбуки с примерами использования TPU в PyTorch
twitter.com/PyTorch/status/1182437662365339648
twitter.com/PyTorch/status/1182437662365339648
Twitter
PyTorch
PyTorch Cloud TPU and TPU pod support is now in general availability on @GCPcloud You can also try it right now on Colab, for free at https://t.co/G6D3dfQpux
Go 🔥
Finally managed to release this data!
Some highlights:
From CVPR 2018-2019, PyTorch has grown from 82 -> 280 papers, while TensorFlow has gone from 116 -> 125 papers.
For ACL
PyTorch: 26 -> 103
TF: 34 -> 33
The trend continues at all the major research conferences.
twitter.com/cHHillee/status/1182328989785952257
Finally managed to release this data!
Some highlights:
From CVPR 2018-2019, PyTorch has grown from 82 -> 280 papers, while TensorFlow has gone from 116 -> 125 papers.
For ACL
PyTorch: 26 -> 103
TF: 34 -> 33
The trend continues at all the major research conferences.
twitter.com/cHHillee/status/1182328989785952257
Twitter
Horace He
Finally managed to release this data! Some highlights: From CVPR 2018-2019, PyTorch has grown from 82 -> 280 papers, while TensorFlow has gone from 116 -> 125 papers. For ACL PyTorch: 26 -> 103 TF: 34 -> 33 The trend continues at all the major research conferences.…
Investigating the Effectiveness of Representations Based on Word-Embeddings in Active Learning for Labelling Text Datasets
Lu et al.
arxiv.org/abs/1910.03505
Очень простая и практическая статья, сравнивающая использование различных классификаторов для active learning. Основной вывод прост: не используйте TF-IDF/fastText, используйте BERT в качестве векторизатора и active learning будет заметно эффективнее.
Несмотря на очевидный вывод, понял, что сам никогда не думал использовать BERT для active learning; и теперь видно, что был неправ.
Справочка: active learning - это когда вы итерационно размечаете свой датасет и на каждой следующей итерации выбераете примеры на разметку не случайно, а ранжируете их по “неуверенности” вашей модели (выбираете те, на которых модель максимально неуверена). Таким образом вы размечаете наиболее полезные для улучшения классификатора примеры.
Lu et al.
arxiv.org/abs/1910.03505
Очень простая и практическая статья, сравнивающая использование различных классификаторов для active learning. Основной вывод прост: не используйте TF-IDF/fastText, используйте BERT в качестве векторизатора и active learning будет заметно эффективнее.
Несмотря на очевидный вывод, понял, что сам никогда не думал использовать BERT для active learning; и теперь видно, что был неправ.
Справочка: active learning - это когда вы итерационно размечаете свой датасет и на каждой следующей итерации выбераете примеры на разметку не случайно, а ранжируете их по “неуверенности” вашей модели (выбираете те, на которых модель максимально неуверена). Таким образом вы размечаете наиболее полезные для улучшения классификатора примеры.
Unified Language Model Pre-training for Natural Language Understanding and Generation
Dong et al. [Microsoft Research]
arxiv.org/abs/1905.03197
Новый BERT от Microsoft. На задачах NLU сопоставим с BERT, на задачах NLG - SOTA. Основная идея: использовать несколько задач для предтренировки: задачу ELMO, задачу BERT и задачу seq2seq. Seq2seq сделан довольно забавно: это всё то же восстановление MASK-токенов, как и в BERT, но токены из левого сегмента могут смотреть только на себя. С учётом teacher forcing, задача очень близка к обычному seq2seq.
Также в статье подробно описано, как именно они применяли предобученную модель к прикладным задачам. Советую почитать.
Dong et al. [Microsoft Research]
arxiv.org/abs/1905.03197
Новый BERT от Microsoft. На задачах NLU сопоставим с BERT, на задачах NLG - SOTA. Основная идея: использовать несколько задач для предтренировки: задачу ELMO, задачу BERT и задачу seq2seq. Seq2seq сделан довольно забавно: это всё то же восстановление MASK-токенов, как и в BERT, но токены из левого сегмента могут смотреть только на себя. С учётом teacher forcing, задача очень близка к обычному seq2seq.
Также в статье подробно описано, как именно они применяли предобученную модель к прикладным задачам. Советую почитать.
arXiv.org
Unified Language Model Pre-training for Natural Language...
This paper presents a new Unified pre-trained Language Model (UniLM) that can be fine-tuned for both natural language understanding and generation tasks. The model is pre-trained using three types...
Natural Language State Representation for Reinforcement Learning
Erez Schwartz et al. Technion
arxiv.org/abs/1910.02789
RL страдает от "проклятья размемерности".
Если использовать естественный язык для семантического представления состояний, например, описывая что просиходит на экране в игре Doom, то в сравнении с vision-based агентами:
- сходимость быстрее
- perform better
- more robust
- better transfer
Информация для представления на естественном языке извлекалась из игровых фич и семантической сегментации с наложенной сеткой для понимания позиции объектов: далеко-близко, правее-левее.
Сравнивались:
▫️Агенты:
- DQN
- PPO
▫️Представления:
- Semantic segmentation representations (provided by the environment)
- Natural language representation (features from environment + semantic segmentation + Word2Vec или GloVe + TextCNN)
- Raw image (CNN)
- Feature vector (features from environment + MLP)
▫️Игровые сценарии:
- Пристрели монстра
- Не умри от яда собирая аптечки
- Уклоняйся от файерболов
- Defend the center - отстреливайся от набегающих монстров, стоя на месте
- Адище
Erez Schwartz et al. Technion
arxiv.org/abs/1910.02789
RL страдает от "проклятья размемерности".
Если использовать естественный язык для семантического представления состояний, например, описывая что просиходит на экране в игре Doom, то в сравнении с vision-based агентами:
- сходимость быстрее
- perform better
- more robust
- better transfer
Информация для представления на естественном языке извлекалась из игровых фич и семантической сегментации с наложенной сеткой для понимания позиции объектов: далеко-близко, правее-левее.
Сравнивались:
▫️Агенты:
- DQN
- PPO
▫️Представления:
- Semantic segmentation representations (provided by the environment)
- Natural language representation (features from environment + semantic segmentation + Word2Vec или GloVe + TextCNN)
- Raw image (CNN)
- Feature vector (features from environment + MLP)
▫️Игровые сценарии:
- Пристрели монстра
- Не умри от яда собирая аптечки
- Уклоняйся от файерболов
- Defend the center - отстреливайся от набегающих монстров, стоя на месте
- Адище
exbert.net - A Visual Analysis Tool to Explore Learned Representations in Transformers Models
Удобная тулза для визуализации внутренних представлений BERT. Астроголи объявили удвоение статей по анализу трансформеров на следующем ACL.
twitter.com/Ben_Hoov/status/1183823783754371076
Удобная тулза для визуализации внутренних представлений BERT. Астроголи объявили удвоение статей по анализу трансформеров на следующем ACL.
twitter.com/Ben_Hoov/status/1183823783754371076
Twitter
Ben Hoover
Pleased to announce exBERT, an interactive tool to explore the embeddings and attention of Transformer models at different layers, with different heads. Demo: https://t.co/FxFLDutYmK Paper: https://t.co/1x18EbgklP #NLProc With @sebgehr @hen_str @MITIBMLab…
Ещё тут люди говорят, что RAdam на самом деле не делает ничего полезного и стоит продолжать использовать Adam с warmup. И даже предлагают сколько этого warmup’а нужно (спойлер: 2/(1−β2) итераций).
twitter.com/denisyarats/status/1183794108856459264
twitter.com/denisyarats/status/1183794108856459264
Twitter
Denis Yarats
Excited to share our new work lead by @rjerryma, where we attempt to demystify RAdam (Liu et al. 2019) and its automatic learning rate warmup schedule. Paper: https://t.co/hDsfzzfmiv [1/4]
И вышел Python 3.8
Основные фичи:
1. Walrus operator, позволяющий одновременно присвоить значение и возвратить его
1. Positional-only arguments
1. Много всего нового в модуле typing (посмотрите на протоколы!)
1. Новый синтаксис в f-string
1. Новый модуль importlib.metadata, позволяющий узнавать информацию о dependency и об установленных пакетах на уровне кода
1. Новые фичи в math и statistics:
1. Warnings about dangerous syntax. Вот этот лично мне будет полезен:
1. Всякие ускорения (namedtuple работает в 2 раза быстрее)
realpython.com/python38-new-features
Основные фичи:
1. Walrus operator, позволяющий одновременно присвоить значение и возвратить его
1. Positional-only arguments
1. Много всего нового в модуле typing (посмотрите на протоколы!)
1. Новый синтаксис в f-string
f"{my_variable=}"
, который эквивалентен f"my_variable={my_variable}"
1. Новый модуль importlib.metadata, позволяющий узнавать информацию о dependency и об установленных пакетах на уровне кода
1. Новые фичи в math и statistics:
math.prod, math.isqrt, statistics.geometric_mean, statistics.multimode, statistics.NormalDist
1. Warnings about dangerous syntax. Вот этот лично мне будет полезен:
SyntaxWarning: 'tuple' object is not callable; you missed a comma?
1. Всякие ускорения (namedtuple работает в 2 раза быстрее)
realpython.com/python38-new-features
Realpython
Python 3.8: Cool New Features for You to Try – Real Python
What does Python 3.8 bring to the table? Learn about some of the biggest changes and see you how you can best make use of them.
Massively Multilingual Neural Machine Translation in the Wild: Findings and Challenges
Arivazhagan et al. [Google Brain]
arxiv.org/abs/1907.05019
We also studied other properties of very deep networks, including the depth-width trade-off, trainability challenges and design choices for scaling Transformers to over 1500 layers with 84 billion parameters.
А теперь немного серьёзнее. Как они до такого дошли?
Идея: многоязычные системы машинного перевода существуют уже давно, но обычно их обучают на нескольких high-resource языках (гигабайты текста); но почему бы не попробовать обучить их на 103 языках (25 млн. пар предложений) и посмотреть на BLEU en⟼any и any⟼ en?
При модели Transformer-Big, стандартной для машинного перевода, у высокоресурсных языков (немецкий, французский, …) качество падает относительно двуязычного бейзлайна (максимум -5 BLEU). Однако, BLEU низкоресурсных языков (йоруба, синдхи, савайский, …) растёт вплоть до +10 BLEU (в среднем +5). И это очень заметное улучшение.
Но как сохранить высокочастотные языки? Возможно, модель просто недостаточно ёмкая, чтобы выучить их одновременно с низкочастотными (попробуйте сами выучить сотню языков). Как проверить эту гипотезу? Увеличить модель до безумных размеров!
Способа увеличить модельку два: в ширину и в глубину.
1. Wide transformer (24 слоя, 32 головы, 2048 attention hidden, 16384 fc-hidden, 1.3B total)
2. Deep transformer (48 слоёв, 16 голов, 1024 attention hidden, 4096 fc-hidden, 1.3B total)
Результат: ещё больший прирост в низкоресурсных, появился прирост в среднересурсных, потерь в высокоресурсных почти нет.
статья в блоге: ai.googleblog.com/2019/10/exploring-massively-multilingual.html
за ссылку спасибо @twlvth
P.S. Заявленная в блоге модель на 84B параметров в тексте статьи так и не появилась =(
Гугл, не надо так.
P.P.S Также очень советую посмотреть статью. В ней много подробностей о тренировке, e.g. как правильно семплить языки и больше интересных резульатов. В один пост не уместить.
Arivazhagan et al. [Google Brain]
arxiv.org/abs/1907.05019
We also studied other properties of very deep networks, including the depth-width trade-off, trainability challenges and design choices for scaling Transformers to over 1500 layers with 84 billion parameters.
А теперь немного серьёзнее. Как они до такого дошли?
Идея: многоязычные системы машинного перевода существуют уже давно, но обычно их обучают на нескольких high-resource языках (гигабайты текста); но почему бы не попробовать обучить их на 103 языках (25 млн. пар предложений) и посмотреть на BLEU en⟼any и any⟼ en?
При модели Transformer-Big, стандартной для машинного перевода, у высокоресурсных языков (немецкий, французский, …) качество падает относительно двуязычного бейзлайна (максимум -5 BLEU). Однако, BLEU низкоресурсных языков (йоруба, синдхи, савайский, …) растёт вплоть до +10 BLEU (в среднем +5). И это очень заметное улучшение.
Но как сохранить высокочастотные языки? Возможно, модель просто недостаточно ёмкая, чтобы выучить их одновременно с низкочастотными (попробуйте сами выучить сотню языков). Как проверить эту гипотезу? Увеличить модель до безумных размеров!
Способа увеличить модельку два: в ширину и в глубину.
1. Wide transformer (24 слоя, 32 головы, 2048 attention hidden, 16384 fc-hidden, 1.3B total)
2. Deep transformer (48 слоёв, 16 голов, 1024 attention hidden, 4096 fc-hidden, 1.3B total)
Результат: ещё больший прирост в низкоресурсных, появился прирост в среднересурсных, потерь в высокоресурсных почти нет.
статья в блоге: ai.googleblog.com/2019/10/exploring-massively-multilingual.html
за ссылку спасибо @twlvth
P.S. Заявленная в блоге модель на 84B параметров в тексте статьи так и не появилась =(
Гугл, не надо так.
P.P.S Также очень советую посмотреть статью. В ней много подробностей о тренировке, e.g. как правильно семплить языки и больше интересных резульатов. В один пост не уместить.
arXiv.org
Massively Multilingual Neural Machine Translation in the Wild:...
We introduce our efforts towards building a universal neural machine translation (NMT) system capable of translating between any language pair. We set a milestone towards this goal by building a...
Забавный способ применения GPT-2. Для шифрованных сообщений. С фиксированным сидом можно подобрать такой префиксный текст, который генерит ваше секретное послание.
twitter.com/altsoph/status/1184426687683055617
twitter.com/altsoph/status/1184426687683055617
Twitter
Aleksey Tikhonov
#HarvardNLP proposed to use a GPT-2 for steganography. To encrypt a secret message, one specifies its text, as well as seed (sets both a key and an output style). To decode it, one needs to know the existence of the message, a seed-text, and the same model…
Deep learning отнимает работу там, где никто не ожидал. DeepMind применил нейросетки для восстановления текстов на древнегреческом. Error rate их системы: 30%. С одной стороны - это много, а с другой стороны, error rate профессионального эпиграфиста (да, есть целая профессия, которая посвящена таким задачам) - 57%.
Restoring ancient text using deep learning: a case study on Greek epigraphy
Assael et al. DeepMind
arxiv.org/abs/1910.06262
блог: deepmind.com/research/publications/Restoring-ancient-text-using-deep-learning-a-case-study-on-Greek-epigraphy
Restoring ancient text using deep learning: a case study on Greek epigraphy
Assael et al. DeepMind
arxiv.org/abs/1910.06262
блог: deepmind.com/research/publications/Restoring-ancient-text-using-deep-learning-a-case-study-on-Greek-epigraphy
arXiv.org
Restoring ancient text using deep learning: a case study on Greek epigraphy
Ancient history relies on disciplines such as epigraphy, the study of ancient inscribed texts, for evidence of the recorded past. However, these texts, "inscriptions", are often damaged over the...
Ещё тут facebook показывает свои свежие результаты по низкоресурсному машинному переводу.
We’ve developed a novel approach that combines several methods, including iterative back-translation and self-training with noisy channel decoding, to build the best-performing English-Burmese MT system (+8 BLEU points over the second-best team).
We’ve also developed a state-of-the-art approach for better filtering of noisy parallel data from public websites with our LASER toolkit. … first place for the shared task on corpus filtering for low-resource languages of Sinhala and Nepali at WMT 2019.
В общем на удивление LASER не забыли и нашли ему интересное применение. Кстати ещё в блоге есть неплохие анимации, показывающие их подход. Советую посмотреть.
ai.facebook.com/blog/recent-advances-in-low-resource-machine-translation
We’ve developed a novel approach that combines several methods, including iterative back-translation and self-training with noisy channel decoding, to build the best-performing English-Burmese MT system (+8 BLEU points over the second-best team).
We’ve also developed a state-of-the-art approach for better filtering of noisy parallel data from public websites with our LASER toolkit. … first place for the shared task on corpus filtering for low-resource languages of Sinhala and Nepali at WMT 2019.
В общем на удивление LASER не забыли и нашли ему интересное применение. Кстати ещё в блоге есть неплохие анимации, показывающие их подход. Советую посмотреть.
ai.facebook.com/blog/recent-advances-in-low-resource-machine-translation
Facebook
Recent advances in low-resource machine translation
Recently, Facebook AI has advanced state-of-the-art results in key language understanding tasks and also launched a new benchmark to push AI systems further