2. Простые модификации Трансформера -- в основном, полученные усечением функциональности.



Из относительно интересных модификаций мне попались такие:



2.1. Non-Autoregressive Neural Machine Translation, Salesforce, конец 2017

Статья: https://arxiv.org/abs/1711.02281

Блогопост: https://blog.einstein.ai/fully-parallel-text-generation-for-neural-machine-translation/



Тут товарищи придумали параллелить генерацию выхода -- каждое слово выхода считается независимо, т.к. декодеры смотрят на немного переделанный вход сети, а не на то, что на прошлом шаге сгенерировали. В итоге выход генерируется за один проход, скорость растёт. Качество падает, но на их тестах не фатально.



2.2. Character-Level Language Modeling with Deeper Self-Attention, Гугл, лето 2018

Статья: https://arxiv.org/abs/1808.04444

Код: https://github.com/nadavbh12/Character-Level-Language-Modeling-with-Deeper-Self-Attention-pytorch



Грубо говоря, взяли от Трансформера только стек декодера, увеличили его глубину до 64 слоёв и сделали на его базе char based LM. Получили SOTA на ряде тестов (до этого SOTA были RNN модели)



2.3. Improving Language Understanding by Generative Pre-Training, OpenAI, лето 2018

Официальный пост про GPT-1: https://openai.com/blog/language-unsupervised/

Статья: https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language-unsupervised/language_understanding_paper.pdf

Код: https://github.com/openai/finetune-transformer-lm



Товарищи из OpenAI тем же способом сделали свой GPT-1 aka OpenAI Transformer -- по сути своей это тоже же LM на базе декодерного стека от Трансформера, только word-based (и недавно нашумевшая GPT-2 относится сюда же, только она сильно больше размером + они поменяли схему нормализации и первичную инциализацию).



2.4 Masked BERT, Гугл, осень 2018

Подробный разбор: http://jalammar.github.io/illustrated-bert/



Если очень упрощать, то тут товарищи решили сделать bidirectional LM на базе Трансформера. Для этого они используют не декодер, а стек энкодеров, а слово под вопросом они маскируют во входной строке.