[Microsoft Kosmos-1] Language Is Not All You Need: Aligning Perception with Language Models
Авторы: Shaohan Huang, Li Dong, Wenhui Wang, Yaru Hao, Saksham Singhal, Shuming Ma, Tengchao Lv, Lei Cui, Owais Khan Mohammed, Barun Patra, Qiang Liu, Kriti Aggarwal, Zewen Chi, Johan Bjorck, Vishrav Chaudhary, Subhojit Som, Xia Song, Furu Wei
Статья: https://arxiv.org/abs/2302.14045
Тренд на мультимодальность пошёл очевидный. Позапрошлый год я бы назвал годом контрастных моделей по типу CLIP (https://hottg.com/gonzo_ML/665) / Align (https://hottg.com/gonzo_ML/679) / Florence (https://hottg.com/gonzo_ML/734). Прошлый был явно годом диффузионных text-to-image моделей типа DALLE-2 (https://hottg.com/gonzo_ML/919) и последующих Imagen, Stable Diffusion и т.п. Нынешний, мне кажется, может стать годом картиночно-языковых моделей (Visual Language Model, VLM) или скорее даже мультимодальных языковых моделей (Multimodal Large Language Model, MLLM), а то и воплощённых LLM (Embodied LLM). Из этой когорты уже появились в прошлом году VLM Flamingo от DeepMind (https://hottg.com/gonzo_ML/941) (которую оказывается реимплементит HuggingFace, https://hottg.com/gonzo_ML/1362) и CoCa (https://hottg.com/gonzo_ML/997) с PaLI (https://hottg.com/gonzo_ML/1085) от Гугла, да и дипмайндовская Gato (https://hottg.com/gonzo_ML/966) вполне можно назвать ELLM. Теперь в эту же когорту можно записать свежую PaLM-E (https://hottg.com/gonzo_ML/1350), и вот Microsoft недавно же анонсировал MLLM Kosmos-1 (https://hottg.com/gonzo_ML/1339). Ещё и GPT-4, кстати, нам пообещали мультимодальную на следующей неделе (https://www.heise.de/news/GPT-4-is-coming-next-week-and-it-will-be-multimodal-says-Microsoft-Germany-7540972.html). Пока ждём GPT-4, разберём Kosmos-1 (хотя на самом деле в ближайшее время, я, наверное, переключусь на другие когорты интересных работ для разнообразия).
Что такого есть в Kosmos-1?
Модель это традиционный трансформер (декодер), который авторегрессионно генерит текст (как GPT) с картиночным энкодером из CLIP. На входе теперь в произвольных местах могут быть мультимодальные данные (в этой работе картинки, но потенциально и что угодно ещё, например, звук). Всего модель 1.6B параметров, весьма скромная. Для сравнения у Flamingo самая большая модель была 80B, из них 70B это Шиншилла (https://hottg.com/gonzo_ML/1216).
В целом в подобных моделях главный челлендж это как встроить не-текстовые модальности. Авторы строят работу на своей же MetaLM (https://arxiv.org/abs/2206.06336), в которой LLM выступала универсальным интерфейсом, выполняющим разные задачи, в который втыкались энкодеры всяких модальностей. Там же была предложена semi-causal language modeling objective, позволяющая тренировать совместно интерфейс с энкодерами. В этой постановке некоторые диапазоны токенов представлены двунаправленными энкодерами, а интерфейсная LM это традиционная causal LM.
Входной текст в модель размечается тегами <s> и </s> для определения начала/конца предложения, <image> и </image> для пометки границ диапазона картиночных эмбеддингов. Текстовые токены и другие входные модальности эмбеддятся в вектора и отправляются в декодер. В текущей работе картинки эмбеддили через vision encoder, также использовался Resampler из Flamingo (там он получал пространственно-временные признаки из зрительного энкодера и выдавал фиксированного размера множество визуальных токенов), он нужен для уменьшения количества картиночных эмбеддингов.
Декодер это трансформер Magneto (https://arxiv.org/abs/2210.06423), в котором есть дополнительные LayerNorm (такой подход называется Sub-LN в отличие от Pre/Post-LN), а также улучшенная теоретически обоснованная инициализация. У Magneto лучше перформанс и стабильность.
В декодере 24 слоя, 32 головы, 2048 скрытое измерение, 8192 FFN. Всего 1.3B параметров. Картиночные эмбеддинги размерности 1024 берутся из предобученного CLIP ViT-L/14. CLIP во время обучения был заморожен кроме последнего слоя.
>>Click here to continue<<