Rumah  >  Artikel  >  Peranti teknologi  >  Bina semula LLaVA secara modular Untuk menggantikan komponen, cuma tambah 1-2 fail Kilang TinyLLaVA sumber terbuka ada di sini.

Bina semula LLaVA secara modular Untuk menggantikan komponen, cuma tambah 1-2 fail Kilang TinyLLaVA sumber terbuka ada di sini.

王林
王林asal
2024-06-08 21:21:29380semak imbas

Projek TinyLLaVA+ dicipta bersama oleh pasukan Profesor Wu Ji dari Makmal Pemprosesan Isyarat Multimedia dan Maklumat Pintar (MSIIP) Jabatan Elektronik Universiti Tsinghua dan pasukan Profesor Huang Lei dari Sekolah Kepintaran Buatan dari Universiti Beihang. Makmal MSIIP Universiti Tsinghua telah lama komited dalam bidang penyelidikan seperti penjagaan perubatan pintar, pemprosesan bahasa semula jadi dan penemuan pengetahuan, dan pelbagai mod. Pasukan Beijing Airlines telah lama komited dalam bidang penyelidikan seperti pembelajaran mendalam, pelbagai mod dan penglihatan komputer. Matlamat projek TinyLLaVA+ adalah untuk membangunkan pembantu pintar merentas bahasa kecil dengan keupayaan pelbagai mod seperti pemahaman bahasa, soal jawab dan dialog. Pasukan projek akan memberikan permainan penuh untuk kelebihan masing-masing, bersama-sama mengatasi masalah teknikal, dan merealisasikan reka bentuk dan pembangunan pembantu pintar. Ini akan membawa penemuan baharu dalam bidang penyelidikan seperti penjagaan perubatan pintar, pemprosesan bahasa semula jadi dan penemuan pengetahuan, dan pelbagai mod. Pada masa yang sama, makmal MSIIP Universiti Tsinghua telah lama komited untuk perisikan

Baru-baru ini, Tsinghua University dan Universiti Beihang bersama-sama melancarkan TinyLLaVA Factory, sebuah perpustakaan kod yang menyokong penyesuaian, latihan dan penilaian model besar pelbagai mod . Kod dan model semuanya adalah sumber terbuka . Pangkalan kod ini menggunakan model kilang kejuruteraan perisian sebagai konsep reka bentuk, membina semula asas kod LLaVA secara modular, memfokuskan pada kebolehbacaan kod, kebolehskalaan fungsi dan kebolehulangan hasil percubaan. Ia memudahkan penyelidik dan pengamal meneroka ruang latihan dan reka bentuk model besar berbilang modal.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

  • Projek Github: https://github.com/TinyLLaVA/TinyLLaVA_Factory
  • Alamat kertas: https://518
  • Berpeluk Alamat model muka: https://huggingface.co/tinyllava/TinyLLaVA-Phi-2-SigLIP-3.1B atau https://huggingface.co/bczhou/TinyLLaVA-3.1B-SigLIP
  • Jantung hati Alamat model SOTA mesin: https://sota.jiqizhixin.com/project/tinyllava

LLaVA ialah projek sumber terbuka berkualiti tinggi bagi komuniti berbilang modal dan digemari oleh penyelidik dan pembangun. Pemula yang baru mengenali model besar berbilang modal juga sudah biasa menggunakan projek LLaVA sebagai titik permulaan untuk mempelajari dan melatih model besar berbilang modal. Walau bagaimanapun, kod projek LLaVA agak kabur dan sukar difahami Apabila ralat ditukar secara tidak sengaja, ia boleh menjejaskan kesan latihan Bagi orang baru, mereka sering tidak berani mengubah suai butiran, yang menghalang pemahaman dan meneroka butiran penting. model besar berbilang modal menghadapi kesukaran tertentu.

Baru-baru ini, Universiti Tsinghua dan Universiti Beihang bersama-sama melancarkan Kilang TinyLLaVA, yang memodulasi dan membina semula kod LLaVA asal, memfokuskan pada pelaksanaan kod mudah, kebolehskalaan fungsi baharu dan kebolehulangan hasil latihan, membolehkan anda menyesuaikan dan melatih anda sendiri model besar berbilang modal dengan jumlah kod terkecil, sambil mengurangkan kadar ralat kod! Di bawah konfigurasi model yang sama, data latihan dan strategi latihan, menggunakan Kilang TinyLLaVA boleh melatih model dengan prestasi yang lebih baik sedikit daripada menggunakan kod LLaVA. Bagi memudahkan pengguna memahami kod dan menggunakan model, projek Kilang TinyLLaVA juga dilengkapi dengan dokumentasi kod dan tapak web Demo. Keseluruhan seni binanya ditunjukkan dalam rajah di bawah: [Rajah Senibina].

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

Dalam bahagian prapemprosesan data, Kilang TinyLLaVA meninggalkan pemprosesan imej yang membakar otak dan proses pemprosesan segera dalam kod LLaVA, dan menyediakan proses prapemprosesan imej dan teks yang standard, berskala, yang jelas dan ringkas. Antaranya, prapemprosesan imej boleh disesuaikan dengan Pemproses, atau anda boleh menggunakan Pemproses beberapa pengekod visual rasmi, seperti Pemproses Imej yang disertakan dengan CLIP ViT dan SigCLIP ViT. Untuk prapemprosesan teks, Templat kelas asas ditakrifkan, yang menyediakan fungsi asas dan biasa, seperti fungsi untuk menambah Mesej Sistem (Prompt), Tokenize dan menjana label Ground Truth Pengguna boleh dengan mudah melanjutkan ke LLM yang berbeza dengan mewarisi kelas asas. Templat Sembang.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

Dalam bahagian model, Kilang TinyLLaVA secara semula jadi memodulasi model berbilang modal yang besar kepada tiga komponen - komponen model bahasa besar, komponen pengekod visual dan komponen penyambung perantaraan. Setiap komponen dikawal oleh objek kilang, yang bertanggungjawab untuk pendaftaran dan penggantian model baharu Pengguna boleh menggantikan mana-mana satu komponen dengan lebih mudah tanpa melibatkan bahagian lain.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

Kilang TinyLLaVA menyediakan model arus perdana semasa untuk setiap komponen, seperti ditunjukkan dalam jadual di bawah.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

Jurulatih masih dimodelkan selepas LLaVA, menggunakan Jurulatih yang disertakan dengan Muka Memeluk, menyepadukan Pengumpulan Kecerunan, pengelogan Wandb dan ciri lain, dan juga menyokong latihan selari DeepSpeed ​​​​ZeRO2/ZeRO3. Untuk bahagian penilaian, Kilang TinyLLaVA menyediakan penilaian 8 Penanda Aras SQA/GQA/TextVQA/VQAv2/POPE/MME/MM-Vet/MMMU.

Seterusnya, mari kita serlahkan perkara utama! Projek Github Kilang TinyLLaVA juga mengajar anda cara menyesuaikan model besar berbilang modal anda sendiri. Komponen LLM, komponen pengekod penglihatan, komponen penyambung boleh diganti dengan mudah dengan hanya menambah 1-2 fail.

Ambil model LLM gantian sebagai contoh. Menurut maklum balas daripada pelajar yang telah menggunakan asas kod LLaVA, kod LLaVA terdedah kepada ralat apabila cuba menggantikan model bahasa bukan siri Llama. Kilang TinyLLaVA boleh menggantikan model bahasa dengan mudah dengan menambahkan 2 fail py, satu ialah fail Templat Sembang dan satu lagi ialah fail model. Apabila menggantikan pengekod visual, anda hanya perlu menambah 1 fail py dan mewarisi kelas asas pengekod visual.

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

Kilang TinyLLaVA juga menyokong penyesuaian strategi latihan Pengguna hanya perlu mengubah suai fail konfigurasi untuk menyesuaikan 3 komponen modul (LLM / pengekod visual / Penyambung) untuk mencapai sebarang kombinasi pembekuan/pemangkasan penuh/pemangkasan separa/. pemangkasan lora. Ia adalah tutorial yang mudah digunakan untuk pemula!

模块化重构LLaVA,替换组件只需添加1-2个文件,开源TinyLLaVA Factory来了

Seawal Februari tahun ini, projek TinyLLaVA telah menangkap potensi LLM di bawah 3B dalam model besar berbilang modal, dan menggunakan LLM berskala kecil arus perdana di pasaran untuk melatih satu siri pelbagai- model besar modal, jumlah parameter adalah antara 0.89B-3.1B. Keputusan eksperimen menunjukkan bahawa melalui pemilihan data berkualiti tinggi dan strategi latihan yang lebih terperinci, LLM berskala kecil juga boleh mencapai prestasi tugas yang serupa atau bahkan unggul kepada model besar. (Lihat laporan teknikal https://arxiv.org/abs/2402.14289 untuk butiran)

Atas ialah kandungan terperinci Bina semula LLaVA secara modular Untuk menggantikan komponen, cuma tambah 1-2 fail Kilang TinyLLaVA sumber terbuka ada di sini.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn