พื้นที่เก็บข้อมูลนี้จัดเตรียมการใช้งาน PyTorch อย่างเป็นทางการของเอกสารต่อไปนี้:
การถอดรหัสการจัดตำแหน่งข้ามโมดัลในโมเดลภาษาวิชั่นขนาดใหญ่พร้อมอัตราการบูรณาการโมดาลลิตี
ฉีตง ฮวง 1,2 , เซียวอี้ตง 2,3 , ปาน จาง 2 , หยูหัง จาง 2 , หยูหัง เชา 2 , เจียฉี หวาง 2 , ต้าหัว หลิน 2 , เว่ยหมิง จาง 1 , เหนิงไห่ หยู 1
1 มหาวิทยาลัยวิทยาศาสตร์และเทคโนโลยีแห่งประเทศจีน, 2 ห้องปฏิบัติการ AI เซี่ยงไฮ้, 3 มหาวิทยาลัยจีนแห่งฮ่องกง
[2024.10.10] เราเผยแพร่บทความที่ ArXiv และ HuggingFace!
[2024.10.10] หน้าโครงการนี้ถูกสร้างขึ้นแล้ว!
หากคุณเพียงต้องการใช้ MIR เป็นตัวบ่งชี้ก่อนการฝึกอบรมสำหรับโมเดลของคุณเอง ก็ไม่จำเป็นต้องมีสภาพแวดล้อมเพิ่มเติม
torch
, numpy
และ scipy
แล้วmir.py
ด้วยโค้ดของโมเดลของคุณเอง เราจะแสดงโค้ดของ LLaVA เป็นข้อมูลอ้างอิง python mir.py --model_path PATH/TO/MODEL --base_llm PATH/TO/LLM --text_data_path PATH/TO/TEXT/DATA --image_data_path PATH/TO/VISION/DATA --eval_num 100 --mode fast
โปรดทราบว่าไม่จำเป็นต้องใช้ base_llm
หากคุณฝึก LLM ฐานระหว่างการฝึกล่วงหน้าและรวม ckpt ไว้ใน model_path
คุณยังสามารถปรับ args ให้เป็นสไตล์การเริ่มต้นของโมเดลของคุณได้
หากคุณต้องการใช้ MoCa กับโมเดลของคุณเอง เราขอแนะนำให้คุณทำตามขั้นตอนด้านล่าง:
modality_mask
ได้ โปรดดูที่ Line183-184, Line269-276 และ Line373-382 ใน llava/model/llava_arch.py
นอกจากนี้ ตรวจสอบให้แน่ใจว่า modality_mask
สามารถส่งไปยัง Model Forward Pass ได้สำเร็จ เช่น เพิ่มเป็นพารามิเตอร์อย่างเป็นทางการของแต่ละฟังก์ชัน Forward เช่น Line70, Line88, Line96, Line106, Line127, Line137, Line145, Line157, Line166, Line174 -175 ใน llava/model/language_model/llava_llama.py
use_moca=True
เช่น (แนะนำให้ค้นหา use_moca
ใน repo นี้เพื่อค้นหาสถานที่ที่ควรแก้ไข): 1) เพิ่มลงในการกำหนดค่าโมเดล (ที่นี่) 2) เพิ่มลงในข้อโต้แย้งการฝึกอบรม (ที่นี่) 3) ปลดล็อคระหว่างการฝึก (ที่นี่) 4) ตรวจสอบให้แน่ใจว่าการบันทึกจุดตรวจถูกต้อง (ที่นี่1, ที่นี่2, ที่นี่3)--use_moca
เมื่อรันคำสั่งการฝึกอบรมเพื่อเปิดใช้งานการใช้งาน MoCa หากคุณต้องการใช้โค้ดเบสของเรา (แก้ไขบน LLaVA) เพื่อทำซ้ำ ขอแนะนำให้คุณสร้างสภาพแวดล้อมใหม่ตามขั้นตอนด้านล่างนี้ ขั้นตอนต่อไปนี้เป็นเพียงรายการสำหรับ Linux หากคุณใช้ macOS หรือ Windows โปรดดูที่ LLaVA
git clone https://github.com/shikiw/Modality-Integration-Rate.git
cd Modality-Integration-Rate
conda create -n llava python=3.10 -y
conda activate llava
python -m pip install --upgrade pip # enable PEP 660 support
python -m pip install -e .
python -m pip install -e transformers-4.37.2
pythom -m pip install -e ".[train]"
pythom -m pip install flash-attn --no-build-isolation
เมื่อต้องการทำซ้ำการใช้งาน MIR บน codebase นี้ คุณสามารถทำตามขั้นตอนเหล่านี้:
text_data_path
และ image_data_path
สำหรับการคำนวณ MIR คุณยังสามารถระบุได้เช่น Line55-64 ใน mir.py
โดยใช้รูปภาพ val TextVQA และข้อความ CNN/DM ตามค่าเริ่มต้น เช่นPATH/TO/VISION/DATA
PATH/TO/TEXT/DATA
python mir.py --model_path PATH/TO/MODEL --base_llm PATH/TO/LLM --eval_num 100 --mode fast
python mir.py --model_path PATH/TO/MODEL --eval_num 100 --mode fast
ฐานโค้ดของเรารองรับ --use_moca
เพื่อเปิดใช้งานการใช้งาน MoCa ตรวจสอบ scripts/v1_5/pre_sft_moca.sh
เพื่อดูรายละเอียดเพิ่มเติม
แบบอย่าง | ขนาด | กำหนดการ | เฉลี่ย | เอ็มเอ็มสตาร์ | เอ็มเอ็มอี | มม | MMB-CN | เมล็ด-IMG | ข้อความVQA | MM-สัตวแพทย์ | สมเด็จพระสันตะปาปา | GQA |
---|---|---|---|---|---|---|---|---|---|---|---|---|
LLaVA-v1.5 | 7B | full_ft-1e | 59.1 | 30.3 | 1510.7 | 64.3 | 58.3 | 66.1 | 58.2 | 31.1 | 85.9 | 62.0 |
+โมก้า | 7B | full_ft-1e | 60.6 | 36.5 | 1481.0 | 66.8 | 60.0 | 67.0 | 58.7 | 32.2 | 86.9 | 62.8 |
จุดตรวจที่ได้รับการฝึกฝนและปรับแต่งอย่างดีจะถูกปล่อยออก
โค้ดเบสนี้อิงจาก LLaVA และ ShareGPT4V ซึ่งเราเปิดตัวฟีเจอร์ใหม่ๆ และตอนนี้รองรับอินพุตต่อไปนี้ในสคริปต์เรียกใช้งาน:
--tune_vision_tower
และ --tune_vit_from_layer
--tune_language_model
และ --tune_llm_utill_layer
--tune_entire_model
--data_scale
--use_moca
และ --moca_std
บางกรณีสำหรับการอ้างอิง:
sh scripts/v1_5/pre_data_scale.sh
sh scripts/v1_5/pre_unlock_vit-12_llm-16_sft.sh
sh scripts/v1_5/pre_unlock_vit-12_llm-all_sft.sh
sh scripts/v1_5/pre_sft_moca.sh
เราปฏิบัติตามการประเมินดั้งเดิมใน LLaVA สำหรับการวัดประสิทธิภาพส่วนใหญ่ สำหรับ MMStar เราใช้ VLMEvalKit
ดูการประเมินผล.md
การซื้อคืนนี้อิงตามโค้ดเบสของ LLaVA และ ShareGPT4V ขอบคุณสำหรับผลงานที่น่าประทับใจของพวกเขา!
หากคุณพบว่างานนี้มีประโยชน์สำหรับการวิจัยของคุณ โปรดอ้างอิงรายงานของเรา:
@article{huang2024deciphering,
title={Deciphering Cross-Modal Alignment in Large Vision-Language Models with Modality Integration Rate},
author={Huang, Qidong and Dong, Xiaoyi and Zhang, Pan and Zang, Yuhang and Cao, Yuhang and Wang, Jiaqi and Lin, Dahua and Zhang, Weiming and Yu, Nenghai},
journal={arXiv preprint arXiv:2410.07167},
year={2024}
}