Projektkredite | Otter Papier | Otterhd Paper | Mimic-It-Papier
Kontrollpunkte:
Denn wer auf dem Festland China: |
Haftungsausschluss: Der Code ist möglicherweise nicht perfekt poliert und neu ausgerichtet, aber alle OpenSourced -Codes werden getestet und ausgeführt, da wir den Code auch verwenden, um unsere Forschung zu unterstützen. Wenn Sie Fragen haben, können Sie bitte ein Problem eröffnen. Wir freuen uns sehr auf Vorschläge und PRs, um die Codequalität zu verbessern.
[2023-11]: Unterstützung der Bewertung von GPT4V an 8 Benchmarks; Anouncing Otterhd-8b, verbessert von Fuyu-8b. Checkout Otterhd für Details.
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]: Einmimic-it-Datensatz für mehrere verschachtelte Bildtext-/Videoanweisungstimmen.
[2023-06]
frame tensors
fälschlicherweise auf ein falsches vision_x
waren.Stellen Sie sicher, dass Sie den
sys.path.append("../..")
richtig anpassen, um aufotter.modeling_otter
zuzugreifen, um das Modell zu starten.
Große Sprachmodelle (LLMs) haben eine außergewöhnliche universelle Eignung als wenige/Null-Schotten-Lernende für zahlreiche Aufgaben gezeigt, da sie um umfangreiche Textdaten vor dem Training vorhanden sind. Unter diesen LLMs zeichnet sich GPT-3 als herausragendes Modell mit erheblichen Fähigkeiten aus. Darüber hinaus haben sich die Varianten von GPT-3, nämlich Anweisungen und Chatgpt, dank der Anweisungsabstimmung als wirksam bei der Interpretation natürlicher Sprache als wirksame Anweisungen für komplexe reale Aufgaben erwiesen.
Motiviert durch das vorgelagerte Verbrauchsformat vor der Vorbereitung des Flamingo -Modells, präsentieren wir uns? Otter, ein multimodales Modell, das auf OpenFlamingo basiert (die Open-Sourced-Version von DeepMinds Flamingo). Wir schulen unseren Otter in einem kontextbezogenen Weg auf unserem vorgeschlagenen Datensatz ( Mimic-it ) in einem Einstieg auf unserem Vorschlag. Otter präsentiert eine verbesserte Anlehnung und die Lernfähigkeit der Anweisungen und die Lernfähigkeit der Anweisungen in Bildern und Videos.
Mimic-It ermöglicht die Anwendung des egozentrischen visuellen Assistentenmodells, das Ihre Fragen beantworten kann, wie Hey, glauben Sie, dass ich meine Schlüssel auf dem Tisch gelassen habe? . Nutzen Sie die Kraft von Mimic-It, das volle Potenzial Ihres KI-gesteuerten visuellen Assistenten auszuschalten und Ihre interaktiven Sehvermögensaufgaben auf neue Höhen zu erhöhen.
Wir stellen auch Syphus vor, eine automatisierte Pipeline zur Generierung von hochwertigen Anweisungsreaktionspaaren in mehreren Sprachen. Aufbauend auf dem von LLAVA vorgeschlagenen Framework nutzen wir ChatGPT, um Anweisungsreaktionspaare basierend auf visuellen Inhalten zu generieren. Um die Qualität der generierten Anweisungsreaktionspaare zu gewährleisten, enthält unsere Pipeline Systemmeldungen, visuelle Annotationen und In-Kontext-Beispiele als Eingabeaufforderungen für ChatGPT.
Weitere Informationen finden Sie im Mimic-It-Datensatz.
Otter ist so konzipiert, dass die multi-modale In-Kontext-Befehlsabstimmung basierend auf dem OpenFlamingo-Modell basiert, das das Sprachmodell auf den entsprechenden Medien konditioniert, z. B. ein Bild, das einer Bildunterschrift oder einem Anweisungs-Antwort-Paar entspricht.
Wir schulen Otter auf dem Mimic-It-Datensatz mit ca. 2,8 Millionen In-Kontext-Anweisungs-Antwortpaaren, die in eine zusammenhängende Vorlage aufgebaut sind, um verschiedene Aufgaben zu ermöglichen. Otter unterstützt Videoseingänge (Frames werden als ursprüngliche Flamingo-Implementierung angeordnet) und mehrere Bildereingaben als In-Context-Beispiele, das das erste multimodale Anweisungsmodell ist.
Die folgende Vorlage umfasst Bilder, Benutzeranweisungen und modellgenerierte Antworten, wobei die User
und GPT
Rollenbezeichnungen verwendet werden, um nahtlose Benutzer-assistierende Interaktionen zu ermöglichen.
prompt = f"<image>User: { instruction } GPT:<answer> { response } <endofchunk>"
Das Training des Otter-Modells im Mimic-It-Datensatz ermöglicht es ihm, unterschiedliche Kapazitäten zu erwerben, wie die LA- und SD-Aufgaben demonstriert. Das Modell wurde in der LA-Aufgabe ausgebildet und zeigt ein außergewöhnliches Szenenverständnis, die Argumentationsfähigkeiten und die mehrköpfigen Gesprächsfunktionen.
# multi-round of conversation
prompt = f"<image>User: { first_instruction } GPT:<answer> { first_response } <endofchunk>User: { second_instruction } GPT:<answer>"
In Bezug auf das Konzept der Organisation von Beispielen für visuellsprachige In-Kontext-Beispiele demonstrieren wir hier die erworbene Fähigkeit des Otter-Modells, nach dem Training in der LA-T2T-Aufgabe interkontextuelle Anweisungen zu befolgen. Das organisierte Eingabedatenformat lautet wie folgt:
# 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>"
Weitere Informationen finden Sie im Anhang unserer Zeitung für andere Aufgaben.
conda env create -f environment.yml
installieren. Vor allem, um sicherzustellen, dass die transformers>=4.28.0
, accelerate>=0.18.0
.Nach der Konfiguration der Umgebung können Sie das verwenden? Flamingo -Modell /? Otter -Modell als? Mit nur wenigen Zeilen umarmen das Gesichtsmodell! One-Click- und Modellkonfigurationen/Gewichte werden automatisch heruntergeladen. Weitere Informationen finden Sie unter Huggingface Otter/Flamingo.
Otter wird basierend auf OpenFlamingo geschult. Möglicherweise müssen Sie konvertierte Gewichte bei Luodian/Otter-9b-Init oder Luodian/Otter-Mpt7b-Init verwenden. Sie werden jeweils von OpenFlamingo-Llama7b <answer>
V1- und OpenFlamingo-Mpt7b-V2 konvertiert.
Sie können auch alle geschulten Otter -Gewichte verwenden, um mit Ihrem Training über unserem zu beginnen, und sehen Sie sie bei Otter Gewichten. Sie können sich auf Mimic-IT beziehen, um Bild-/Anweisungen/Trainer-JSON-Dateien vorzubereiten.
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
Wenn Sie dieses Repository als nützlich empfanden, sollten Sie sich angeben:
@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}
}
Wir danken Jack Hessel für die Beratung und Unterstützung sowie für das OpenFlamingo -Team für ihren großartigen Beitrag zur Open -Source -Community.
Riesige Auszeichnungen nach Flamingo und OpenFlamingo -Team für die Arbeit an dieser großartigen Architektur.