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