Проектные кредиты | Выдра бумага | Otterhd Paper | Имит-это бумага
Контрольные точки:
Для того, кто в материковом Китае: |
Отказ от ответственности: код может не быть идеально отполирован и рефактован, но все коды открытого открытия проверены и запускаются, поскольку мы также используем код для поддержки нашего исследования. Если у вас есть какие -либо вопросы, пожалуйста, не стесняйтесь открыть проблему. Мы с нетерпением ждем предложений и PR для улучшения качества кода.
[2023-11]: поддержка оценки GPT4V на 8 тестах; Anoincing Otterhd-8b, улучшен от Fuyu-8b. Оформить отры для получения подробной информации.
datasets :
- name : magnifierbench
split : test
prompt : Answer with the option's letter from the given choices directly.
api_key : [Your API Key] # GPT4 or GPT3.5 to evaluate the answers and ground truth.
debug : true # put debug=true will save the model response in log file.
- name : mme
split : test
debug : true
- name : mmbench
split : test
debug : true
models :
- name : gpt4v
api_key : [Your API Key] # to call GPT4V model.
IMAGE_TEXT : # Group name should be in [IMAGE_TEXT, TEXT_ONLY, IMAGE_TEXT_IN_CONTEXT]
LADD : # Dataset name can be assigned at any name you want
mimicit_path : azure_storage/json/LA/LADD_instructions.json # Path of the instruction json file
images_path : azure_storage/Parquets/LA.parquet # Path of the image parquet file
num_samples : -1 # Number of samples you want to use, -1 means use all samples, if not set, default is -1.
M3IT_CAPTIONING :
mimicit_path : azure_storage/json/M3IT/captioning/coco/coco_instructions.json
images_path : azure_storage/Parquets/coco.parquet
num_samples : 20000
[2023-08]
[2023-07]: набор данных Mimic-IT для множества чередованных текстов/видео инструкций.
[2023-06]
frame tensors
были ошибочно не в том же vision_x
.Обязательно настройте настроить
sys.path.append("../..")
правильно, чтобы получить доступ кotter.modeling_otter
, чтобы запустить модель.
Большие языковые модели (LLMS) продемонстрировали исключительную универсальную способность, как мало учеников/с нулевым выстрелом для многочисленных задач из-за их предварительного обучения по обширным текстовым данным. Среди этих LLM GPT-3 выделяется как выдающаяся модель со значительными возможностями. Кроме того, варианты GPT-3, а именно инструктора и CHATGPT, оказались эффективными в интерпретации инструкций естественного языка для выполнения сложных реальных задач, благодаря настройке инструкций.
Мы представляем предварительную подготовку модели Flamingo вверх по течению, предварительно предварительно подготовленной модели Flamingo? Otter, многомодальная модель, основанная на OpenFlamingo (версия Flamingo's Flamingo от DeepMind). Мы обучаем нашу выдру в настройке инструкций на нашем предлагаемом нами набор данных MI- M Odal I N- C Ontext nStruction Tning ( Mimic-IT ). Оттер демонстрирует улучшенную способность к обучению и в контексте обучать как на изображениях, так и на видео.
MIMIC-IT позволяет применять эгоцентрическую модель визуального помощника, которая может служить, которая может ответить на ваши вопросы, такие как эй, как вы думаете, я оставил свои ключи на столе? Полем Используйте силу Mimic-It, чтобы раскрыть весь потенциал вашего визуального помощника, управляемого AI, и поднимите ваши интерактивные задачи на языке зрения на новые высоты.
Мы также представляем Syphus , автоматизированный конвейер для создания высококачественных пар инструкций-ответов на нескольких языках. Опираясь на структуру, предложенную Llava, мы используем CHATGPT для генерации пар инструкций-ответа на основе визуального контента. Чтобы обеспечить качество сгенерированных пар инструкций-ответов, наш трубопровод включает в себя системные сообщения, визуальные аннотации и примеры в контексте в качестве подсказок для CHATGPT.
Для получения более подробной информации, пожалуйста, проверьте набор данных Mimic-IT.
Otter предназначена для поддержки мультимодальной настройки инструкций в контексте на основе модели OpenFlamingo, которая включает в себя обусловленность языковой модели на соответствующей среде, например, изображение, которое соответствует заголовок или паре инструкций-ответа.
Мы тренируем выдру на наборе данных Mimic-IT с примерно 2,8 миллионами в контекстных парах, которые структурированы в сплоченном шаблоне для облегчения различных задач. Otter поддерживает входные данные видео (кадры расположены в качестве оригинальной реализации Flamingo) и ввода нескольких изображений в виде примеров в контексте, которая является первой моделью с настроением, настроенной на многомодальную инструкцию .
Следующий шаблон охватывает изображения, пользовательские инструкции и ответы, сгенерированные моделью, используя метки ролей User
и GPT
для обеспечения бесшовных пользовательских взаимодействий.
prompt = f"<image>User: { instruction } GPT:<answer> { response } <endofchunk>"
Обучение модели выдры в наборе данных Mimic-IT позволяет получить различные возможности, как продемонстрировано задачами LA и SD. Обученная на задаче LA, модель демонстрирует исключительное понимание сцены, способности к рассуждениям и возможности разговора в многоуст числа.
# multi-round of conversation
prompt = f"<image>User: { first_instruction } GPT:<answer> { first_response } <endofchunk>User: { second_instruction } GPT:<answer>"
Что касается концепции организации примеров на визуальном языке в контексте, мы демонстрируем здесь приобретенную способность модели выдры следовать межконтекстовым инструкциям после обучения по задаче LA-T2T. Организованный формат входных данных заключается в следующем:
# Multiple in-context example with similar instructions
prompt = f"<image>User: { ict_first_instruction } GPT: <answer> { ict_first_response } <|endofchunk|><image>User: { ict_second_instruction } GPT: <answer> { ict_second_response } <|endofchunk|><image>User: { query_instruction } GPT: <answer>"
Для получения более подробной информации, пожалуйста, обратитесь к приложению нашей газеты для других задач.
conda env create -f environment.yml
. Особенно, чтобы убедиться, что transformers>=4.28.0
, accelerate>=0.18.0
.После настройки среды вы можете использовать? Flamingo Model /? Модель выдра как? Обнимаю модель лица с несколькими линиями! Один щелчок, а затем модели конфигурации/веса загружаются автоматически. Пожалуйста, обратитесь к Huggingface Otter/Flamingo для получения подробной информации.
Выдра обучается на основе OpenFlamingo. Вам может потребоваться использовать преобразованные веса в Luodian/Otter-9B-INIT или Luodian/Otter-MPT7B-INIT. Они соответственно преобразуются из OpenFlamingo-Llama7b-V1 и OpenFlamingo-Mpt7b-V2, мы добавили токен <answer>
для настройки инструкции внизу.
Вы также можете использовать любые обученные веса выдры, чтобы начать с ваших тренировок в верхней части наших, увидеть их на весах выдры. Вы можете обратиться к Mimic-IT для подготовки файлов изображения/инструкции/поезда JSON.
export PYTHONPATH=.
RUN_NAME= " Otter_MPT7B "
GPU=8
WORKERS= $(( ${GPU} * 2 ))
echo " Using ${GPU} GPUs and ${WORKERS} workers "
echo " Running ${RUN_NAME} "
accelerate launch --config_file=./pipeline/accelerate_configs/accelerate_config_zero3.yaml
--num_processes= ${GPU}
pipeline/train/instruction_following.py
--pretrained_model_name_or_path=luodian/OTTER-MPT7B-Init
--model_name=otter
--instruction_format=simple
--training_data_yaml=./shared_scripts/Demo_Data.yaml
--batch_size=8
--num_epochs=3
--report_to_wandb
--wandb_entity=ntu-slab
--external_save_dir=./checkpoints
--run_name= ${RUN_NAME}
--wandb_project=Otter_MPTV
--workers= ${WORKERS}
--lr_scheduler=cosine
--learning_rate=2e-5
--warmup_steps_ratio=0.01
--save_hf_model
--max_seq_len=1024
Если вы нашли этот репозиторий полезным, пожалуйста, рассмотрите возможность ссылаться на:
@article{li2023otter,
title={Otter: A Multi-Modal Model with In-Context Instruction Tuning},
author={Li, Bo and Zhang, Yuanhan and Chen, Liangyu and Wang, Jinghao and Yang, Jingkang and Liu, Ziwei},
journal={arXiv preprint arXiv:2305.03726},
year={2023}
}
@article{li2023mimicit,
title={MIMIC-IT: Multi-Modal In-Context Instruction Tuning},
author={Bo Li and Yuanhan Zhang and Liangyu Chen and Jinghao Wang and Fanyi Pu and Jingkang Yang and Chunyuan Li and Ziwei Liu},
year={2023},
eprint={2306.05425},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
Мы благодарим Джека Хесселя за консультирование и поддержку, а также команду OpenFlamingo за их большой вклад в сообщество с открытым исходным кодом.
Огромные награды для команды Flamingo и Openflamingo для работы над этой великой архитектурой.