Вэньбо Ху*, Ифань Сюй*, И Ли, Вэйюэ Ли, Цзэюань Чен и Чжуовэнь Ту. * Равный вклад
Калифорнийский университет в Сан-Диего , Coinbase Global, Inc.
Подробная архитектура нашей модели с примерами ответов.
Метод | СТВКА | OCRVQA | ТекстVQA | DocVQA | ИнформацияVQA | ЧартQA | ЭСТВКА | ФОНД | СРОЭ | ПОЭ | Средний |
---|---|---|---|---|---|---|---|---|---|---|---|
OpenFlamingo | 19.32 | 27.82 | 29.08 | 5.05 | 14.99 | 9.12 | 28.20 | 0,85 | 0,12 | 2.12 | 13,67 |
БЛИП2-ОПТ | 13.36 | 10.58 | 21.18 | 0,82 | 8,82 | 7.44 | 27.02 | 0,00 | 0,00 | 0,02 | 8,92 |
BLIP2-FLanT5XXL | 21.38 | 30.28 | 30,62 | 4.00 | 10.17 | 7.20 | 42,46 | 1.19 | 0,20 | 2,52 | 15.00 |
МиниGPT4 | 14.02 | 11.52 | 18.72 | 2,97 | 13.32 | 4.32 | 28.36 | 1.19 | 0,04 | 1.31 | 9.58 |
ЛЛаВА | 22.93 | 15.02 | 28.30 | 4.40 | 13,78 | 7.28 | 33,48 | 1.02 | 0,12 | 2.09 | 12.84 |
mPLUG-Сова | 26.32 | 35.00 | 37,44 | 6.17 | 16.46 | 9.52 | 49,68 | 1.02 | 0,64 | 3.26 | 18.56 |
ИнструкцияBLIP (FLANT5XXL) | 26.22 | 55.04 | 36,86 | 4,94 | 10.14 | 8.16 | 43,84 | 1,36 | 0,50 | 1,91 | 18.90 |
InstructBLIP (Викуна-7Б) | 28,64 | 47,62 | 39,60 | 5,89 | 13.10 | 5.52 | 47,66 | 0,85 | 0,64 | 2,66 | 19.22 |
БЛИВА (FLANT5XXL) | 28.24 | 61,34 | 39,36 | 5.22 | 10.82 | 9.28 | 45,66 | 1,53 | 0,50 | 2.39 | 20.43 |
БЛИВА (Викунья-7Б) | 29.08 | 65,38 | 42,18 | 6.24 | 13.50 | 8.16 | 48.14 | 1.02 | 0,88 | 2,91 | 21.75 |
Метод | ВСР | IconQA | ТекстVQA | Виддиал | Фликр30 тыс. | ХМ | ВизВиз | МСРВТТ |
---|---|---|---|---|---|---|---|---|
Фламинго-3Б | - | - | 30,1 | - | 60,6 | - | - | - |
Фламинго-9Б | - | - | 31,8 | - | 61,5 | - | - | - |
Фламинго-80Б | - | - | 35,0 | - | 67,2 | - | - | - |
МиниGPT-4 | 50,65 | - | 18.56 | - | - | 29,0 | 34,78 | - |
ЛЛаВА | 56,3 | - | 37,98 | - | - | 9.2 | 36,74 | - |
БЛИП-2 (Викунья-7Б) | 50,0 | 39,7 | 40,1 | 44,9 | 74,9 | 50,2 | 49,34 | 4.17 |
InstructBLIP (Викуна-7Б) | 54,3 | 43,1 | 50,1 | 45,2 | 82,4 | 54,8 | 43,3 | 18,7 |
БЛИВА (Викунья-7Б) | 62,2 | 44,88 | 57,96 | 45,63 | 87,1 | 55,6 | 42,9 | 23.81 |
conda create -n bliva python=3.9
conda activate bliva
git clone https://github.com/mlpc-ucsd/BLIVA
cd BLIVA
pip install -e .
БЛИВА Викунья 7Б
Наша модель версии Vicuna представлена здесь. Загрузите вес нашей модели и укажите путь в конфигурации модели здесь, в строке 8.
Используемый нами LLM — это версия v0.1 от Vicuna-7B. Чтобы подготовить груз Викуньи, пожалуйста, обратитесь к нашей инструкции здесь. Затем укажите путь к весу викуньи в файле конфигурации модели здесь, в строке 21.
BLIVA FlanT5 XXL (доступен для коммерческого использования)
Модель версии FlanT5 представлена здесь. Загрузите вес нашей модели и укажите путь в конфигурации модели здесь, в строке 8.
Вес LLM для Flant5 автоматически начнет загружаться из HuggingFace при запуске нашего кода вывода.
Чтобы ответить на один вопрос с изображения, запустите следующий оценочный код. Например,
python evaluate.py --answer_qs
--model_name bliva_vicuna
--img_path images/example.jpg
--question " what is this image about? "
Мы также поддерживаем вопросы с множественным выбором ответов, которые мы использовали для оценочных задач в статье. Чтобы предоставить список вариантов, это должна быть строка, разделенная запятой. Например,
python evaluate.py --answer_mc
--model_name bliva_vicuna
--img_path images/mi6.png
--question " Which genre does this image belong to? "
--candidates " play, tv show, movie "
Наша демо-версия общедоступна здесь. Чтобы запустить нашу демо-версию локально на вашем компьютере. Бегать:
python demo.py
После загрузки наборов обучающих данных и указания пути к ним в конфигурациях наборов данных мы готовы к обучению. В наших экспериментах мы использовали 8 процессоров A6000 Ada. Пожалуйста, настройте гиперпараметры в соответствии с ресурсами вашего графического процессора. Трансформаторам может потребоваться около 2 минут для загрузки модели, дайте модели некоторое время начать обучение. Здесь мы приводим пример обучения версии BLIVA Vicuna, версия Flant5 имеет тот же формат.
torchrun --nnodes=1 --nproc_per_node=8
train.py
--cfg-path train_configs/pretrain_bliva_vicuna.yaml
torchrun --nnodes=1 --nproc_per_node=8
train.py
--cfg-path train_configs/finetune_bliva_vicuna.yaml
Или мы также поддерживаем обучение Vicuna7b вместе с BLIVA с использованием LoRA на втором этапе, по умолчанию мы не используем эту версию.
torchrun --nnodes=1 --nproc_per_node=8
train.py
--cfg-path train_configs/finetune_bliva_and_vicuna.yaml
Если вы найдете BLIVA полезным для ваших исследований и приложений, пожалуйста, цитируйте этот BibTeX:
@misc { hu2023bliva ,
title = { BLIVA: A Simple Multimodal LLM for Better Handling of Text-Rich Visual Questions } ,
author = { Wenbo Hu and Yifan Xu and Yi Li and Weiyue Li and Zeyuan Chen and Zhuowen Tu } ,
publisher = { arXiv:2308.09936 } ,
year = { 2023 } ,
}
Код этого репозитория находится под лицензией BSD с 3 пунктами. Многие коды основаны на Lavis с 3-пунктовой лицензией BSD.
Для наших параметров модели версии BLIVA Vicuna ее следует использовать в соответствии с лицензией модели LLaMA. Для модели BLIVA FlanT5 действует лицензия Apache 2.0. Для наших данных YTTB-VQA это CC BY NC 4.0.