[DeepMind Gato] A Generalist Agent
Scott Reed, Konrad Zolna, Emilio Parisotto, Sergio Gomez Colmenarejo, Alexander Novikov, Gabriel Barth-Maron, Mai Gimenez, Yury Sulsky, Jackie Kay, Jost Tobias Springenberg, Tom Eccles, Jake Bruce, Ali Razavi, Ashley Edwards, Nicolas Heess, Yutian Chen, Raia Hadsell, Oriol Vinyals, Mahyar Bordbar, Nando de Freitas
Статья: https://arxiv.org/abs/2205.06175
Пост: https://www.deepmind.com/publications/a-generalist-agent
В зоопарке DeepMind пополнение. К шиншилле и фламинго завезли кошку.
На самом деле очень интересная работа, которая делает дальнейший шаг относительно Trajectory Transformer (https://news.1rj.ru/str/gonzo_ML/726) и Decision Transformer (https://news.1rj.ru/str/gonzo_ML/719). Или даже несколько шагов.
Напомним, это эти две модели заходили со стороны замены традиционных компонентов RL на sequence modeling и использовали трансформер-декодер для авторегрессионной генерации действий. Gato идёт дальше и является мультимодальной и мультизадачной моделью, которая кроме задач RL (игры Атари или робот-манипулятор) может также делать captioning картинок или чатиться. И всё это одной обученной моделью, с одним и тем же набором весов, это тоже существенное отличие от decision/trajectory transformer.
В последние пару лет универсальность моделей — это новый тренд. Раньше мы не могли позволить себе одну большую хорошую модель на всё (да и не получалось такую обучить, хотя писали про это давно, тот же Шмидхубер), а в последнее время тренд всё более отчётливый. Сначала пошли валом унимодальные (особенно текстовые) универсальные модели, самый громкий пример из которых, это, конечно, GPT-3 (https://news.1rj.ru/str/gonzo_ML/305), неожиданно оказавшаяся способной решать кучу разнородных задач, на которые её вообще даже не обучали. Потом подтянулись другие модальности (тот же CLIP оказался неожиданно хорош, https://news.1rj.ru/str/gonzo_ML/665), потом и более серьёзные модели пошли (например, Florence, https://news.1rj.ru/str/gonzo_ML/734) или вот недавняя Flamingo (https://news.1rj.ru/str/gonzo_ML/941). Ну и мультимодальность (та же Фламинго, например) с мультизадачностью (например, exT5, https://news.1rj.ru/str/gonzo_ML/761) прогрессировали. Нынешнее сочетание мультимодальности с RL мне нравится особенно, потому что я ожидаю каких-то интересных находок по части symbol grounding и вокруг.
Что интересно, универсальность в целом росла на разных уровнях, как на уровне задач и модальностей (всё перечисленное выше), так и на уровне архитектур (где практически везде в основе оказался трансформер).
Модель не делали супер-большой и тяжёлой, чтобы сохранить возможности работы в рилтайме на текущем железе. Но следующий шаг, конечно, очевиден, надо попробовать отскейлить и посмотреть что нового появится.
Технически, Gato — это трансформер-декодер на 1.18B параметров, 24 слоя, эмбеддинг в 2048 и feed-forward слой после self-attention в 8192.
Поскольку работаем с трансформером, все модальности надо токенизировать. Текст токенизируется через SentencePiece со словарём 32К; картинки в патчи 16x16 как в ViT (https://news.1rj.ru/str/gonzo_ML/434) и затем каждый пиксел нормализуется в диапазон [-1, 1] и делится на корень из размера патча; дискретные значения по типу нажатий на кнопки в Atari просто преобразуются в последовательность целых чисел, а непрерывные значения типа проприоцепции или крутящих моментов сначала через mu-law encoding приводятся к диапазону [-1, 1], а потом равномерно дискретизуются в 1024 значения. Каждый токен эмбеддится специальной параметризованной функцией, картиночные через блок резнета, а остальные через обучаемую look-up table. К результату добавляются обучаемые позиционные энкодинги.
Модель работает авторегрессионно, то есть предсказывает следующий токен по предыдущим. Собственно целевыми токенами для предсказания могут выступать токены текстовых, дискретных и непрерывных значений. Картиночные токены и токены наблюдений агента не предсказываются (не учитываются в loss), но на будущее это интересная тема (получится гибрид с чем-то типа Dreamer?).
Scott Reed, Konrad Zolna, Emilio Parisotto, Sergio Gomez Colmenarejo, Alexander Novikov, Gabriel Barth-Maron, Mai Gimenez, Yury Sulsky, Jackie Kay, Jost Tobias Springenberg, Tom Eccles, Jake Bruce, Ali Razavi, Ashley Edwards, Nicolas Heess, Yutian Chen, Raia Hadsell, Oriol Vinyals, Mahyar Bordbar, Nando de Freitas
Статья: https://arxiv.org/abs/2205.06175
Пост: https://www.deepmind.com/publications/a-generalist-agent
В зоопарке DeepMind пополнение. К шиншилле и фламинго завезли кошку.
На самом деле очень интересная работа, которая делает дальнейший шаг относительно Trajectory Transformer (https://news.1rj.ru/str/gonzo_ML/726) и Decision Transformer (https://news.1rj.ru/str/gonzo_ML/719). Или даже несколько шагов.
Напомним, это эти две модели заходили со стороны замены традиционных компонентов RL на sequence modeling и использовали трансформер-декодер для авторегрессионной генерации действий. Gato идёт дальше и является мультимодальной и мультизадачной моделью, которая кроме задач RL (игры Атари или робот-манипулятор) может также делать captioning картинок или чатиться. И всё это одной обученной моделью, с одним и тем же набором весов, это тоже существенное отличие от decision/trajectory transformer.
В последние пару лет универсальность моделей — это новый тренд. Раньше мы не могли позволить себе одну большую хорошую модель на всё (да и не получалось такую обучить, хотя писали про это давно, тот же Шмидхубер), а в последнее время тренд всё более отчётливый. Сначала пошли валом унимодальные (особенно текстовые) универсальные модели, самый громкий пример из которых, это, конечно, GPT-3 (https://news.1rj.ru/str/gonzo_ML/305), неожиданно оказавшаяся способной решать кучу разнородных задач, на которые её вообще даже не обучали. Потом подтянулись другие модальности (тот же CLIP оказался неожиданно хорош, https://news.1rj.ru/str/gonzo_ML/665), потом и более серьёзные модели пошли (например, Florence, https://news.1rj.ru/str/gonzo_ML/734) или вот недавняя Flamingo (https://news.1rj.ru/str/gonzo_ML/941). Ну и мультимодальность (та же Фламинго, например) с мультизадачностью (например, exT5, https://news.1rj.ru/str/gonzo_ML/761) прогрессировали. Нынешнее сочетание мультимодальности с RL мне нравится особенно, потому что я ожидаю каких-то интересных находок по части symbol grounding и вокруг.
Что интересно, универсальность в целом росла на разных уровнях, как на уровне задач и модальностей (всё перечисленное выше), так и на уровне архитектур (где практически везде в основе оказался трансформер).
Модель не делали супер-большой и тяжёлой, чтобы сохранить возможности работы в рилтайме на текущем железе. Но следующий шаг, конечно, очевиден, надо попробовать отскейлить и посмотреть что нового появится.
Технически, Gato — это трансформер-декодер на 1.18B параметров, 24 слоя, эмбеддинг в 2048 и feed-forward слой после self-attention в 8192.
Поскольку работаем с трансформером, все модальности надо токенизировать. Текст токенизируется через SentencePiece со словарём 32К; картинки в патчи 16x16 как в ViT (https://news.1rj.ru/str/gonzo_ML/434) и затем каждый пиксел нормализуется в диапазон [-1, 1] и делится на корень из размера патча; дискретные значения по типу нажатий на кнопки в Atari просто преобразуются в последовательность целых чисел, а непрерывные значения типа проприоцепции или крутящих моментов сначала через mu-law encoding приводятся к диапазону [-1, 1], а потом равномерно дискретизуются в 1024 значения. Каждый токен эмбеддится специальной параметризованной функцией, картиночные через блок резнета, а остальные через обучаемую look-up table. К результату добавляются обучаемые позиционные энкодинги.
Модель работает авторегрессионно, то есть предсказывает следующий токен по предыдущим. Собственно целевыми токенами для предсказания могут выступать токены текстовых, дискретных и непрерывных значений. Картиночные токены и токены наблюдений агента не предсказываются (не учитываются в loss), но на будущее это интересная тема (получится гибрид с чем-то типа Dreamer?).
Google DeepMind
Publications
Explore a selection of our recent research on some of the most complex and interesting challenges in AI.
👍11🔥1
Модель обучалась офлайн в чистом режиме supervised learning. Но никто не запрещает попробовать то же в online/offline RL.
Чтобы модель различала задачи, решили использовать не идентификаторы задач, а prompt conditioning. При обучении для 25% последовательностей в батче добавляется последовательность prompt’а, сгенерированная этим же агентом на этой же задаче. В половине из этих случаев последовательность берётся из конца эпизода (получается goal conditioning), в другой половине рандомно сэмплится из эпизода.
Обучалось всё это на конфигурации из 16x16 TPU v3 на 1M шагов и батче в 512, с длиной последовательности в 1024 токена. Обучение шло 4 дня.
Во время оценки в промпте даётся пример выполнения задачи и далее идёт наблюдение из среды. Модель авторегрессионно генерит токены, отвечающие за action (их может быть несколько, это определяется задачей и модель останавливают, когда сгенерено нужное количество токенов), эти токены конвертируются в action через инверсию токенизационной процедуры. Действие отправляется в среду, и из среды приходит новое наблюдение. Процесс повторяется. Модель видит все предыдущие токены (наблюдений и действий) в окошке длины 1024. Во время оценки используют механизм памяти из Transformer-XL, во время обучения его не было.
Использовалось много разных датасетов из управления (596 разных задач), а также зрительные и языковые задачи.
На 450 из 604 задач управления модель превысила 50% скора от эксперта. Есть отдельная радужная картинка с разбивкой по типам задач. В задаче укладывания кубиков в определённые формы сравнима с бейзлайном. В тексте и картинках, как сказано в работе “demonstrates rudimentary dialogue and image captioning capabilities”.
Ну то есть модель глобально не SoTA и человечество не захватит, но цели и не было. Была цель продемонстрировать работоспособность подхода, что вполне удалось. Интересно, что даст скейлинг в эту модель, а также если, например, применить рецепты из Шиншиллы и задействовать весь другой передовой опыт.
Для оценки скейлинга дополнительно обучили более мелкие модели на 79М и 364М параметров в дополнение к основной на 1.18B. На графиках видно, что больший масштаб существенно и консистентно поднимает перформанс.
Попробовали на задачах out-of-distribution. Идеально было бы давать информацию о новой задаче через prompt conditioning, но длина контекста ограничена и всё ценное впихнуть не получается. Поэтому зашли через fine-tuning модели на новую задачу. Пробовали это на средней модели с 364М параметров. В зависимости от задачи и от абляций есть разный профит кроме задачи на бокс, там случайно инициализированная модель обучилась лучше.
На задачах укладывания кубиков модель при файнтюнинге восстанавливает качество сравнимое с экспертом за 10 демонстраций. И более тяжёлая модель делает это намного лучше.
Из интересного ещё есть два эксперимента со специализированными моделями, не генералистами. Специалисты обучались на данных только одного домена.
На 50 задачах из Meta-World обучили по эксперту на задачу, сохранили траектории во время обучения, а затем отдистиллировали всех в одного агента и он достиг успеха с 96.6% результатом и, по информации авторов, никакая мультитаск архитектура не приближалась к 100% до этого. Здесь взяли минимальный Gato с 79М параметров и это демонстрация того, что архитектура работает и на малом масштабе.
Также обучили 1.2B модель на 51 игре Атари. Специалист Gato обошёл генералиста Gato, но при скейлинге возможно ситуация изменится.
Движуха интересная. Всё идёт к так называемым “single-brain”-style models, за которые довольно много аргументов из нейробиологии — и универсальный кортикальный алгоритм, и sensory substitution, когда слепые люди с помощью специальных камер начинают видеть языком. Да и интеллектуальные (хочется верить) существа вокруг — это тоже некий proof of existence. В целом недалёкое будущее таких моделей поднимает целый пласт вопросов вокруг AI safety. Отдельный прекрасный пассаж из карточки модели: “Not intended for commercial or production use. Military uses are strictly prohibited.”
Чтобы модель различала задачи, решили использовать не идентификаторы задач, а prompt conditioning. При обучении для 25% последовательностей в батче добавляется последовательность prompt’а, сгенерированная этим же агентом на этой же задаче. В половине из этих случаев последовательность берётся из конца эпизода (получается goal conditioning), в другой половине рандомно сэмплится из эпизода.
Обучалось всё это на конфигурации из 16x16 TPU v3 на 1M шагов и батче в 512, с длиной последовательности в 1024 токена. Обучение шло 4 дня.
Во время оценки в промпте даётся пример выполнения задачи и далее идёт наблюдение из среды. Модель авторегрессионно генерит токены, отвечающие за action (их может быть несколько, это определяется задачей и модель останавливают, когда сгенерено нужное количество токенов), эти токены конвертируются в action через инверсию токенизационной процедуры. Действие отправляется в среду, и из среды приходит новое наблюдение. Процесс повторяется. Модель видит все предыдущие токены (наблюдений и действий) в окошке длины 1024. Во время оценки используют механизм памяти из Transformer-XL, во время обучения его не было.
Использовалось много разных датасетов из управления (596 разных задач), а также зрительные и языковые задачи.
На 450 из 604 задач управления модель превысила 50% скора от эксперта. Есть отдельная радужная картинка с разбивкой по типам задач. В задаче укладывания кубиков в определённые формы сравнима с бейзлайном. В тексте и картинках, как сказано в работе “demonstrates rudimentary dialogue and image captioning capabilities”.
Ну то есть модель глобально не SoTA и человечество не захватит, но цели и не было. Была цель продемонстрировать работоспособность подхода, что вполне удалось. Интересно, что даст скейлинг в эту модель, а также если, например, применить рецепты из Шиншиллы и задействовать весь другой передовой опыт.
Для оценки скейлинга дополнительно обучили более мелкие модели на 79М и 364М параметров в дополнение к основной на 1.18B. На графиках видно, что больший масштаб существенно и консистентно поднимает перформанс.
Попробовали на задачах out-of-distribution. Идеально было бы давать информацию о новой задаче через prompt conditioning, но длина контекста ограничена и всё ценное впихнуть не получается. Поэтому зашли через fine-tuning модели на новую задачу. Пробовали это на средней модели с 364М параметров. В зависимости от задачи и от абляций есть разный профит кроме задачи на бокс, там случайно инициализированная модель обучилась лучше.
На задачах укладывания кубиков модель при файнтюнинге восстанавливает качество сравнимое с экспертом за 10 демонстраций. И более тяжёлая модель делает это намного лучше.
Из интересного ещё есть два эксперимента со специализированными моделями, не генералистами. Специалисты обучались на данных только одного домена.
На 50 задачах из Meta-World обучили по эксперту на задачу, сохранили траектории во время обучения, а затем отдистиллировали всех в одного агента и он достиг успеха с 96.6% результатом и, по информации авторов, никакая мультитаск архитектура не приближалась к 100% до этого. Здесь взяли минимальный Gato с 79М параметров и это демонстрация того, что архитектура работает и на малом масштабе.
Также обучили 1.2B модель на 51 игре Атари. Специалист Gato обошёл генералиста Gato, но при скейлинге возможно ситуация изменится.
Движуха интересная. Всё идёт к так называемым “single-brain”-style models, за которые довольно много аргументов из нейробиологии — и универсальный кортикальный алгоритм, и sensory substitution, когда слепые люди с помощью специальных камер начинают видеть языком. Да и интеллектуальные (хочется верить) существа вокруг — это тоже некий proof of existence. В целом недалёкое будущее таких моделей поднимает целый пласт вопросов вокруг AI safety. Отдельный прекрасный пассаж из карточки модели: “Not intended for commercial or production use. Military uses are strictly prohibited.”
🔥11👍8