[DeepMind] Flamingo: a Visual Language Model for Few-Shot Learning
Авторы: Jean-Baptiste Alayrac, Jeff Donahue, Pauline Luc, Antoine Miech, Iain Barr, Yana Hasson, Karel Lenc, Arthur Mensch, Katie Millican, Malcolm Reynolds, Roman Ring, Eliza Rutherford, Serkan Cabi, Tengda Han, Zhitao Gong, Sina Samangooei, Marianne Monteiro, Jacob Menick, Sebastian Borgeaud, Andrew Brock, Aida Nematzadeh, Sahand Sharifzadeh, Mikolaj Binkowski, Ricardo Barreira, Oriol Vinyals, Andrew Zisserman, Karen Simonyan
Статья: https://arxiv.org/abs/2204.14198
Пост: https://www.deepmind.com/blog/tackling-multiple-tasks-with-a-single-visual-language-model
Код: нет
Модель: нет
API: нет
Цивилизованный мир идёт вперёд.
🦩Flamingo — это новая зрительно-языковая модель (Visual Language Models, VLM) на 80B параметров от DeepMind. Разница с обычной языковой моделью (LM) в том, что зрительно-языковая модель (VLM) должна уметь принимать мультимодальный prompt, в котором среди текста могут встречаться картинки и видео. На выходе модели текст. В таком режиме с ответом произвольным текстом модель может решать различные задачи: классификацию, captioning, visual dialogue, visual question answering и т.д.
В целом этот подход аналогичен используемому в семействе моделей T5 (https://hottg.com/gonzo_ML/761) подходу, когда универсальный выход — это текст, и никакие специализированные головы в модели не нужны.
Идеальная комбинация для чатбота. Голос ещё осталось добавить для тех, кто любит голосовыми сообщениями пулять, но авторы Фламинго, видимо, тоже таковых недолюбливают, потому и не включили такую возможность =) Но явно SVLM или VSLM не за горами.
Модель демонстрирует SoTA на множестве мультимодальных задач в режиме few-shot learning без дополнительного обучения (то есть когда примеры демонстрируются внутри prompt’а, так называемый in-context learning), побив в том числе и специально зафайнтюненные модели. Можете представить это как GPT-3, куда ещё и картинки с видео можно отправлять. Демонстрации очень прикольные, особенно чат, где модель поняла, что ей дают тест на эффект Струпа (https://en.wikipedia.org/wiki/Stroop_effect).
Как оно всё устроено внутри?
Фламинго использует предобученные языковые и картиночные модели, они заморожены и не обучаются.
В отличие от обучения обычных LM, мультимодальность добавляет сложностей.
Во-первых, предобученные модели это хорошо, но у них нет встроенных средств для добавления входов с другими модальностями, и добавление таких входов — это некий дестабилизирующий челлендж для предобученной модели. Для повышения стабильности авторы чередуют слои кросс-внимания с обычным языковым self-attention, который заморожен во время обучения.
Другой челлендж — это поддержка картинок и видео, размерность которых выше и они требуют больше памяти, и которые неочевидно как просто преобразовать в последовательность (иногда для них вводятся специальные inductive biases даже в трансформерах). Авторы используют здесь свой любимый Perceiver (https://hottg.com/gonzo_ML/700), хорошо работающий в таких условиях.
Наконец, не так просто собрать хорошие мультимодальные обучающие данные, после обучения на которых потом возникнет способность к few-shot learning (может же и не возникнуть). Авторы собрали для этого коллекцию мультимодальных датасетов: слабо связанный текст/картинка в виде текста веб страниц и layout’а, и сильно связанные датасеты с парами картинка/текст и видео/текст. Правильный микс оказался необходимым.
>>Click here to continue<<
