За последние несколько лет авторегрессионные преобразователи принесли устойчивый поток прорывов в генеративном моделировании. Эти модели генерируют каждый элемент сэмпла — пиксели изображения, символы текста (обычно в виде фрагментов маркеров), сэмплы звуковой волны и т. д. — предсказывая один элемент за другим. При прогнозировании следующего элемента модель может оглядываться на те, которые были созданы ранее.
Однако каждый из слоев Transformer становится более дорогим по мере того, как в качестве входных данных используется все больше элементов, и практики могут позволить себе обучать глубокие Transformers только на последовательностях длиной не более 2048 элементов. Таким образом, большинство моделей на основе Transformer игнорируют все элементы, кроме самого недавнего прошлого (около 1500 слов или 1/6 небольшого изображения) при прогнозировании.
Напротив, наши недавно разработанные модели Perceiver дают отличные результаты в различных реальных задачах, содержащих до 100 000 элементов. Воспринимающие используют перекрестное внимание для кодирования входных данных в скрытое пространство, отделяя входные вычислительные требования из глубины модели. Воспринимающие также тратят фиксированную стоимость, независимо от размера входных данных, почти на каждом уровне.
В то время как кодирование в скрытом пространстве обрабатывает все элементы за один проход, авторегрессионная генерация предполагает, что обработка происходит по одному элементу за раз. Чтобы решить эту проблему, Perceiver AR предлагает простое решение: выравнивать латентные элементы один за другим с конечными элементами ввода и тщательно маскировать ввод, чтобы латентные элементы видели только более ранние элементы.
В результате получилась архитектура (показанная выше), которая обрабатывает в 50 раз больше входных данных, чем стандартные Transformers, и при этом развертывается так же широко (и, по сути, так же легко), как и стандартные Transformers, предназначенные только для декодера.
Perceiver AR значительно лучше масштабируется по размеру, чем стандартные модели Transformers и Transformer-XL, в диапазоне длин последовательностей в реальном выражении. Это свойство позволяет нам строить очень эффективные модели с длинным контекстом. Например, мы обнаружили, что 60-слойный Perceiver AR с длиной контекста 8192 превосходит 42-слойный Transformer-XL в задаче генерации длиной в книгу, при этом работая быстрее в реальных условиях настенных часов.
На стандартных тестах генерации изображений с длинным контекстом (ImageNet 64×64), языке (PG-19) и музыке (MAESTRO) Perceiver AR дает самые современные результаты. Увеличение входного контекста за счет отделения размера ввода от вычислительного бюджета приводит к нескольким интригующим результатам:
- Бюджет вычислений можно адаптировать в оценочное время, что позволяет нам тратить меньше и плавно снижать качество или тратить больше на улучшение генерации.
- Более крупный контекст позволяет Perceiver AR превосходить Transformer-XL, даже если он тратит столько же на вычисления. Мы обнаружили, что больший контекст приводит к повышению производительности модели даже в доступном масштабе (параметры ~ 1 млрд).
- Качество выборки Perceiver AR гораздо менее чувствительно к порядку, в котором он генерирует элементы. Это упрощает применение Perceiver AR к настройкам, которые не имеют естественного порядка слева направо, например к таким данным, как изображения, со структурой, охватывающей более одного измерения.
Используя набор данных фортепианной музыки, мы обучили Perceiver AR создавать новые музыкальные произведения с нуля. Поскольку каждая новая нота прогнозируется на основе полной последовательности предшествующих нот, Perceiver AR может создавать произведения с высоким уровнем мелодической, гармонической и ритмической согласованности:
Узнайте больше об использовании Perceiver AR:
- Скачать код JAX для обучения Perceiver AR на Гитхабе
- Прочтите нашу статью о arXiv
- Посмотрите нашу обзорную презентацию на ICML 2022
См. Google Magenta Сообщение блога с большей музыкой!