⭐️ Наша серия работает: [ MMStar ] [ ShareGPT4Video ] [ ShareGPT4Omni ]
??? Официальная реализация ShareGPT4V: улучшение больших мультимодальных моделей с лучшими подписями в ECCV 2024.
Авторы : Линь Чен*, Цзиньсун Ли*, Сяои Донг, Пань Чжан, Цунхуэй Хэ, Цзяци Ван, Фэн Чжао?, Дахуа Линь?
Институты : Университет науки и технологий Китая; Шанхайская лаборатория искусственного интеллекта
Ресурсы : [Документ] [Страница проекта] [ ShareGPT4V Набор данных]
Модели : [ShareGPT4V-7B] [ShareCaptioner]
ShareGPT4V-7B Демо [OpenXLab] [?HuggingFace] [Colab]
Демонстрация Share-Captioner [OpenXlab] [?HuggingFace]
? Крупномасштабный набор описательных изображений и текста.
? 100 тысяч подписей, созданных с помощью GPT4-Vision, 1,2 миллиона подписей высокого качества.
? Общий заголовок изображения , приближающийся к возможностям подписи GPT4-Vision.
? Превосходная большая мультимодальная модель ShareGPT4V-7B.
[2024/7/2] Рады сообщить, что ShareGPT4V принят ECCV 2024!
[2024/5/8] Мы выпустили ShareGPT4Video , крупномасштабный набор данных с субтитрами к видео, включающий 40 тысяч субтитров, аннотированных GPT4V, и 4,8 миллиона субтитров, аннотированных нашим ShareCaptioner-Video. Всего видео длится 300 часов и 3000 часов по отдельности!
[2024/4/1] Мы выпустили элитный мультимодальный тест, незаменимый для видения , MMStar. Веселиться!?
[2023/12/14] Мы выпустили модель ShareGPT4V-13B. Веселиться!?
[2023/12/13] Доступен код обучения и оценки.
[2023/12/13] Локальный ShareCaptioner уже доступен! Вы можете использовать его для создания высококачественных подписей для вашего набора данных с помощью пакетного вывода, напрямую запустив tools/share-cap_batch_infer.py
.
[2023/11/23] Мы выпускаем веб-демо общего Share-Captioner!?
[23.11.2023] Мы публикуем код для создания локальной демо-версии ShareGPT4V-7B!?
[2023/11/22] Веб-демо и контрольная точка уже доступны!?
[21.11.2023] Набор данных ShareGPT4V уже доступен!?
[20.11.2023] Опубликована статья и страница проекта!
Код обучения и оценки для ShareGPT4V-7B
Локальный ShareCaptioner
Веб-демо и локальная демо-версия ShareGPT4V-7B
Проверки ShareGPT4V-7B
Подробности смотрите на ModelZoo.md.
Имя | Магистр права | Контрольно-пропускной пункт | LLaVA-Скамейка-Дикий | ММЕ-восприятие | MME-познание | ММБенч | MMBench-CN | SEED-образ | ММ-Вет | QBench | SQA-изображение | VQA-v2 | ВизВиз | GQA | ТекстVQA |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ПоделитьсяGPT4V-7B | Викунья-7Б | ПоделитьсяGPT4V-7B | 72,6 | 1567,4 | 376,4 | 68,8 | 62,2 | 69,7 | 37,6 | 63,4 | 68,4 | 80,6 | 57,2 | 63,3 | 60,4 |
ПоделитьсяGPT4V-13B | Викунья-13Б | ПоделитьсяGPT4V-13B | 79,9 | 1618,7 | 303,2 | 68,5 | 63,7 | 70,8 | 43,1 | 65,2 | 71,2 | 81,0 | 55,6 | 64,8 | 62,2 |
fromshare4v.model.builder import load_pretrained_modelfromshare4v.mm_utils import get_model_name_from_pathfromshare4v.eval.run_share4v import eval_modelmodel_path = "Lin-Chen/ShareGPT4V-7B"tokenizer, model, image_processor, context_len = load_pretrained_model( model_path=model_path, model_base=None, model_name = get_model_name_from_path (model_path) )
Подробности смотрите в функции load_pretrained_model
в share4v/model/builder.py
.
Вы также можете использовать функцию eval_model
в share4v/eval/run_llava.py
чтобы легко получить выходные данные. Таким образом, вы сможете использовать этот код в Colab сразу после загрузки этого репозитория.
model_path = "Lin-Chen/ShareGPT4V-7B"prompt = "Какая крылатая фраза персонажа справа?"image_file = "examples/breaking_bad.png"args = type('Args', (), { " model_path": model_path, "model_base": нет, "model_name": get_model_name_from_path(model_path), "query": подсказка, "conv_mode": нет, "image_file": image_file, "sep": ",", "temperature": 0, "top_p": нет, "num_beams": 1, "max_new_tokens": 512})()eval_model (аргументы)
git clone https://github.com/InternLM/InternLM-XComposer --length=1cd projects/ShareGPT4V conda create -nshare4v python=3.10 -y Конда активирует Share4V pip install --upgrade pip pip install -e .pip install -e ".[train]"pip install flash-attn --no-build-isolation
Вы можете создать свою локальную демо-версию следующим образом:
# run script python tools/app.py
Вам следует следовать этой инструкции Data.md для управления наборами данных. В настоящее время мы предоставляем прямой доступ к загрузке веб-данных. Однако, чтобы избежать возможных споров, в ближайшем будущем мы планируем опубликовать URL-адреса этих наборов данных, а не необработанные данные.
Обучение модели ShareGPT4V состоит из двух этапов: (1) этап выравнивания функций: используйте наш набор данных ShareGPT4V-PT с 1,2 млн высококачественных пар изображение-текст, сгенерированных ShareCaptioner, для точной настройки видеокодера, проектора и LLM для выравнивания текстовых и текстовых изображений. визуальные модальности; (2) этап настройки визуальных инструкций: точная настройка проектора и LLM, чтобы научить модель следовать мультимодальным инструкциям.
Чтобы тренироваться на меньшем количестве графических процессоров, вы можете уменьшить per_device_train_batch_size
и соответственно увеличить gradient_accumulation_steps
. Всегда сохраняйте одинаковый глобальный размер пакета: per_device_train_batch_size x gradient_accumulation_steps x num_gpus
.
При тонкой настройке мы используем тот же набор гиперпараметров, что и ShareGPT4V-7B. Оба гиперпараметра, используемые при предварительном обучении и точной настройке, представлены ниже.
Предварительная подготовка
Гиперпараметр | Глобальный размер пакета | Скорость обучения | Эпохи | Максимальная длина | Снижение веса |
---|---|---|---|---|---|
ПоделитьсяGPT4V-7B | 256 | 2е-5 | 1 | 2048 | 0 |
Тонкая настройка
Гиперпараметр | Глобальный размер пакета | Скорость обучения | Эпохи | Максимальная длина | Снижение веса |
---|---|---|---|---|---|
ПоделитьсяGPT4V-7B | 128 | 2е-5 | 1 | 2048 | 0 |
Сначала вам следует скачать проектор MLP, предварительно обученный LLaVA-1.5 с LAION-CC-SBU-558K. Потому что процесс грубого модального выравнивания полезен перед использованием высококачественных подробных подписей для модального выравнивания.
Вы можете запустить projects/ShareGPT4V/scripts/sharegpt4v/slurm_pretrain_7b.sh
для предварительного обучения модели. Не забудьте указать путь к проектору в скрипте. На этом этапе мы точно настроили вторую половину блоков видеокодера, проектора и LLM.
В нашей установке мы использовали 16 графических процессоров A100 (80G), и весь процесс предварительного обучения длился около 12 часов. Вы можете настроить количество шагов накопления градиента, чтобы уменьшить количество графических процессоров.
На этом этапе мы настраиваем проектор и LLM с помощью Sharegpt4v_mix665k_cap23k_coco-ap9k_lcs3k_sam9k_div2k.json.
Вы можете запустить projects/ShareGPT4V/scripts/sharegpt4v/slurm_finetune_7b.sh
для точной настройки модели.
В нашей установке мы использовали 16 графических процессоров A100 (80G), и весь процесс предварительного обучения длился около 7 часов. Вы можете настроить количество шагов накопления градиента, чтобы уменьшить количество графических процессоров.
Чтобы обеспечить воспроизводимость, мы оцениваем модели с помощью жадного декодирования. Мы не оцениваем использование лучевого поиска, чтобы сделать процесс вывода согласованным с демонстрацией результатов в реальном времени в чате.
См. Evaluation.md.
LLaVA: кодовая база, на которой мы строили. Спасибо за их прекрасную работу.
Vicuna: потрясающая модель большого языка с открытым исходным кодом!
Если вы считаете нашу работу полезной для вашего исследования, поставьте звездочку ⭐ и процитируйте ее?
@article{chen2023sharegpt4v, title={ShareGPT4V: Улучшение больших мультимодальных моделей с помощью более качественных подписей}, автор={Чен, Линь и Ли, Цзисон и Донг, Сяои и Чжан, Пан и Хэ, Цунхуэй и Ван, Цзяци и Чжао, Фэн и Линь, Дахуа}, журнал={препринт arXiv arXiv:2311.12793},year={2023}}@article{chen2024sharegpt4video, title={ShareGPT4Video: улучшение понимания и создания видео с помощью более качественных подписей},author={Чен, Линь и Вэй, Силинь и Ли, Цзиньсун и Донг, Сяои и Чжан, Пань и Занг, Юхан и Чен, Цзэхуэй и Дуань, Хаодун и Линь, Бин и Тан, Чжэньюй и другие}, журнал={препринт arXiv arXiv:2406.04325}, год={2024}}@article{chen2024we, title={На правильном ли мы пути для оценки больших моделей визуального языка ?},author={Чен, Линь и Ли, Цзиньсун и Донг, Сяои и Чжан, Пан и Занг, Юхан и Чен, Цзехуэй и Дуань, Хаодун и Ван, Цзяци и Цяо, Ю и Линь, Дахуа и другие}, журнал={препринт arXiv arXiv:2403.20330}, год={2024}}
Уведомления об использовании и лицензии . Данные и контрольная точка предназначены и лицензированы только для исследовательского использования. Их использование также ограничено условиями лицензионного соглашения LLaMA, Vicuna и GPT-4. Набор данных — CC BY NC 4.0 (разрешен только некоммерческое использование), и модели, обученные с использованием набора данных, не должны использоваться вне исследовательских целей.