В прошлом году на конференции AIJ 2023 мы представили первую версию OmniFusion — мультимодальной языковой модели (LLM), способной поддерживать визуальный диалог и отвечать на вопросы по картинкам. Спустя несколько месяцев мы готовы представить обновление — OmniFusion 1.1 — SoTA на ряде бенчмарков (среди моделей схожего размера) и, более того, модель хорошо справляется со сложными задачами и понимает русский язык! Самое главное — всё выкладываем в открытый доступ: веса и даже код обучения.
Ниже расскажем об особенностях модели, процессе обучения и примерах использования. В первую очередь остановимся на архитектуре, а потом отдельно расскажем о проделанных экспериментах как в части архитектурных трюков, так и о работе с данными. Ну а несколько интересных кейсов на английском и русском языках можно посмотреть на палитре ниже.
Архитектура
Принципиально OmniFusion 1.1 очень похож на предыдущую версию, да и в целом в области мультимодальных LLM сейчас все подходы формируются вокруг связки языковой модели и визуального энкодера через специальный обучаемый адаптер, который умеет отображать картиночные эмбеддинги в пространство текстовых эмбеддингов. Мы концентрировались на двух направлениях работы с визуальной модальностью, которые нашли отражение в соответствующих архитектурных особенностях. На рисунке ниже показаны два типа архитектуры: со смешиванием нескольких визуальных энкодеров (слева) и с упором на развитие единого визуального энкодера (справа).
Выбор визуального энкодера
К выбору «глаз» для мультимодальной модели нужно подойти серьёзно, поэтому мы провели исследования большого количества самых свежих моделей. Похоже, что самым важным критерием является размерность визуальных эмбеддингов и «нативное разрешение» энкодера — чем оно выше, тем лучше. Сравнение характеристик и результаты в таблице ниже. Мы остановились на модели InternViT, визуальные представления которой позволяют наилучшим образом описывать картинки в контексте метрик на валидационных VQA бенчмарках. Ниже в таблицах показаны параметры каждого визуального энкодера и показатели качества для основных бенчмарков при наличии только одного из исследуемых энкодеров: CLIP ViT-bigG, CLIP ViT-large, SigLIP-base и InternViT-6B. Следует отметить, что последний энкодер в списке существенно отличается по количеству параметров, и тем интереснее было рассмотреть его вклад в конечные метрики. Мы также хотели попробовать специфические надстройки над энкодерами на базе Q-Former, но к текущей версии статьи закончить не успели.
Типы адаптеров
На этот раз мы сделали акцент на изучении различных видов адаптеров и энкодеров, другим словами — способах извлечения визуальной информации из картинки и её агрегации с языковой моделью. Вот что мы попробовали в качестве адаптера:
Простой линейный слой
Multi Layer Perceptron (MLP)
Трансформерный слой
Послойный микс двух энкодеров через MLP с weight sharing
Микс энкодеров вдохновлён работой “From Clip to Dino: Visual Encoders Shout In Multi-modal Large Language Models”. Этот немного грязный трюк позволяет обогатить экспрессивность визуальных фичей, причём, почему-то простое суммирование спроецированных выходов двух энкодеров работает лучше, чем более хитрые способы вроде Attention-based пулинга или Q-Former для микса выходов двух энкодеров. Следуя оригинальной статье в качестве дополнительного энкодера, мы взяли DINO-v2, т.к. в отличие от CLIP он обучен полность в self-supervised режиме и его признаки могут обладать той информацией, которой не хватает основному энкодеру.
Последовательность визуальных эмбеддингов с каждого энкодера проходит через независимые layer-wise линейные слои для отображения в единое пространство. Затем происходит попарное сложение признаков двух энкодеров. После этого применяется нелинейность и, наконец, ещё одним линейным слоем присходит отображение в пространство текстовых эмбеддингов базовой языковой модели.
Нарезание картинки
Судя по всему разрешение картинки — это один из самых важных факторов, влияющих на качество модели. Поэтому следуя методологии LLaVA-NeXT, мы использовали адаптивное изменение размера изображений в соответствии с размером и нарезание картинки их на неперекрывающиеся секции в зависимости от разрешения визуального энкодера. Это дополнительно забустило метрики. К сожалению, этот подход приводит к увеличению количества визуальных токенов, что критически сказывается на скорости работы модели, поэтому мы провели эксперименты только с теми энкодерами, которые дают небольшое количество эмбеддингов на выходе, хотя задача компактного представления эмбеддингов для сокращения визуального контекста без потери содержательности эмбеддингов безусловно супер важная.
Датасеты и обучение
Обучение, как и раньше, происходит в два этапа:
Pretrain — размораживается только адаптер и эмбеддинги спецтокенов старта и конца модальности. На этом шаге датасет большой и может быть грязным.
Supervised fine-tuning (SFT) — обучение на небольшом и чистом сете инструктивных визуальных диалогов. При этом в ходе тюна дополнительно размораживается языковая модель.
Ниже показаны списки сетов, участвовавших в обеих стадиях обучения.
Здесь также нельзя не упомянуть бенчмарки, которые мы используем для оценки качества модели:
Science QA (full/img) — бенчмарки, состоящие из вопросов с несколькими вариантами ответов по разным научным темам: география, биология, химия, история и т.д. Сам набор данных отлично подходит для моделей на базе LLM, так как содержит набор вопросов только по тексту и с включением изображений, т.е. с помощью него можно оценить и способности самой языковой модели (их рост или падение в процессе мультимодального дообучения)
MMMU — бенчмарк для оценки междисциплираных способностей мультимодальных моделей. Содержит ряд задач, решение которых требует предметных знаний уровня университета (старшей школы)
GQA — бенчмарк с данными для проверки «пространственного мышления» моделей. В наборе содержатся вопросы, для ответа на которые нужно оценивать информацию об объектах, их расположению друг относительно друга, проводить рассуждения
POPE — бенчмарк для оценки галлюцинаций мультимодальных моделей в части интерпретации объектов на картинке (у человека, например, такие "галлюцинации" могут возникать из-за близорукости, когда четко объект вдалеке не видно, и он пытается додумать, что бы это могло быть)
VQAv2 — бенчмарк с вопросами на общую тему, оценивает способность модели понимать и обрабатывать визуальную информацию в общем домене
TextVQA — бенчмарк, содержащий задачи на обработку текстовой информации на изображении. Для успешного выполнения заданий модель должна распознать текст на изображении и провести рассуждение по этому тексту для ответа на вопрос
MM-Vet — бенчмарк проверяет целый комплекс способностей мультимодальных моделей: распознавание объектов, распознавание текста, фактологические знания, пространственное мышление, математические способности. Ответы моделей оцениваются с помощью GPT-4
Параметры обучения модели для обоих этапов показаны в таблице ниже.
Исследование компонент модели
Первым делом, мы конечно же оценили влияние визуального энкодера на качество ответов модели на бенчмарках. В таблице можно увидеть заметный отрыв большего по числу параметров энкодера InternViT-6B, при этом входное разрешение у него не самое большое.
На следующем шаге мы зафиксировали два энкодера CLIP VIT-L/14 и DinoV2 и проверили несколько вариантов смешивания эмбеддингов: от простой конкатенации перед передачей в адаптер до использования различных механик проецирования эмбеддингов. Из таблицы ниже видно, что лучшим методом оказался тот, который использует эмбеддинги всех слоев энкодеров и складывает их. Мы также заметили, что последний подход с multi-head attention оказался худшим с точки зрения скорости работы, да и по метрикам заметна серьезная просадка.
Следующий тип эксперимента был посвящён анализу качества при наращивании длины визуального контекста при нарезании картинки на фрагменты и энкодинге каждого из фрагментов в дополнение к энкодингу целой картинки при снижении разрешения до необходимого визуальному энкодеру. Здесь можно заметить, что нарезка даёт качественный буст и метрики близки к использованию одного 6B энкодера. Что более интересно, это эксперимент с добавлением специального сета RusDocVQA, который состоит из визуальных вопросов по документам — это дало прирост метрик даже на general бенчмарках.
Ну и конечно же, добавление специфических данных при обучении даёт буст метрик на соответствующих специфических бенчмарках (как будто могло быть иначе ?). Прирост метрик можно посмотреть в таблице ниже.
Сводная таблица экспериментов приведена ниже, где мы сравниваем разные варианты архитектур между собой и с существующими Open Source и проприетарными мультимодальными моделями. Отдельно подробно комментировать её необходимости нет, стоит просто детально посмотреть на метрики в каждой группе результатов, где жирным выделены SoTA значения, а нижним подчёркиванием top-2 результат.
В целом следует отметить, что OmniFusion на базе GigaChat-7B и визуальным экнкодером CLIP-ViT-L и нарезанием изображения даёт лучшие метрики среди всех 7B моделей и обходит даже некоторые более крупные мультимодальные решения.
Примеры работы модели
Заключение
В заключении хотелось отметить, что за несколько месяцев нам удалось провести широкий спектр экспериментов, бустануть в ряде метрик и наметить планы по развитию мультимодального направления: сжатие визуальных эмбеддингов, дополнительные надстройки над энкодерами, повышение метрик на специфических доменах (например, математические и логические задачи, анализ медицинских снимков и др.), ну и конечно, продолжить наращивать список обрабатываемых модальностей, например, видео и 3D. Интересно также посмотреть на различные варианты оптимизации базовой архитектуры с целью увеличения длины возможного обрабатываемого контекста. Обо всём этом обязательно расскажем в следующих обновлениях.
В остальном, выкладывая наши результаты в open source мы очень хотим мотивировать комьюнити помогать развивать модель, делать её более сильной и умной как на отдельных downstream задачах, так и на общих бенчмарках. Будем рады вашим пулл реквестам в репозиторий OmniFusion?
Технические детали можно прочитать в нашем тех репорте по ссылке.
Авторы
Обучением модели и экспериментальными исследованиями занималась научная группа FusionBrain Института AIRI при участии учёных и разработчиков из Sber AI и Sber Devices.
В работе над text-rich модальностью нам помогала команда SberDevices IDP, более подобно про их работу можно посмотреть тут.
Список авторов: Елизавета Гончарова, Антон Разжигаев, Матвей Михальчук, Максим Куркин, Ирина Абдуллаева, Матвей Скрипкин, Сергей Марков, Иван Оселедец, Денис Димитров и руководитель научной группы FusionBrain Андрей Кузнецов
Следите за новостями в каналах: CompleteAI, AbstractDL, Dendi Math&AI