⭐️ Seri kami berfungsi: [ MMStar ] [ ShareGPT4Video ] [ ShareGPT4Omni ]
??? Implementasi resmi ShareGPT4V: Meningkatkan Model Multimodal Besar dengan Teks Lebih Baik di ECCV 2024.
Penulis : Lin Chen*, Jinsong Li*, Xiaoyi Dong, Pan Zhang, Conghui He, Jiaqi Wang, Feng Zhao?, Dahua Lin?
Institut : Universitas Sains dan Teknologi Tiongkok; Laboratorium AI Shanghai
Sumber : [Kertas] [Halaman Proyek] [ Bagikan Kumpulan Data GPT4V]
Model : [ShareGPT4V-7B] [ShareCaptioner]
Bagikan Demo GPT4V-7B [OpenXLab] [?HuggingFace] [Colab]
Demo Share-Captioner [OpenXlab] [?HuggingFace]
? Kumpulan data teks gambar yang sangat deskriptif berskala besar
? 100 ribu teks yang dihasilkan GPT4-Vision, 1,2 juta teks berkualitas tinggi
? Pembuat teks gambar umum , mendekati kemampuan teks GPT4-Vision.
? Model multimodal besar yang unggul, ShareGPT4V-7B
[2024/7/2] Dengan senang hati mengumumkan bahwa ShareGPT4V diterima di ECCV 2024!
[2024/5/8] Kami merilis ShareGPT4Video , kumpulan data teks video berskala besar, dengan 40 ribu teks yang dianotasi oleh GPT4V dan 4,8 juta teks yang dianotasi oleh ShareCaptioner-Video kami. Total video berdurasi 300 jam dan 3000 jam secara terpisah!
[2024/4/1] Kami merilis tolok ukur multi-modal yang sangat diperlukan dengan visi elit , MMStar. Selamat bersenang-senang!?
[2023/12/14] Kami merilis model ShareGPT4V-13B. Selamat bersenang-senang!?
[2023/12/13] Kode pelatihan dan evaluasi tersedia.
[2023/12/13] ShareCaptioner Lokal telah tersedia sekarang! Anda dapat menggunakannya untuk menghasilkan teks berkualitas tinggi untuk kumpulan data Anda dengan inferensi batch dengan menjalankan tools/share-cap_batch_infer.py
secara langsung.
[2023/11/23] Kami merilis demo web Share-Captioner umum!?
[2023/11/23] Kami merilis kode untuk membuat demo lokal ShareGPT4V-7B Anda!?
[2023/11/22] Demo web dan pos pemeriksaan sudah tersedia sekarang!?
[2023/11/21] Kumpulan Data ShareGPT4V sudah tersedia sekarang!?
[2023/11/20] Makalah dan halaman proyek telah dirilis!
Kode pelatihan dan evaluasi untuk ShareGPT4V-7B
ShareCaptioner Lokal
Demo web dan demo lokal ShareGPT4V-7B
Pos pemeriksaan ShareGPT4V-7B
Lihat detail lebih lanjut di ModelZoo.md.
Nama | LLM | Pos pemeriksaan | LLaVA-Bangku-Liar | persepsi MME | Kognisi MME | MMBench | MMBench-CN | gambar SEED | MM-Dokter Hewan | bangku Q | gambar SQA | VQA-v2 | VizWiz | GQA | TeksVQA |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BagikanGPT4V-7B | Vicuna-7B | BagikanGPT4V-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 |
BagikanGPT4V-13B | Vicuna-13B | BagikanGPT4V-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 |
dari share4v.model.builder impor load_pretrained_modelfrom share4v.mm_utils impor get_model_name_from_pathfrom share4v.eval.run_share4v import eval_modelmodel_path = "Lin-Chen/ShareGPT4V-7B"tokenizer, model, image_processor, konteks_len = load_pretrained_model( model_path=model_path, model_base=Tidak ada, model_name=dapatkan_nama_model_dari_jalur(jalur_model) )
Lihat detailnya dengan fungsi load_pretrained_model
di share4v/model/builder.py
.
Anda juga dapat menggunakan fungsi eval_model
di share4v/eval/run_llava.py
untuk mendapatkan hasilnya dengan mudah. Dengan demikian, Anda dapat langsung menggunakan kode ini di Colab setelah mengunduh repositori ini.
model_path = "Lin-Chen/ShareGPT4V-7B"prompt = "Apa slogan paling umum dari karakter di sebelah kanan?"image_file = "examples/breaking_bad.png"args = type('Args', (), { " model_path": model_path, "model_base": Tidak ada, "model_name": get_model_name_from_path(model_path), "query": cepat, "conv_mode": Tidak ada, "file_gambar": file_gambar, "sep": ",", "suhu": 0, "top_p": Tidak ada, "num_beams": 1, "max_new_tokens": 512})()eval_model(args)
git clone https://github.com/InternLM/InternLM-XComposer --kedalaman=1cd proyek/ShareGPT4V conda buat -n share4v python=3.10 -y conda aktifkan share4v instalasi pip --upgrade pip pip install -e .pip install -e ".[kereta]"pip install flash-attn --no-build-isolation
Anda dapat membuat demo lokal dengan:
# run script python tools/app.py
Anda harus mengikuti instruksi ini Data.md untuk mengelola kumpulan data. Saat ini, kami menyediakan akses unduh langsung ke data web. Namun, untuk menghindari potensi perselisihan, kami berencana merilis URL untuk kumpulan data ini, bukan data mentah, dalam waktu dekat.
Pelatihan model ShareGPT4V terdiri dari dua tahap: (1) tahap penyelarasan fitur: gunakan kumpulan data ShareGPT4V-PT kami dengan 1,2 juta pasangan gambar-teks berkualitas tinggi yang dihasilkan ShareCaptioner untuk menyempurnakan vision encoder, proyektor, dan LLM guna menyelaraskan tekstual dan modalitas visual; (2) tahap penyetelan instruksi visual: menyempurnakan proyektor dan LLM untuk mengajarkan model mengikuti instruksi multimodal.
Untuk berlatih dengan GPU yang lebih sedikit, Anda dapat mengurangi per_device_train_batch_size
dan meningkatkan gradient_accumulation_steps
sesuai kebutuhan. Selalu pertahankan ukuran batch global yang sama: per_device_train_batch_size x gradient_accumulation_steps x num_gpus
.
Kami menggunakan kumpulan hyperparameter serupa seperti ShareGPT4V-7B dalam penyempurnaan. Hyperparameter yang digunakan dalam pra-pelatihan dan penyesuaian disediakan di bawah.
Pra-pelatihan
Hiperparameter | Ukuran Batch Global | Kecepatan pembelajaran | zaman | Panjang maksimal | Penurunan berat badan |
---|---|---|---|---|---|
BagikanGPT4V-7B | 256 | 2e-5 | 1 | 2048 | 0 |
Penyempurnaan
Hiperparameter | Ukuran Batch Global | Kecepatan pembelajaran | zaman | Panjang maksimal | Penurunan berat badan |
---|---|---|---|---|---|
BagikanGPT4V-7B | 128 | 2e-5 | 1 | 2048 | 0 |
Pertama, Anda harus mengunduh proyektor MLP yang telah dilatih sebelumnya oleh LLaVA-1.5 dengan LAION-CC-SBU-558K. Karena proses penyelarasan modalitas yang kasar bermanfaat sebelum menggunakan teks detail berkualitas tinggi untuk penyelarasan modalitas.
Anda dapat menjalankan projects/ShareGPT4V/scripts/sharegpt4v/slurm_pretrain_7b.sh
untuk melatih model terlebih dahulu. Ingatlah untuk menentukan jalur proyektor dalam skrip. Pada tahap ini, kami menyempurnakan paruh kedua blok vision encoder, proyektor, dan LLM.
Dalam pengaturan kami, kami menggunakan 16 GPU A100 (80G) dan seluruh proses pra-pelatihan berlangsung sekitar 12 jam. Anda dapat menyesuaikan jumlah langkah akumulasi gradien untuk mengurangi jumlah GPU.
Pada tahap ini, kami menyempurnakan proyektor dan LLM dengan sharegpt4v_mix665k_cap23k_coco-ap9k_lcs3k_sam9k_div2k.json.
Anda dapat menjalankan projects/ShareGPT4V/scripts/sharegpt4v/slurm_finetune_7b.sh
untuk menyempurnakan model.
Dalam pengaturan kami, kami menggunakan 16 GPU A100 (80G) dan seluruh proses pra-pelatihan berlangsung sekitar 7 jam. Anda dapat menyesuaikan jumlah langkah akumulasi gradien untuk mengurangi jumlah GPU.
Untuk memastikan reproduktifitas, kami mengevaluasi model dengan decoding serakah. Kami tidak mengevaluasi penggunaan beam search untuk membuat proses inferensi konsisten dengan demo obrolan keluaran waktu nyata.
Lihat Evaluasi.md.
LLaVA: basis kode yang kami bangun. Terima kasih atas kerja luar biasa mereka.
Vicuna: model bahasa besar bersumber terbuka yang menakjubkan!
Jika menurut Anda pekerjaan kami bermanfaat untuk penelitian Anda, mohon pertimbangkan untuk memberikan bintang ⭐ dan kutipan ?
@article{chen2023sharegpt4v, title={ShareGPT4V: Meningkatkan Model Multi-Modal Besar dengan Teks yang Lebih Baik}, author={Chen, Lin dan Li, Jisong dan Dong, Xiaoyi dan Zhang, Pan dan He, Conghui dan Wang, Jiaqi dan Zhao, Feng dan Lin, Dahua}, jurnal={arXiv preprint arXiv:2311.12793}, year={2023}}@article{chen2024sharegpt4video, title={ShareGPT4Video: Meningkatkan Pemahaman dan Pembuatan Video dengan Teks yang Lebih Baik}, author={Chen, Lin dan Wei, Xilin dan Li, Jinsong dan Dong, Xiaoyi dan Zhang, Pan dan Zang , Yuhang dan Chen, Zehui dan Duan, Haodong dan Lin, Bin dan Tang, Zhenyu dan lainnya}, journal={arXiv preprint arXiv:2406.04325}, year={2024}}@article{chen2024we, title={Apakah Kita berada di Jalan yang Benar dalam Mengevaluasi Model Bahasa Visi Besar?}, author={Chen, Lin dan Li, Jinsong dan Dong, Xiaoyi dan Zhang, Pan dan Zang, Yuhang dan Chen, Zehui dan Duan, Haodong dan Wang, Jiaqi dan Qiao, Yu dan Lin, Dahua dan lainnya}, jurnal={arXiv pracetak arXiv:2403.20330}, tahun={2024}}
Pemberitahuan Penggunaan dan Lisensi : Data dan pos pemeriksaan dimaksudkan dan dilisensikan hanya untuk penggunaan penelitian. Mereka juga dibatasi untuk penggunaan yang mengikuti perjanjian lisensi LLaMA, Vicuna dan GPT-4. Kumpulan datanya adalah CC BY NC 4.0 (hanya mengizinkan penggunaan non-komersial) dan model yang dilatih menggunakan kumpulan data tersebut tidak boleh digunakan di luar tujuan penelitian.