<p align="center" width="100%"> <img src="https://i.postimg.cc/MKmyP9wH/new-banner.png" width="80%" height="80%"> </p>

<div> <div align="center"> <a href='https://brianboli.com/' target='_blank'>Bo Li*<sup>1</sup></a>  <a href='https://zhangyuanhan-ai.github.io/' target='_blank'>Yuanhan Zhang*<sup>,1</sup></a>  <a href='https://cliangyu.com/' target='_blank'>Liangyu Chen*<sup>,1</sup></a>  <a href='https://king159.github.io/' target='_blank'>Jinghao Wang*<sup>,1</sup></a>  <a href='https://pufanyi.github.io/' target='_blank'>Fanyi Pu*<sup>,1</sup></a>  </br> <a href='https://jingkang50.github.io/' target='_blank'>Jingkang Yang<sup>1</sup></a>  <a href='https://chunyuan.li/' target='_blank'>Chunyuan Li<sup>2</sup></a>  <a href='https://liuziwei7.github.io/' target='_blank'>Ziwei Liu<sup>1</sup></a> </div> <div> <div align="center"> <sup>1</sup>S-Lab, Nanyang Technological University  <sup>2</sup>Microsoft Research, Redmond </div>

This weight is for initilizing training for Otter-MPT1B.

It's directly converted from openflamingo/OpenFlamingo-3B-vitl-mpt1b-langinstruct.

You can load and try this model using

model = OtterForConditionalGeneration.from_pretrained("luodian/OTTER-MPT7B-Init", device_map="sequential")
model.text_tokenizer.padding_side = "left"
tokenizer = model.text_tokenizer
image_processor = transformers.CLIPImageProcessor()
model.eval()

You can also start training Otter via the commands

python -m accelerate.commands.launch --config_file=./pipeline/accelerate_configs/accelerate_config_fsdp.yaml \
pipeline/train/instruction_following.py \
--pretrained_model_name_or_path=luodian/OTTER-MPT1B-RPJama-Init \
--mimicit_path=/data/azure_storage/otter/mimicit/xx/xx_instructions.json \
--images_path=/data/azure_storage/otter/mimicit/xx/xx.json \
--batch_size=4 --num_epochs=1 --report_to_wandb \
--wandb_entity=ntu-slab \
--external_save_dir=/data/bli/checkpoints \
--save_hf_model \
--run_name=OTTER-MPT1B \
--wandb_project=OTTER-MPT1B \
--workers=4 \
--lr_scheduler=cosine \
--learning_rate=1e-5 \
--warmup_steps_ratio=0.01

If you wish to init a video instruction tuning, you should add

"max_num_frames": 128

to config.json inside the folder.

Leave us a message if you have any error or question. You can follow Otter code (see training section) to further tune your model on top of it.