Block-reccurrent transformers
Hutchins, Schlag, et al.
arxiv.org/abs/2203.07852
Возьмите трансформер и поверните его на бок. Сделайте немного рекуррентным и получите новую SOTA на длинном языковом моделировании (ну почти).
Идея это некоторая комбинация LSTM и TransformerXL. Текст чанкают на куски длины 512 и к каждому из них применяется трансформер. Но на вход он берёт не только токены текста, но и стйт-хиддены предыдущего чанка. Выдаёт два вида хидденов — одни как у обычного трансформера, которые дают представления токенов, а вторые — стейт-хиддены которые будет использовать следующий рекуррентный шаг.
Архитектурно моделька состоит из двух трансформеров (часть весов зашерена): вертикальный и горизонтальный.
Вертикальный это обычный TransformerDecoder который на вход принимает последовательность тоенов, а в качестве контекста берёт стейт-хидден предыдушего шага. Выдаёт этот трансформер вектора тоенов. Горизонтальный делает наоборот, вход: стейт хидден, контекст: последовательность слов. Кроме этого в нём есть дополнительный гейт аналогичный LSTM.
Дальше больше странностей: заменяют только один слой трансформера на рекуррентный. Конкретно 10 из 12. Всё остальное обычный трансформер.
По результатам: на языковом моделировании обходят TransformerXL, Memorizing Transformer, Compressive Transformer и Routing Transformer.
Выглядит очень забавно. Такой RNN strikes back. Хотелось бы увидеть больше подобных подходов.
Hutchins, Schlag, et al.
arxiv.org/abs/2203.07852
Возьмите трансформер и поверните его на бок. Сделайте немного рекуррентным и получите новую SOTA на длинном языковом моделировании (ну почти).
Идея это некоторая комбинация LSTM и TransformerXL. Текст чанкают на куски длины 512 и к каждому из них применяется трансформер. Но на вход он берёт не только токены текста, но и стйт-хиддены предыдущего чанка. Выдаёт два вида хидденов — одни как у обычного трансформера, которые дают представления токенов, а вторые — стейт-хиддены которые будет использовать следующий рекуррентный шаг.
Архитектурно моделька состоит из двух трансформеров (часть весов зашерена): вертикальный и горизонтальный.
Вертикальный это обычный TransformerDecoder который на вход принимает последовательность тоенов, а в качестве контекста берёт стейт-хидден предыдушего шага. Выдаёт этот трансформер вектора тоенов. Горизонтальный делает наоборот, вход: стейт хидден, контекст: последовательность слов. Кроме этого в нём есть дополнительный гейт аналогичный LSTM.
Дальше больше странностей: заменяют только один слой трансформера на рекуррентный. Конкретно 10 из 12. Всё остальное обычный трансформер.
По результатам: на языковом моделировании обходят TransformerXL, Memorizing Transformer, Compressive Transformer и Routing Transformer.
Выглядит очень забавно. Такой RNN strikes back. Хотелось бы увидеть больше подобных подходов.
🔥12👍7
Building games and apps entirely through natural language using OpenAI’s code-davinci model
Тык
В посте рассказывают о том, как заставили Codex написать несколько визуализаций/игр на JS. Они все выглядят очень простыми, но все написаны по сути на естественнном языке, без каких-либо ручных корекций кода. Одна из них даже VR.
Все конечно выглядят очень просто, но интересно что в принципе можно сделать чисто на кодексе. Хотелось бы увидеть некий challenge, где люди пытаются написать какой-то проект полностью в режиме "кодекс напиши".
Тык
В посте рассказывают о том, как заставили Codex написать несколько визуализаций/игр на JS. Они все выглядят очень простыми, но все написаны по сути на естественнном языке, без каких-либо ручных корекций кода. Одна из них даже VR.
Все конечно выглядят очень просто, но интересно что в принципе можно сделать чисто на кодексе. Хотелось бы увидеть некий challenge, где люди пытаются написать какой-то проект полностью в режиме "кодекс напиши".
🤔2🔥1
Быстрая подборка NLP новостей
1. Недавно BigScience начал тренировку 176B мультиязычной модели. Код и модель будут публично доступны всем. Модель тренируется на 416 A100 80Gb GPU и тренировка займёт больше месяца. Вот тут можно увидеть tensorboard модели, а вот тут подробнее почитать про неё и посмотреть на код.
2. Аннотированный RETRO (просто статья с заметками) от labml.ai
3. Статья-рецепт о zero-shot адаптации моделей на родственные языки (например с немецкого на шведский немецкий). Очень важным трюком оказалось добавлять посимвольный шум во время тренировки.
4. Новый запуск MIT 6.S191 Intro to Deep Learning. Первые две лекции уже доступны на YouTube.
5. DeepMind Gopher зафайнюнили так, чтобы модель отвечала на вопросы цитируя источники. Подход очень похож на WebGPT, но в отличие от него Gopher напрямую напрявляет запрос пользователя в поисковик, а потом работает с сырыми текстами которые нашлись вместо того чтобы интерактивно пытаться найти ответ.
1. Недавно BigScience начал тренировку 176B мультиязычной модели. Код и модель будут публично доступны всем. Модель тренируется на 416 A100 80Gb GPU и тренировка займёт больше месяца. Вот тут можно увидеть tensorboard модели, а вот тут подробнее почитать про неё и посмотреть на код.
2. Аннотированный RETRO (просто статья с заметками) от labml.ai
3. Статья-рецепт о zero-shot адаптации моделей на родственные языки (например с немецкого на шведский немецкий). Очень важным трюком оказалось добавлять посимвольный шум во время тренировки.
4. Новый запуск MIT 6.S191 Intro to Deep Learning. Первые две лекции уже доступны на YouTube.
5. DeepMind Gopher зафайнюнили так, чтобы модель отвечала на вопросы цитируя источники. Подход очень похож на WebGPT, но в отличие от него Gopher напрямую напрявляет запрос пользователя в поисковик, а потом работает с сырыми текстами которые нашлись вместо того чтобы интерактивно пытаться найти ответ.
huggingface.co
bigscience/tr11-176B-logs · Training metrics
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
🔥13👍5
Завтра в 6 вечера по Москве выступаю в сберлоге, будем обсуждать RETRO и модели с памятью. Подключайтесь.
Forwarded from (sci)Berloga Всех Наук и Технологий
🚀 @SBERLOGABIG online seminar on machine learning:
👨🔬 Vlad Lialin «Современные модели с памятью. Начало новой парадигмы? »
⌚️ Четверг 24 марта, 18.00 по Москве
О докладчике: Влад - автор одного из лучших каналов в телеграмме по Natural Language Processing - "DL in NLP" (@dlinnlp) - подписывайтесь !
В 2019 GPT-2 изменил NLP навсегда. Впервые подход "больше данных, больше слоёв" начал работать для языка. 2020 принёс GPT-3, который поражал нас своими размерами ещё больше. Постепенно гигантские модели стали практически повседневными - у каждой большой компании есть одна или две - но тренировать их становится всё сложнее.
Всего несколько месяцев назад DeepMind выпустил модель RETRO. Её особенность заключается в том, что несмотря на небольшой по современным меркам размер (7B), она обходит GPT-3 (175B) и Gopher (280B) на большом числе задач. Каким образом? Кроме информации заключенной в параметрах нейросети, RETRO обращается к огромному текстовому корпусу в котором ищет похожие тексты. Эти похожие тексты подаются в языковую модель вместе с обычным входом, который языковая модель должна продолжить. Таким образом RETRO может "подсмотреть" какую-то информацию которую никогда не видела или не запомнила из этой внешней базы данных.
На встрече мы разберём предшествовавшие модели, такие как KNN-LM, подробно разберём саму RETRO и как она работает и пофантазируем как такой подход может потенциально изменить NLP в 2022.
Ссылка на зум будет доступна в этом канале: https://t.iss.one/sberlogabig ближе к началу доклада.
Подписывайтесь на канал https://t.iss.one/sberlogabig ! Интересные материалы и увлекательные доклады.👍
👨🔬 Vlad Lialin «Современные модели с памятью. Начало новой парадигмы? »
⌚️ Четверг 24 марта, 18.00 по Москве
О докладчике: Влад - автор одного из лучших каналов в телеграмме по Natural Language Processing - "DL in NLP" (@dlinnlp) - подписывайтесь !
В 2019 GPT-2 изменил NLP навсегда. Впервые подход "больше данных, больше слоёв" начал работать для языка. 2020 принёс GPT-3, который поражал нас своими размерами ещё больше. Постепенно гигантские модели стали практически повседневными - у каждой большой компании есть одна или две - но тренировать их становится всё сложнее.
Всего несколько месяцев назад DeepMind выпустил модель RETRO. Её особенность заключается в том, что несмотря на небольшой по современным меркам размер (7B), она обходит GPT-3 (175B) и Gopher (280B) на большом числе задач. Каким образом? Кроме информации заключенной в параметрах нейросети, RETRO обращается к огромному текстовому корпусу в котором ищет похожие тексты. Эти похожие тексты подаются в языковую модель вместе с обычным входом, который языковая модель должна продолжить. Таким образом RETRO может "подсмотреть" какую-то информацию которую никогда не видела или не запомнила из этой внешней базы данных.
На встрече мы разберём предшествовавшие модели, такие как KNN-LM, подробно разберём саму RETRO и как она работает и пофантазируем как такой подход может потенциально изменить NLP в 2022.
Ссылка на зум будет доступна в этом канале: https://t.iss.one/sberlogabig ближе к началу доклада.
Подписывайтесь на канал https://t.iss.one/sberlogabig ! Интересные материалы и увлекательные доклады.👍
👍12🔥6
Наша презентация в сберлоге закончилась, а тем временем идёт Ask Me Anything от BigScience на реддите. Можно зайти почитать ответы на вопросы или задать свои.
Reddit
r/MachineLearning on Reddit: [Announcement] HuggingFace BigScience AMA Thursday, March 24th from 5pm CET
Posted by u/cavedave - 104 votes and 183 comments
Forwarded from я обучала одну модель
This media is not supported in your browser
VIEW IN TELEGRAM
У Майкрософт какое-то время назад вышла статья про µTransfer – эффективную технику подбора гиперпараметров для гигантских нейросетей
In a nutshell, сначала они придумали, как более эффективно скейлить веса моделей при инициализации и апдейте, так, чтобы не взрывались и не затухали градиенты. Потом оказалось, что при такой параметризации можно ‘переносить’ гиперпараметры – сначала найти наилучшие значения для тренировки модели поменьше, и потом перенести их на большую модель. И теоретически, и эмпирически оказывается, что оптимальные значения гиперпараметров для обучения будут +- близки при таком скейлинге, то есть, например, оптимальные значения learning rate для большой и маленькой модели будут совпадать. В частности это хорошо работает при увеличении width сетки (числа нейронов в одном слое), но и для глубины, батчсайза и sequence length работает тоже
Авторы так перенесли параметры обучения GPT 40M на GPT 6B, и их модель побила качество модели такого же размера на NLU задачах
In a nutshell, сначала они придумали, как более эффективно скейлить веса моделей при инициализации и апдейте, так, чтобы не взрывались и не затухали градиенты. Потом оказалось, что при такой параметризации можно ‘переносить’ гиперпараметры – сначала найти наилучшие значения для тренировки модели поменьше, и потом перенести их на большую модель. И теоретически, и эмпирически оказывается, что оптимальные значения гиперпараметров для обучения будут +- близки при таком скейлинге, то есть, например, оптимальные значения learning rate для большой и маленькой модели будут совпадать. В частности это хорошо работает при увеличении width сетки (числа нейронов в одном слое), но и для глубины, батчсайза и sequence length работает тоже
Авторы так перенесли параметры обучения GPT 40M на GPT 6B, и их модель побила качество модели такого же размера на NLU задачах
👍30
Интересно видеть много новых работ в которых пытаются предсказать гиперпараметры и перфоманс больших моделей. Постфактум абсолютно очевидно, что сейчас многие беспокоятся об этом, тк хотелось бы скейлить моедли эффективно.
Статья про µTransfer даёт нам очень интересный и теоретически подкреплённый взгляд на то как выбирать lr, beta1, beta2 и параметры инициализации (к сожалению только эти гиперпараметры) для моделей. С учётом того что метод очень легко имплементировать (см картинку), ожидаю что через пару лет он будет дефолтом во всех фреймворках.
В пару дней назад DeepMind опубликовал статью, где они исследовали tradeoff между размером модели, датасета и FLOPS. Главное их заключение в том, что вообще говоря при фиксированном компьюте мы должны делать модели чуть-чуть поменьше и давать им больше данных, чем мы делаем сейчас. Для того чтобы это продемонстировать они тренируют модель Chinchilla 70B, которая показывает себя лучше чем Gopher 280B. Однако тут все не так чисто, тк сетап заметно отличается от Gopher: используют AdamW, другую токенизацию и float32 для параметров оптимизатора.
Вангую что в этом году будет 2-3 статьи-ревью исследований по скейлингу моделей.
Статья про µTransfer даёт нам очень интересный и теоретически подкреплённый взгляд на то как выбирать lr, beta1, beta2 и параметры инициализации (к сожалению только эти гиперпараметры) для моделей. С учётом того что метод очень легко имплементировать (см картинку), ожидаю что через пару лет он будет дефолтом во всех фреймворках.
В пару дней назад DeepMind опубликовал статью, где они исследовали tradeoff между размером модели, датасета и FLOPS. Главное их заключение в том, что вообще говоря при фиксированном компьюте мы должны делать модели чуть-чуть поменьше и давать им больше данных, чем мы делаем сейчас. Для того чтобы это продемонстировать они тренируют модель Chinchilla 70B, которая показывает себя лучше чем Gopher 280B. Однако тут все не так чисто, тк сетап заметно отличается от Gopher: используют AdamW, другую токенизацию и float32 для параметров оптимизатора.
Вангую что в этом году будет 2-3 статьи-ревью исследований по скейлингу моделей.
👍2
OpenAI выпустил DALL-E 2
openai.com/dall-e-2
vimeo.com/692375454
Основная идея: использовать эмбеддинги CLIP для генерации вектора текста, обсуславливаться на этот эмбеддинг при генерации изображения. Для генерации используют не языковую модель на VAE-токенах а диффузию (GLIDE).
Судя по промо-материалам, модель будет доступна по API.
openai.com/dall-e-2
vimeo.com/692375454
Основная идея: использовать эмбеддинги CLIP для генерации вектора текста, обсуславливаться на этот эмбеддинг при генерации изображения. Для генерации используют не языковую модель на VAE-токенах а диффузию (GLIDE).
Судя по промо-материалам, модель будет доступна по API.
Openai
DALL·E 2
DALL·E 2 is an AI system that can create realistic images and art from a description in natural language.
👍5
Advances toward ubiquitous neural information retrieval
ai.facebook.com/blog/-advances-toward-ubiquitous-neural-information-retrieval
Кажется что до сих пор все продакшн-системы поиска (IR) используют вариацию BM25 как первый шаг ранжирования. Причин много: неплохое качество поиска, много инфраструктуры заточенно под разреженные представления текстов, а также они довольно хорошо ищут редкие термины.
Нейронные системы поиска при этом могут гораздо лучше понимать смысл текста, синонымы, парафразы итд. Принципиально, нейронный IR может очень сильно изменить то как мы ищем информацию и, самое главное — формируем запросы. Сейчас как правило нейросети используют уже после BM25 для того чтобы переранжировать условные несколько сотен найденных документов, но до замены BM25 ещё далеко.
Meta AI активно движется в эту сторону. Пару лет назад мы увидели DPR, который заменил BM25 в QA системах (по крайней мере для рисёчеров). А сейчас можно увидеть как такие подходы всё ближе движутся в сторону прода.
Например DrBoost (реверанс в сторону DrQa и бустинга) обучает целый ансамбль ранжирующих моделей, где каждая следующая модель пытается исправить ошибки предыдущей. При инференсе все представления этих моделей конкатенируются в один вектор. Зачем это надо? Позволяет сделать размеры векторов в 4 раза меньше, а также делает их более устойчивыми для квантизации, что позволяет уменьшить latency поиска ещё в 4 раза.
Multi-task retreival заметно улучшает генерализацию на узкие домены и редкие термины без какого-либо domain-specific и task-specific файнтюнинга. Основная идея подхода проста: мы обучаем модель одновременно на различных IR задачах: QA, fact checking, entity linking, dialogue, ... Для улучшения качества использовали несколько фаз получения hard negatives — в начале от BM25, а потом от предыдущей натренированной модели.
И ещё одна интересная статья рассказывает о том, что почему-то увеличение размера IR датасетов не сильно помогает получить более хорошие модели, что очень нетипично для диплёрнинга. В качетсве решения они предлагают сделать новый метод претренинга IR систем, где автоматическая система генерации вопросов делает огромный датасет (65 миллионов QA-пар) на котором ранжировщик и обучается.
ai.facebook.com/blog/-advances-toward-ubiquitous-neural-information-retrieval
Кажется что до сих пор все продакшн-системы поиска (IR) используют вариацию BM25 как первый шаг ранжирования. Причин много: неплохое качество поиска, много инфраструктуры заточенно под разреженные представления текстов, а также они довольно хорошо ищут редкие термины.
Нейронные системы поиска при этом могут гораздо лучше понимать смысл текста, синонымы, парафразы итд. Принципиально, нейронный IR может очень сильно изменить то как мы ищем информацию и, самое главное — формируем запросы. Сейчас как правило нейросети используют уже после BM25 для того чтобы переранжировать условные несколько сотен найденных документов, но до замены BM25 ещё далеко.
Meta AI активно движется в эту сторону. Пару лет назад мы увидели DPR, который заменил BM25 в QA системах (по крайней мере для рисёчеров). А сейчас можно увидеть как такие подходы всё ближе движутся в сторону прода.
Например DrBoost (реверанс в сторону DrQa и бустинга) обучает целый ансамбль ранжирующих моделей, где каждая следующая модель пытается исправить ошибки предыдущей. При инференсе все представления этих моделей конкатенируются в один вектор. Зачем это надо? Позволяет сделать размеры векторов в 4 раза меньше, а также делает их более устойчивыми для квантизации, что позволяет уменьшить latency поиска ещё в 4 раза.
Multi-task retreival заметно улучшает генерализацию на узкие домены и редкие термины без какого-либо domain-specific и task-specific файнтюнинга. Основная идея подхода проста: мы обучаем модель одновременно на различных IR задачах: QA, fact checking, entity linking, dialogue, ... Для улучшения качества использовали несколько фаз получения hard negatives — в начале от BM25, а потом от предыдущей натренированной модели.
И ещё одна интересная статья рассказывает о том, что почему-то увеличение размера IR датасетов не сильно помогает получить более хорошие модели, что очень нетипично для диплёрнинга. В качетсве решения они предлагают сделать новый метод претренинга IR систем, где автоматическая система генерации вопросов делает огромный датасет (65 миллионов QA-пар) на котором ранжировщик и обучается.
Facebook
Advances toward ubiquitous neural information retrieval
Today, we’re sharing cutting-edge dense retrieval models that will help pave the way for ubiquitous neural information retrieval. This work will not only improve search as we currently use it, but also enable smarter AI agents of the future.
🔥7👍3
The evolution of API for running cutting edge AI:
- run it on your own machine
- run it in the cloud
- apply pay for and query an api endpoint
- pretty please ask one of the authors to run it for you on Twitter
🥲
Какая же это жиза
twitter.com/karpathy/status/1512117132716355590
- run it on your own machine
- run it in the cloud
- apply pay for and query an api endpoint
- pretty please ask one of the authors to run it for you on Twitter
🥲
Какая же это жиза
twitter.com/karpathy/status/1512117132716355590
Twitter
Andrej Karpathy
The evolution of API for running cutting edge AI: - run it on your own machine - run it in the cloud - apply pay for and query an api endpoint - pretty please ask one of the authors to run it for you on Twitter 🥲
😢8👏2😁1
В Optimum добавили очень простой способ квантизовывать модели из Transformers.
Вообще интересно как квантизация будет жить вместе с большими моделями. Вокруг себя вижу сильный рост интереса попробовать модели в 1B параметров и больше на различных задачах, но эти модели даже при переводе в fp16 зачастую перестают работать.
huggingface.co/docs/optimum/main/en/quickstart
Вообще интересно как квантизация будет жить вместе с большими моделями. Вокруг себя вижу сильный рост интереса попробовать модели в 1B параметров и больше на различных задачах, но эти модели даже при переводе в fp16 зачастую перестают работать.
huggingface.co/docs/optimum/main/en/quickstart
👍13
⚡️A Case of Plagarism in Machine Learning Research
nicholas.carlini.com/writing/2022/a-case-of-plagarism-in-machine-learning.html
Пару недель назад Beijing Academy of Artificial Intelligence опубликовала статью на архиве, в которой описывался их подход и стратегия по тренировке больших моделей. Nicholas Carlini заметил, что несколько параграфов из этой статьи практически дословно копируют статью Deduplicating Training Data Makes Language Models Better (которая кстати о копировании данных лол). Интересно, какие будут последствия. Кто-то говорит о том, что авторы могут быть забанены на Arxiv, но с другой стороны их около сотни и это очень жёсткая мера, тк не все авторы могли знать о копировании. Очень неприятно видеть такое в нашей области. Не плагиатьте пожалуйста.
nicholas.carlini.com/writing/2022/a-case-of-plagarism-in-machine-learning.html
Пару недель назад Beijing Academy of Artificial Intelligence опубликовала статью на архиве, в которой описывался их подход и стратегия по тренировке больших моделей. Nicholas Carlini заметил, что несколько параграфов из этой статьи практически дословно копируют статью Deduplicating Training Data Makes Language Models Better (которая кстати о копировании данных лол). Интересно, какие будут последствия. Кто-то говорит о том, что авторы могут быть забанены на Arxiv, но с другой стороны их около сотни и это очень жёсткая мера, тк не все авторы могли знать о копировании. Очень неприятно видеть такое в нашей области. Не плагиатьте пожалуйста.
👎11🤮6❤1👍1
Сейчас идет онлайн-конференция Data Fusion 2022.
В программе — доклады о распределенных моделях оптимизации, графовой аналитике и федеративных моделях, трендах NLP, сomputer vision и MLOps. Среди спикеров — Константин Воронцов, Евгений Бурнаев, Андрей Райгородский, Иван Оселедец, Дмитрий Ветров, Виктор Кантор, Петр Ермаков, Павел Мягких и другие эксперты в data science.
После докладов начинаются Q&A сессии в SpatialChat — это виртуальные комнаты, в которых можно лично пообщаться со спикером и обсудить проекты. Подключайтесь и задавайте вопросы.
Конференцию организуют «Сколково» при поддержке ВТБ.
Участие бесплатно, а программу можно посмотреть по ссылке: https://bit.ly/3rmGFg8
#промо
В программе — доклады о распределенных моделях оптимизации, графовой аналитике и федеративных моделях, трендах NLP, сomputer vision и MLOps. Среди спикеров — Константин Воронцов, Евгений Бурнаев, Андрей Райгородский, Иван Оселедец, Дмитрий Ветров, Виктор Кантор, Петр Ермаков, Павел Мягких и другие эксперты в data science.
После докладов начинаются Q&A сессии в SpatialChat — это виртуальные комнаты, в которых можно лично пообщаться со спикером и обсудить проекты. Подключайтесь и задавайте вопросы.
Конференцию организуют «Сколково» при поддержке ВТБ.
Участие бесплатно, а программу можно посмотреть по ссылке: https://bit.ly/3rmGFg8
#промо
app.spatial.chat
SpatialChat
Virtual space platform to help remote teams collaborate.
👍10👎4❤1
Linearizing Transformer with Key-Value Memory Bank
Zhang and Cai
arxiv.org/abs/2203.12644
Интересный заход на длинные трансформеры с прицелом именно на длинную генерацию. В предложенной модели, MemSizer, attention модифицируется следущим образом. Q остаётся примерно как есть, K становится латентным и число ваших ключей — гиперпараметр. В статье работают с 8-128 ключами, что на удивление мало, я бы ожидал каких-то безумных значений типа тысяч или десятков тысяч по аналогии с Large Memory Layers.
С values делают пожалуй самое дикое преобразование. Если в обычном attention они выглядят как
Все эти хаки сделанны для одной вещи: чтобы время генерации уменьшилось с O(MN) до O(Mk + N), а память стала константной вместо O(MN). В языковом моделировании (Wikitext-103, длина 512 токенов) MemSizer сопоставим с другими длинными трансформерами в смысле перплекии, но заметно быстрее. По сравнению с обычным трансформером MemSizer хуже по перплексии (20.2 вместо 17.9), но более чем в полтора раза быстрее и ест в 6 раз меньше памяти при генерации. В машинном переводе (WMT En-FR) чуть-чуть обходит всех по BLEU, но на треть бстрее трансформера. Правда стоит сказать что число параметров у него на 20% меньше, так что ну такое.
Будет интересно как будет развиваться эта идея изначально заложенная в статье Transformers are RNNs.
Zhang and Cai
arxiv.org/abs/2203.12644
Интересный заход на длинные трансформеры с прицелом именно на длинную генерацию. В предложенной модели, MemSizer, attention модифицируется следущим образом. Q остаётся примерно как есть, K становится латентным и число ваших ключей — гиперпараметр. В статье работают с 8-128 ключами, что на удивление мало, я бы ожидал каких-то безумных значений типа тысяч или десятков тысяч по аналогии с Large Memory Layers.
С values делают пожалуй самое дикое преобразование. Если в обычном attention они выглядят как
X W_v
, то в MemSizer это W_l X X^T W_r
, где левая матрица мапит X на ключи K. А после этого делают ещё один трюк, который позволяет вычислять V_i (где i - шаг генерации) реккурентно и с постоянной памятью.Все эти хаки сделанны для одной вещи: чтобы время генерации уменьшилось с O(MN) до O(Mk + N), а память стала константной вместо O(MN). В языковом моделировании (Wikitext-103, длина 512 токенов) MemSizer сопоставим с другими длинными трансформерами в смысле перплекии, но заметно быстрее. По сравнению с обычным трансформером MemSizer хуже по перплексии (20.2 вместо 17.9), но более чем в полтора раза быстрее и ест в 6 раз меньше памяти при генерации. В машинном переводе (WMT En-FR) чуть-чуть обходит всех по BLEU, но на треть бстрее трансформера. Правда стоит сказать что число параметров у него на 20% меньше, так что ну такое.
Будет интересно как будет развиваться эта идея изначально заложенная в статье Transformers are RNNs.
🔥8👍2
Есть очень классная статья — Understanding Back-translation at Scale. Всем её рекомендую кто занимается переводом. Там исследовали различные способы семплирования переводов и выяснили, что самым лучшим является добавлять шум в результаты beam search (NoisedBT).
Так вот сейчас случайно нашёл статью, которая утверждает, что это улучшает систему которая натрнирована на этих сгенерированных переводах не из-за того, что сгенерированный датасет более разнообразный, а из-за того, что такая система учится различать синтетические переводы от естественных.
Объясняют это так: мы с помощью backtranslation и существующих target предлоежний генерируем source предложения. Таким образом есть три сигнала, которые система может выучить: strong supervision от target, weak supervision от cross-lingual и различные biases системы перевода. Если системе при обучении каким-то образом сообщают о том, что source ненастоящие (например добавляя в них шум), то ей проще отделить одно от другого и сконцентрироваться на выучивании strong supervision от target-текстов.
Для проверки натренировали систему которой указывали что данный перевод является результатом backtranslation и она показала более высокое качество, чем NoisedBT. Интересно, что когда оба метода попытались объединить вместе, качество снова упало, что намекает на то, что действительно важно не разнообразие которое создаёт NoisedBT, а просто факт того что модель может проще отличить настоящие предложения от сгенеренных.
Так вот сейчас случайно нашёл статью, которая утверждает, что это улучшает систему которая натрнирована на этих сгенерированных переводах не из-за того, что сгенерированный датасет более разнообразный, а из-за того, что такая система учится различать синтетические переводы от естественных.
Объясняют это так: мы с помощью backtranslation и существующих target предлоежний генерируем source предложения. Таким образом есть три сигнала, которые система может выучить: strong supervision от target, weak supervision от cross-lingual и различные biases системы перевода. Если системе при обучении каким-то образом сообщают о том, что source ненастоящие (например добавляя в них шум), то ей проще отделить одно от другого и сконцентрироваться на выучивании strong supervision от target-текстов.
Для проверки натренировали систему которой указывали что данный перевод является результатом backtranslation и она показала более высокое качество, чем NoisedBT. Интересно, что когда оба метода попытались объединить вместе, качество снова упало, что намекает на то, что действительно важно не разнообразие которое создаёт NoisedBT, а просто факт того что модель может проще отличить настоящие предложения от сгенеренных.
👍15