เหวินโป หู*, อี้ฟาน ซู*, ยี่ ลี่, เว่ยเยว่ ลี, เจ๋อหยวน เฉิน และจัวเหวิน ตู่ *ผลงานที่เท่าเทียมกัน
UC ซานดิเอโก , Coinbase Global, Inc.
สถาปัตยกรรมแบบจำลองของเราโดยละเอียดพร้อมตัวอย่างคำตอบ
วิธี | STVQA | OCRVQA | ข้อความVQA | DocVQA | ข้อมูลVQA | แผนภูมิQA | ESTVQA | กองทุน | สรอย | ปอย | เฉลี่ย |
---|---|---|---|---|---|---|---|---|---|---|---|
เปิดฟลามิงโก | 19.32 | 27.82 | 29.08 | 5.05 | 14.99 | 9.12 | 28.20 | 0.85 | 0.12 | 2.12 | 13.67 |
BLIP2-OPT | 13.36 | 10.58 | 21.18 | 0.82 | 8.82 | 7.44 | 27.02 | 0.00 | 0.00 | 0.02 | 8.92 |
BLIP2-FLanT5XXL | 21.38 | 30.28 | 30.62 | 4.00 น | 10.17 | 7.20 | 42.46 | 1.19 | 0.20 | 2.52 | 15.00 น |
มินิ GPT4 | 14.02 | 11.52 | 18.72 | 2.97 | 13.32 | 4.32 | 28.36 | 1.19 | 0.04 | 1.31 | 9.58 |
ลาวา | 22.93 | 15.02 | 28.30 น | 4.40 | 13.78 | 7.28 | 33.48 | 1.02 | 0.12 | 2.09 | 12.84 |
mPLUG-นกฮูก | 26.32 | 35.00 น | 37.44 | 6.17 | 16.46 | 9.52 | 49.68 | 1.02 | 0.64 | 3.26 | 18.56 |
InstructBLIP (FLANT5XXL) | 26.22 | 55.04 | 36.86 | 4.94 | 10.14 | 8.16 | 43.84 | 1.36 | 0.50 | 1.91 | 18.90 |
สอน BLIP (Vicuna-7B) | 28.64 | 47.62 | 39.60 | 5.89 | 13.10 | 5.52 | 47.66 | 0.85 | 0.64 | 2.66 | 19.22 |
บลิว่า (FLANT5XXL) | 28.24 | 61.34 | 39.36 | 5.22 | 10.82 | 9.28 | 45.66 | 1.53 | 0.50 | 2.39 | 20.43 |
บลิวา (Vicuna-7B) | 29.08 | 65.38 | 42.18 | 6.24 | 13.50 | 8.16 | 48.14 | 1.02 | 0.88 | 2.91 | 21.75 |
วิธี | วีเอสอาร์ | ไอคอนQA | ข้อความVQA | ภาพ | Flickr30K | HM | วิซวิซ | MSRVTT |
---|---|---|---|---|---|---|---|---|
ฟลามิงโก-3B | - | - | 30.1 | - | 60.6 | - | - | - |
ฟลามิงโก-9B | - | - | 31.8 | - | 61.5 | - | - | - |
ฟลามิงโก-80B | - | - | 35.0 | - | 67.2 | - | - | - |
มินิ GPT-4 | 50.65 | - | 18.56 | - | - | 29.0 | 34.78 | - |
ลาวา | 56.3 | - | 37.98 | - | - | 9.2 | 36.74 | - |
บลิป-2 (วิคูนา-7B) | 50.0 | 39.7 | 40.1 | 44.9 | 74.9 | 50.2 | 49.34 | 4.17 |
สอน BLIP (Vicuna-7B) | 54.3 | 43.1 | 50.1 | 45.2 | 82.4 | 54.8 | 43.3 | 18.7 |
บลิวา (Vicuna-7B) | 62.2 | 44.88 | 57.96 | 45.63 | 87.1 | 55.6 | 42.9 | 23.81 |
conda create -n bliva python=3.9
conda activate bliva
git clone https://github.com/mlpc-ucsd/BLIVA
cd BLIVA
pip install -e .
บลิวา วิคูนา 7B
รุ่น Vicuna ของเรามีวางจำหน่ายแล้วที่นี่ ดาวน์โหลดน้ำหนักโมเดลของเราและระบุเส้นทางในการกำหนดค่าโมเดลที่นี่ที่บรรทัดที่ 8
LLM ที่เราใช้คือเวอร์ชัน v0.1 จาก Vicuna-7B หากต้องการเตรียมน้ำหนักของ Vicuna โปรดดูคำแนะนำของเราที่นี่ จากนั้นกำหนดเส้นทางไปยังน้ำหนักของ vicuna ในไฟล์ปรับแต่งโมเดลที่นี่ที่บรรทัดที่ 21
BLIVA FlanT5 XXL (มีจำหน่ายสำหรับใช้ในเชิงพาณิชย์)
รุ่นเวอร์ชัน FlanT5 วางจำหน่ายแล้วที่นี่ ดาวน์โหลดน้ำหนักโมเดลของเราและระบุเส้นทางในการกำหนดค่าโมเดลที่นี่ที่บรรทัดที่ 8
น้ำหนัก LLM สำหรับ Flant5 จะเริ่มดาวน์โหลดจาก Huggingface โดยอัตโนมัติเมื่อรันโค้ดการอนุมานของเรา
หากต้องการตอบคำถามหนึ่งข้อจากรูปภาพ ให้รันโค้ดการประเมินต่อไปนี้ ตัวอย่างเช่น,
python evaluate.py --answer_qs
--model_name bliva_vicuna
--img_path images/example.jpg
--question " what is this image about? "
นอกจากนี้เรายังสนับสนุนการตอบคำถามแบบเลือกตอบซึ่งเป็นแบบเดียวกับที่เราใช้สำหรับงานประเมินผลในกระดาษ หากต้องการแสดงรายการ chioce ควรแยกสตริงด้วยเครื่องหมายจุลภาค ตัวอย่างเช่น,
python evaluate.py --answer_mc
--model_name bliva_vicuna
--img_path images/mi6.png
--question " Which genre does this image belong to? "
--candidates " play, tv show, movie "
การสาธิตของเรามีให้บริการแบบสาธารณะที่นี่ เพื่อเรียกใช้การสาธิตของเราในเครื่องของคุณ วิ่ง:
python demo.py
หลังจากดาวน์โหลดชุดข้อมูลการฝึกอบรมและระบุเส้นทางในการกำหนดค่าชุดข้อมูล เราก็พร้อมสำหรับการฝึกอบรม เราใช้ 8x A6000 Ada ในการทดลองของเรา โปรดปรับไฮเปอร์พารามิเตอร์ตามทรัพยากร GPU ของคุณ หม้อแปลงอาจใช้เวลาประมาณ 2 นาทีในการโหลดโมเดล และให้เวลาพอสมควรเพื่อให้โมเดลเริ่มการฝึก ที่นี่เราจะยกตัวอย่างการฝึกอบรมเวอร์ชัน BLIVA Vicuna เวอร์ชัน Flant5 เป็นไปตามรูปแบบเดียวกัน
torchrun --nnodes=1 --nproc_per_node=8
train.py
--cfg-path train_configs/pretrain_bliva_vicuna.yaml
torchrun --nnodes=1 --nproc_per_node=8
train.py
--cfg-path train_configs/finetune_bliva_vicuna.yaml
หรือเรายังสนับสนุนการฝึกอบรม Vicuna7b ร่วมกับ BLIVA โดยใช้ LoRA ในระหว่างขั้นตอนที่สอง โดยค่าเริ่มต้นเราจะไม่ใช้เวอร์ชันนี้
torchrun --nnodes=1 --nproc_per_node=8
train.py
--cfg-path train_configs/finetune_bliva_and_vicuna.yaml
หากคุณพบว่า BLIVA มีประโยชน์สำหรับการวิจัยและการใช้งานของคุณ โปรดอ้างอิงโดยใช้ BibTeX นี้:
@misc { hu2023bliva ,
title = { BLIVA: A Simple Multimodal LLM for Better Handling of Text-Rich Visual Questions } ,
author = { Wenbo Hu and Yifan Xu and Yi Li and Weiyue Li and Zeyuan Chen and Zhuowen Tu } ,
publisher = { arXiv:2308.09936 } ,
year = { 2023 } ,
}
รหัสของพื้นที่เก็บข้อมูลนี้อยู่ภายใต้ BSD 3-Clause License รหัสจำนวนมากอิงจาก Lavis พร้อมสิทธิ์การใช้งาน BSD 3-Clause ที่นี่
สำหรับพารามิเตอร์โมเดล BLIVA Vicuna ของเรา ควรใช้ภายใต้ลิขสิทธิ์โมเดลของ LLaMA สำหรับน้ำหนักรุ่นของ BLIVA FlanT5 อยู่ภายใต้ Apache 2.0 License สำหรับข้อมูล YTTB-VQA ของเรา อยู่ภายใต้ CC BY NC 4.0