⭐️ ผลงานซีรีส์ของเรา: [ MMStar ] [ ShareGPT4Video ] [ ShareGPT4Omni ]
- การใช้งาน ShareGPT4V อย่างเป็นทางการ: การปรับปรุงโมเดลหลายรูปแบบขนาดใหญ่พร้อมคำบรรยายที่ดีกว่า ใน ECCV 2024
ผู้แต่ง : Lin Chen*, Jinsong Li*, Xiaoyi Dong, Pan Zhang, Conghui He, Jiaqi Wang, Feng Zhao?, Dahua Lin?
สถาบัน : มหาวิทยาลัยวิทยาศาสตร์และเทคโนโลยีแห่งประเทศจีน; ห้องปฏิบัติการ AI เซี่ยงไฮ้
แหล่งข้อมูล : [กระดาษ] [หน้าโครงการ] [ แชร์ชุดข้อมูล GPT4V]
รุ่น : [ShareGPT4V-7B] [ShareCaptioner]
แชร์GPT4V-7B Demo [OpenXLab] [?HuggingFace] [Colab]
แบ่งปันคำบรรยายสาธิต [OpenXlab] [?HuggingFace]
- ชุดข้อมูลข้อความรูปภาพ ที่มีคำอธิบายสูง ขนาดใหญ่
- คำบรรยายที่สร้างโดย GPT4-Vision 100,000 คำบรรยายคุณภาพสูง 1.2 ล้าน คำบรรยาย
- ตัวสร้างคำบรรยายภาพทั่วไป ใกล้ความสามารถคำบรรยายของ GPT4-Vision
- โมเดลมัลติโมดัลขนาดใหญ่ที่เหนือกว่า ShareGPT4V-7B
[2024/07/2] มีความยินดีที่จะประกาศว่า ShareGPT4V ได้รับการยอมรับจาก ECCV 2024 แล้ว!
[8/02/2024] เราเปิด ตัว ShareGPT4Video ซึ่งเป็นชุดข้อมูลคำบรรยายวิดีโอขนาดใหญ่ พร้อมคำบรรยาย 40,000 รายการที่มีคำอธิบายประกอบโดย GPT4V และคำบรรยาย 4.8 ล้านรายการ ที่มีคำอธิบายประกอบโดย ShareCaptioner-Video ของเรา วิดีโอทั้งหมดมีความยาว 300 ชั่วโมงและ 3,000 ชั่วโมงแยกกัน!
[1/4/2024] เราได้เปิดตัว MMStar ซึ่งเป็นการวัดประสิทธิภาพการมองเห็นชั้นยอดที่ขาดไม่ได้ในหลายรูปแบบ มีความสุข!?
[12/2023/14] เปิดตัวรุ่น ShareGPT4V-13B มีความสุข!?
[2023/12/13] มีรหัสการฝึกอบรมและการประเมินผลแล้ว
[2023/12/13] Local ShareCaptioner พร้อมใช้งานแล้ว! คุณสามารถใช้เพื่อสร้างคำอธิบายภาพคุณภาพสูงสำหรับชุดข้อมูลของคุณด้วยการอนุมานแบบกลุ่มโดยการเรียกใช้ tools/share-cap_batch_infer.py
โดยตรง
[2023/11/23] เราปล่อยตัวอย่างเว็บ Share-Captioner ทั่วไป!?
[23/11/2023] เราปล่อยโค้ดเพื่อสร้างการสาธิต ShareGPT4V-7B ในพื้นที่ของคุณ!?
[2023/11/22] เว็บเดโม่และด่านพร้อมเปิดให้บริการแล้ว!?
[21/11/2023] ชุดข้อมูล ShareGPT4V วางจำหน่ายแล้ว!?
[2023/11/20] กระดาษและหน้าโครงการออกแล้ว!
รหัสการฝึกอบรมและการประเมินผลสำหรับ ShareGPT4V-7B
คำบรรยายท้องถิ่น
การสาธิตเว็บและการสาธิตในเครื่องของ ShareGPT4V-7B
จุดตรวจ ShareGPT4V-7B
ดูรายละเอียดเพิ่มเติมใน ModelZoo.md
ชื่อ | นิติศาสตร์มหาบัณฑิต | ด่าน | LLaVA-ม้านั่ง-ป่า | MME-การรับรู้ | ความรู้ความเข้าใจ MME | เอ็มเบนช์ | MMBench-CN | รูปภาพเมล็ด | MM-สัตวแพทย์ | คิวเบนช์ | รูปภาพ SQA | VQA-v2 | วิซวิซ | GQA | ข้อความVQA |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
แชร์GPT4V-7B | วิคูนา-7B | แชร์GPT4V-7B | 72.6 | 1567.4 | 376.4 | 68.8 | 62.2 | 69.7 | 37.6 | 63.4 | 68.4 | 80.6 | 57.2 | 63.3 | 60.4 |
แชร์GPT4V-13B | วิคูนา-13B | แชร์GPT4V-13B | 79.9 | 1618.7 | 303.2 | 68.5 | 63.7 | 70.8 | 43.1 | 65.2 | 71.2 | 81.0 | 55.6 | 64.8 | 62.2 |
จาก share4v.model.builder นำเข้า load_pretrained_modelfrom share4v.mm_utils นำเข้า get_model_name_from_pathfrom share4v.eval.run_share4v นำเข้า eval_modelmodel_path = "Lin-Chen/ShareGPT4V-7B" โทเค็นเซอร์, โมเดล, ตัวประมวลผลรูปภาพ, context_len = load_pretrained_model ( model_path=model_path, model_base=ไม่มี, model_name=get_model_name_from_path(model_path) -
ตรวจสอบรายละเอียดด้วยฟังก์ชัน load_pretrained_model
ใน share4v/model/builder.py
คุณยังสามารถใช้ฟังก์ชัน eval_model
ใน share4v/eval/run_llava.py
เพื่อรับเอาต์พุตได้อย่างง่ายดาย เมื่อทำเช่นนี้ คุณจะใช้โค้ดนี้บน Colab ได้โดยตรงหลังจากดาวน์โหลดที่เก็บนี้
model_path = "Lin-Chen/ShareGPT4V-7B"prompt = "บทกลอนที่พบบ่อยที่สุดของตัวละครทางด้านขวาคืออะไร"image_file = "examples/breaking_bad.png"args = type('Args', (), { " model_path": model_path, "model_base": ไม่มี, "model_name": get_model_name_from_path (model_path), "query": พรอมต์, "conv_mode": ไม่มี, "image_file": image_file, "sep": ",", "อุณหภูมิ": 0, "top_p": ไม่มี, "num_beams": 1, "max_new_tokens": 512})()eval_model(args )
git clone https://github.com/InternLM/InternLM-XComposer --ความลึก=1cd โครงการ/ShareGPT4V conda สร้าง -n share4v หลาม = 3.10 -y conda เปิดใช้งาน share4v pip ติดตั้ง -- อัปเกรด pip pip install -e .pip install -e ".[train]"pip ติดตั้ง flash-attn --no-build-isolation
คุณสามารถสร้างการสาธิตในพื้นที่ของคุณโดย:
# run script python tools/app.py
คุณควรปฏิบัติตามคำแนะนำนี้ Data.md เพื่อจัดการชุดข้อมูล ขณะนี้เราให้การเข้าถึงการดาวน์โหลดโดยตรงไปยังข้อมูลเว็บ อย่างไรก็ตาม เพื่อหลีกเลี่ยงข้อพิพาทที่อาจเกิดขึ้น เราวางแผนที่จะเผยแพร่ URL สำหรับชุดข้อมูลเหล่านี้ แทนที่จะเป็นข้อมูลดิบในอนาคตอันใกล้นี้
การฝึกโมเดล ShareGPT4V ประกอบด้วยสองขั้นตอน: (1) ขั้นตอนการจัดตำแหน่งฟีเจอร์: ใช้ชุดข้อมูล ShareGPT4V-PT ของเรากับคู่ข้อความรูปภาพคุณภาพสูงที่สร้างโดย ShareCaptioner 1.2M เพื่อปรับแต่งตัวเข้ารหัสการมองเห็น โปรเจ็กเตอร์ และ LLM เพื่อจัดแนวข้อความและ รังสีทางสายตา; (2) ขั้นตอนการปรับแต่งคำสั่งด้วยภาพ: ปรับแต่งโปรเจ็กเตอร์และ LLM เพื่อสอนโมเดลให้ปฏิบัติตามคำสั่งต่อเนื่องหลายรูปแบบ
หากต้องการฝึกฝนโดยใช้ GPU น้อยลง คุณสามารถลดขนาด per_device_train_batch_size
และเพิ่มระดับ gradient_accumulation_steps
ตามลำดับ รักษาขนาดแบตช์ส่วนกลางให้เท่าเดิมเสมอ: per_device_train_batch_size x gradient_accumulation_steps x num_gpus
เราใช้ชุดไฮเปอร์พารามิเตอร์ที่คล้ายกันเป็น ShareGPT4V-7B ในการปรับแต่งอย่างละเอียด ไฮเปอร์พารามิเตอร์ทั้งสองที่ใช้ในการฝึกล่วงหน้าและการปรับแต่งมีระบุไว้ด้านล่าง
การฝึกล่วงหน้า
ไฮเปอร์พารามิเตอร์ | ขนาดแบตช์ทั่วโลก | อัตราการเรียนรู้ | ยุค | ความยาวสูงสุด | น้ำหนักลด |
---|---|---|---|---|---|
แชร์GPT4V-7B | 256 | 2e-5 | 1 | 2048 | 0 |
การปรับแต่งอย่างละเอียด
ไฮเปอร์พารามิเตอร์ | ขนาดแบตช์ทั่วโลก | อัตราการเรียนรู้ | ยุค | ความยาวสูงสุด | น้ำหนักลด |
---|---|---|---|---|---|
แชร์GPT4V-7B | 128 | 2e-5 | 1 | 2048 | 0 |
ขั้นแรก คุณควรดาวน์โหลดโปรเจคเตอร์ MLP ที่ได้รับการฝึกอบรมโดย LLaVA-1.5 พร้อมด้วย LAION-CC-SBU-558K เนื่องจากกระบวนการจัดตำแหน่ง Modality แบบคร่าว ๆ จะเป็นประโยชน์ก่อนที่จะใช้คำอธิบายภาพโดยละเอียดคุณภาพสูงสำหรับการจัดตำแหน่ง Modality
คุณสามารถรัน projects/ShareGPT4V/scripts/sharegpt4v/slurm_pretrain_7b.sh
เพื่อฝึกโมเดลล่วงหน้าได้ อย่าลืมระบุเส้นทางโปรเจ็กเตอร์ในสคริปต์ ในขั้นตอนนี้ เราได้ปรับแต่งครึ่งหลังของบล็อกของตัวเข้ารหัสวิชัน โปรเจ็กเตอร์ และ LLM
ในการตั้งค่าของเรา เราใช้ GPU A100 (80G) 16 ตัว และกระบวนการก่อนการฝึกอบรมทั้งหมดใช้เวลาประมาณ 12 ชั่วโมง คุณสามารถปรับจำนวนขั้นตอนการสะสมการไล่ระดับสีเพื่อลดจำนวน GPU ได้
ในขั้นตอนนี้ เราปรับแต่งโปรเจ็กเตอร์และ LLM ด้วย sharegpt4v_mix665k_cap23k_coco-ap9k_lcs3k_sam9k_div2k.json
คุณสามารถรัน projects/ShareGPT4V/scripts/sharegpt4v/slurm_finetune_7b.sh
เพื่อปรับแต่งโมเดล
ในการตั้งค่าของเรา เราใช้ GPU A100 (80G) 16 ตัว และกระบวนการก่อนการฝึกอบรมทั้งหมดใช้เวลาประมาณ 7 ชั่วโมง คุณสามารถปรับจำนวนขั้นตอนการสะสมการไล่ระดับสีเพื่อลดจำนวน GPU ได้
เพื่อให้มั่นใจถึงความสามารถในการทำซ้ำ เราจะประเมินโมเดลที่มีการถอดรหัสที่โลภ เราไม่ประเมินโดยใช้การค้นหาลำแสงเพื่อทำให้กระบวนการอนุมานสอดคล้องกับการสาธิตการแชทของเอาต์พุตแบบเรียลไทม์
ดูการประเมินผล.md
LLaVA: โค้ดเบสที่เราสร้างขึ้น ขอบคุณสำหรับการทำงานที่ยอดเยี่ยมของพวกเขา
Vicuna: โมเดลภาษาโอเพ่นซอร์สขนาดใหญ่ที่น่าทึ่ง!
หากคุณพบว่างานของเรามีประโยชน์สำหรับการวิจัยของคุณ โปรดพิจารณาให้ดาว ⭐ และการอ้างอิง ?
@article{chen2023sharegpt4v, title={ShareGPT4V: Improving Large Multi-Modal Models with Better Captions}, author={Chen, Lin และ Li, Jisong และ Dong, Xiaoyi และ Zhang, Pan and He, Conghui และ Wang, Jiaqi และ Zhao, เฟิงและลิน, Dahua}, Journal={arXiv preprint arXiv:2311.12793}, year={2023}}@article{chen2024sharegpt4video, title={ShareGPT4Video: Improving Video allowanceing and Generation with Better Captions}, author={Chen, Lin และ Wei, Xilin และ Li, Jinsong และ Dong, Xiaoyi และ Zhang, Pan และ Zang , Yuhang และ Chen, Zehui และ Duan, Haodong และ Lin, Bin และ Tang, Zhenyu และคนอื่นๆ}, วารสาร={arXiv preprint arXiv:2406.04325}, year={2024}}@article{chen2024we, title={Are We on the Right Way for Evaluating Large Vision-Language Models?}, author={Chen, Lin และ Li, Jinsong และ Dong, Xiaoyi และ จาง, ผานและจาง, หยูหางและเฉิน, เจ๋อฮุยและต้วน, ห่าวตงและหวัง, เจียฉีและเฉียว, หยูและหลิน, ต้าหัวและ อื่นๆ}, วารสาร={arXiv พิมพ์ล่วงหน้า arXiv:2403.20330}, ปี={2024}}
ประกาศการใช้งานและใบอนุญาต : ข้อมูลและจุดตรวจสอบมีจุดมุ่งหมายและอนุญาตให้ใช้เฉพาะสำหรับการวิจัยเท่านั้น นอกจากนี้ยังจำกัดการใช้งานที่เป็นไปตามข้อตกลงใบอนุญาตของ LLaMA, Vicuna และ GPT-4 ชุดข้อมูลเป็นแบบ CC BY NC 4.0 (อนุญาตเฉพาะการใช้งานที่ไม่ใช่เชิงพาณิชย์) และแบบจำลองที่ได้รับการฝึกอบรมโดยใช้ชุดข้อมูลไม่ควรนำไปใช้นอกวัตถุประสงค์การวิจัย