Ovis (Open VISion) เป็นสถาปัตยกรรม Multimodal Large Language Model (MLLM) ที่ได้รับการออกแบบมาเพื่อจัดแนวโครงสร้างการฝังภาพและข้อความ สำหรับข้อมูลเบื้องต้นที่ครอบคลุม โปรดดูเอกสารของ Ovis
Ovis ได้รับการทดสอบกับ Python 3.10, Torch 2.4.0, Transformers 4.46.2 และ DeepSpeed 0.15.4 หากต้องการดูรายการการขึ้นต่อกันของแพ็กเกจที่ครอบคลุม โปรดดูไฟล์ requirements.txt
ก่อนที่จะปรับแต่งหรืออนุมาน โปรดติดตั้ง Ovis ดังต่อไปนี้
git clone [email protected]:AIDC-AI/Ovis.git
conda create -n ovis python=3.10 -y
conda activate ovis
cd Ovis
pip install -r requirements.txt
pip install -e .
Ovis สามารถสร้างอินสแตนซ์ด้วย LLM ยอดนิยมได้ เราให้บริการ Ovis MLLM ดังต่อไปนี้:
Ovis MLLM | ไวที | นิติศาสตร์มหาบัณฑิต | น้ำหนักโมเดล | สาธิต |
---|---|---|---|---|
โอวิส1.6-เจมม่า2-27B | ซิกลิป-400M | เจมม่า2-27B-อิท | กอดหน้า | - |
โอวิส1.6-เจมม่า2-9B | ซิกลิป-400M | เจมม่า2-9B-อิท | กอดหน้า | ช่องว่าง |
โอวิส1.6-ลามะ3.2-3B | ซิกลิป-400M | Llama-3.2-3B-คำสั่ง | กอดหน้า | ช่องว่าง |
ด้วยพารามิเตอร์ 29B Ovis1.6-Gamma2-27B บรรลุประสิทธิภาพที่โดดเด่นในการวัดประสิทธิภาพ OpenCompass ซึ่งติดอันดับหนึ่งใน MLLM แบบโอเพ่นซอร์สระดับสูงสุด
ด้วยพารามิเตอร์เพียง 10B Ovis1.6-Gemma2-9B เป็นผู้นำเกณฑ์มาตรฐาน OpenCompass ในกลุ่ม MLLM แบบโอเพ่นซอร์สภายในพารามิเตอร์ 30B
Ovis1.6-Llama3.2-3B เป็นผู้นำเกณฑ์มาตรฐาน OpenCompass ในกลุ่ม MLLM แบบโอเพ่นซอร์สภายใต้พารามิเตอร์ 4B แม้จะเหนือกว่า Llama-3.2-11B-Vision-Instruct ก็ตาม
Finetuning Ovis1.6-Gemma2-9B รองรับใน ms-swift
เรามี wrapper การอนุมานใน ovis/serve/runner.py
ซึ่งสามารถใช้เป็น:
from PIL import Image
from ovis . serve . runner import RunnerArguments , OvisRunner
image = Image . open ( 'IMAGE_PATH' )
text = 'PROMPT'
runner_args = RunnerArguments ( model_path = 'MODEL_PATH' )
runner = OvisRunner ( runner_args )
generation = runner . run ([ image , text ])
จาก Gradio นั้น ยังสามารถเข้าถึง Ovis ผ่านทางอินเทอร์เฟซผู้ใช้บนเว็บ:
python ovis/serve/server.py --model_path MODEL_PATH --port PORT
เราหาปริมาณ Ovis1.6 โดยใช้ AutoGPTQ สำหรับข้อมูลโดยละเอียดเกี่ยวกับการรันและการสร้างเวอร์ชันเชิงปริมาณของคุณเอง โปรดดูการ์ดโมเดล Huggingface ที่เกี่ยวข้อง: Ovis1.6-Gemma2-9B-GPTQ-Int4 และ Ovis1.6-Llama3.2-3B-GPTQ-Int4 Quantized Ovis1.6 รักษาประสิทธิภาพเทียบเท่ากับ non-quantized ขณะเดียวกันก็ใช้หน่วยความจำ GPU น้อยลง:
ประสิทธิภาพมาตรฐาน:
การใช้หน่วยความจำ GPU (max_partition=9):
หากคุณพบว่า Ovis มีประโยชน์ โปรดอ้างอิงบทความนี้
@article{lu2024ovis,
title={Ovis: Structural Embedding Alignment for Multimodal Large Language Model},
author={Shiyin Lu and Yang Li and Qing-Guo Chen and Zhao Xu and Weihua Luo and Kaifu Zhang and Han-Jia Ye},
year={2024},
journal={arXiv:2405.20797}
}
งานนี้เป็นความพยายามร่วมกันโดยทีมงาน MarcoVL นอกจากนี้เรายังต้องการให้ลิงก์ไปยังเอกสาร MLLM ต่อไปนี้จากทีมของเรา:
โครงการนี้ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0 (SPDX-License-Identifier: Apache-2.0)
เราใช้อัลกอริธึมการตรวจสอบการปฏิบัติตามข้อกำหนดในระหว่างกระบวนการฝึกอบรม เพื่อให้มั่นใจว่าโมเดลที่ได้รับการฝึกอบรมมีความสอดคล้องอย่างเต็มความสามารถ เนื่องจากความซับซ้อนของข้อมูลและสถานการณ์การใช้โมเดลภาษาที่หลากหลาย เราไม่สามารถรับประกันได้ว่าโมเดลจะปราศจากปัญหาลิขสิทธิ์หรือเนื้อหาที่ไม่เหมาะสมโดยสมบูรณ์ หากคุณเชื่อว่ามีสิ่งใดละเมิดสิทธิ์ของคุณหรือสร้างเนื้อหาที่ไม่เหมาะสม โปรดติดต่อเรา และเราจะแก้ไขปัญหาดังกล่าวโดยทันที