Обезьяна
TextMonkey
Мини-Обезьянка
2024.11.27
? Спасибо Фахду Мирзе за то, что поделился видео о том, как запустить Monkey.
2024.8.13
? Выпущен исходный код Mini-Monkey.
2024.8.6
? Выпускаем бумажную Мини-Обезьянку.
2024.4.13
? Выпущен исходный код TextMonkey.
2024.4.5
? Monkey номинирован на премию CVPR 2024 Highlight.
2024.3.8
? Мы выпускаем бумагу TextMonkey.
2024.2.27
? Обезьяна принята CVPR 2024.
2024.1.3
? Освободите основной конвейер генерации данных. Генерация данных
2023.11.06
? Выпускаем бумажную Обезьянку.
Обезьяний чат
Модель | Языковая модель | Трансформаторы(ВЧ) | MMBench-тестирование | CCBench | ММЕ | СидБенч_IMG | MathVista-МиниТест | HallusionBench-Avg | AI2D-тест | OCRBench |
---|---|---|---|---|---|---|---|---|---|---|
Обезьяний чат | Квев-7Б | ?echo840/Monkey-Chat | 72,4 | 48 | 1887,4 | 68,9 | 34,8 | 39,3 | 68,5 | 534 |
Мини-Обезьянка | internlm2-чат-1_8b | Мини-Обезьянка | --- | 75,5 | 1881,9 | 71,3 | 47,3 | 38,7 | 74,7 | 802 |
conda create -n Monkey Python=3.9conda активировать клон Monkeygit https://github.com/Yuliang-Liu/Monkey.gitcd ./Monkeypip install -r требования.txt
Вы можете загрузить соответствующую версию flash_attention с https://github.com/Dao-AILab/flash-attention/releases/ и использовать следующий код для установки:
pip install flash_attn-2.3.5+cu117torch2.0cxx11abiFALSE-cp39-cp39-linux_x86_64.whl --no-build-isolation
Мы также предлагаем определение модели и обучающий код Monkey, которые вы можете изучить выше. Вы можете выполнить обучающий код, запустив finetune_ds_debug.sh
для Monkey и finetune_textmonkey.sh
для TextMonkey.
Файл JSON, используемый для обучения Monkey, можно скачать по ссылке.
Запустите код вывода для Monkey и Monkey-Chat:
python ./inference.py --model_path MODEL_PATH --image_path IMAGE_PATH --question "YOUR_QUESTION"
Демо-версия быстрая и простая в использовании. Просто загрузите изображение со своего рабочего стола или телефона или сделайте снимок напрямую. Demo_chat также запущен как обновленная версия исходной демо-версии, обеспечивающая расширенные интерактивные возможности.
Мы также предоставляем исходный код и вес модели для оригинальной демонстрации, что позволяет вам настроить определенные параметры для более уникального опыта. Конкретные операции заключаются в следующем:
Убедитесь, что вы настроили среду.
Вы можете использовать демо-версию офлайн или онлайн:
Офлайн:
python demo.py
Загрузите вес модели.
Измените DEFAULT_CKPT_PATH="pathto/Monkey"
в файле demo.py
на путь веса вашей модели.
Запустите демо-версию с помощью следующей команды:
Онлайн:
python demo.py -c echo840/Monkey
Запустите демо-версию и загрузите веса модели онлайн с помощью следующей команды:
Для TextMonkey вы можете загрузить вес модели с сайта Model Weight и запустить демонстрационный код:
python demo_textmonkey.py -c путь_модели
До 11.14.2023 мы заметили, что для некоторых случайных изображений Monkey может добиться более точных результатов, чем GPT4V.
До 31.01.2024 Monkey-chat занял пятое место в категории «Мультимодальные модели» на OpenCompass.
Вы можете загрузить данные обучения и тестирования, используемые обезьяной, из Monkey_Data.
Файл JSON, используемый для обучения Monkey, можно скачать по ссылке.
Данные нашего метода создания многоуровневого описания теперь находятся в открытом доступе и доступны для скачивания по ссылке. Мы уже загружаем изображения, используемые в многоуровневом описании. Примеры:
Вы можете скачать изображения Обезьяны в поезде из Train. Код извлечения: 4hdh
Вы можете загрузить тестовые изображения и файлы JSON Monkey с сайта Test. Код извлечения: 5h71
Изображения взяты из CC3M, COCO Caption, TextCaps, VQAV2, OKVQA, GQA, ScienceQA, VizWiz, TextVQA, OCRVQA, ESTVQA, STVQA, AI2D и DUE_Benchmark. При использовании данных необходимо соблюдать протоколы исходного набора данных.
Мы предлагаем оценочный код для 14 наборов данных визуальных ответов на вопросы (VQA) в файле evaluate_vqa.py
, что облегчает быструю проверку результатов. Конкретные операции заключаются в следующем:
Убедитесь, что вы настроили среду.
Измените sys.path.append("pathto/Monkey")
на путь проекта.
Подготовьте наборы данных, необходимые для оценки.
Запустите оценочный код.
Возьмем ESTVQA в качестве примера:
Подготовьте данные в соответствии со следующей структурой каталогов:
├── data | ├── estvqa | ├── test_image | ├── {image_path0} | ├── {image_path1} | · | · | ├── estvqa.jsonl
Пример формата каждой строки аннотированного файла .jsonl
:
{"image": "data/estvqa/test_image/011364.jpg", "question": "What is this store?", "answer": "pizzeria", "question_id": 0}
Измените словарь ds_collections
:
ds_collections = { 'estvqa_test': { 'test': 'data/estvqa/estvqa.jsonl', 'metric': 'anls', 'max_new_tokens': 100, }, ... }
Выполните следующую команду:
bash eval/eval.sh 'EVAL_PTH' 'SAVE_NAME'
Если вы хотите обратиться к опубликованным здесь базовым результатам, используйте следующие записи BibTeX:
@inproceedings{li2023monkey, title={Обезьяна: разрешение изображения и текстовая метка важны для больших мультимодальных моделей}, автор={Ли, Чжан и Ян, Бяо и Лю, Цян и Ма, Чжиинь и Чжан, Шуо и Ян , Цзинсюй и Сунь, Ябо и Лю, Юлян и Бай, Сян}, booktitle={материалы Конференция IEEE/CVF по компьютерному зрению и распознаванию образов}, год={2024}}@article{liu2024textmonkey, title={TextMonkey: Большая мультимодальная модель без оптического распознавания символов для понимания документа}, автор={Лю, Юлян и Ян, Бяо и Лю, Цян и Ли, Чжан и Ма, Чжиинь и Чжан, Шуо и Бай, Сян}, журнал = {препринт arXiv arXiv:2403.04473},year={2024}}@article{huang2024mini, title={Mini-Monkey: многомасштабное адаптивное кадрирование для мультимодальных моделей большого языка}, автор={Хуан, Минсинь и Лю, Юлян и Лян, Динкан и Цзинь, Ляньвэнь и Бай, Сян}, журнал = {препринт arXiv arXiv:2408.02034}, год={2024}}@article{deng2024r, title={R-CoT: Генерация задач обратной цепочки мыслей для геометрического рассуждения в больших мультимодальных моделях}, автор={Дэн, Лингер и Лю, Юлян и Ли, Бохан и Ло, Дунлян и Ву, Лян и Чжан, Чэнцюань и Лю, Пэнъюань и Чжан, Цзыян и Чжан, Банда и Дин, Эрруй и другие}, журнал={препринт arXiv arXiv:2410.17885}, год={2024}}
Серия Monkey в первую очередь сосредоточена на изучении таких методов, как повышение разрешения изображения и методы сжатия токенов, для повышения производительности существующих мультимодальных больших моделей. Например, более ранние версии Monkey и TextMonkey были основаны на QwenVL, а MiniMonkey, среди прочего, основан на InternVL2 и miniCPM. Спасибо Qwen-VL, LLAMA, LLaVA, OpenCompass, InternLM и InternVL.
Проект Monkey предназначен только для некоммерческого использования. По коммерческим запросам или для изучения более продвинутых версий LMM серии Monkey (<1b, 2b, 7b, 72b) обращайтесь к профессору Юляну Лю по адресу [email protected].