Home

Awesome

Multi-Modality Arena 🚀

<p align="center"><img src="./CVLAB/style/img/Opengvlab_LOGO.svg" width="400"></p> <!-- ## Description -->

Multi-Modality Arena is an evaluation platform for large multi-modality models. Following Fastchat, two anonymous models side-by-side are compared on a visual question-answering task. We release the Demo and welcome the participation of everyone in this evaluation initiative.

⚔️ LVLM Arena arXiv arXiv GitHub Stars🔥🔥🔥

<p align="center"><img src="./CVLAB/style/img/demo1.jpg" width="800"></p>

Holistic Evaluation of Large Multimodal Models

OmniMedVQA: A New Large-Scale Comprehensive Evaluation Benchmark for Medical LVLM

Tiny LVLM-eHub: Early Multimodal Experiments with Bard

<p align="center"><img src="./assets/tiny_lvlm_ehub_6_12.png" width="500"></p>

LVLM-eHub: An Evaluation Benchmark for Large Vision-Language Models 🚀

LVLM-eHub is a comprehensive evaluation benchmark for publicly available large multimodal models (LVLM). It extensively evaluates $8$ LVLMs in terms of $6$ categories of multimodal capabilities with $47$ datasets and $1$ arena online platform.

<p align="center"><img src="./CVLAB/style/img/lvlm-ehub.png" width="800"></p>

LVLM Leaderboard

The LVLM Leaderboard systematically categorizes the datasets featured in the Tiny LVLM Evaluation according to their specific targeted abilities including visual perception, visual reasoning, visual commonsense, visual knowledge acquisition, and object hallucination. This leaderboard includes recently released models to bolster its comprehensiveness.

You can download the benchmark from here, and more details can be found in here.

RankModelVersionScore
🏅️InternVLInternVL-Chat327.61
🥈InternLM-XComposer-VLInternLM-XComposer-VL-7B322.51
🥉BardBard319.59
4Qwen-VL-ChatQwen-VL-Chat316.81
5LLaVA-1.5Vicuna-7B307.17
6InstructBLIPVicuna-7B300.64
7InternLM-XComposerInternLM-XComposer-7B288.89
8BLIP2FlanT5xl284.72
9BLIVAVicuna-7B284.17
10LynxVicuna-7B279.24
11CheetahVicuna-7B258.91
12LLaMA-Adapter-v2LLaMA-7B229.16
13VPGTransVicuna-7B218.91
14Otter-ImageOtter-9B-LA-InContext216.43
15VisualGLM-6BVisualGLM-6B211.98
16mPLUG-OwlLLaMA-7B209.40
17LLaVAVicuna-7B200.93
18MiniGPT-4Vicuna-7B192.62
19OtterOtter-9B180.87
20OFv2_4BIRedPajama-INCITE-Instruct-3B-v1176.37
21PandaGPTVicuna-7B174.25
22LaVINLLaMA-7B97.51
23MICFlanT5xl94.09

Update

Supported Multi-modality Models

The following models are involving in randomized battles currently,

More details about these models can be found at ./model_detail/.model.jpg. We will try to schedule computing resources to host more multi-modality models in the arena.

Contact US at Wechat

If you are interested in any pieces of our VLarena platform, feel free to join the Wechat group.

<p align="left"><img src="./CVLAB/style/img/Wechat.jpeg" width="200"></p>

Installation

  1. Create conda environment
conda create -n arena python=3.10
conda activate arena
  1. Install Packages required to run the controller and server
pip install numpy gradio uvicorn fastapi
  1. Then for each model, they may require conflicting versions of python packages, we recommend creating a specific environment for each model based on their GitHub repo.

Launch a Demo

To serve using the web UI, you need three main components: web servers that interface with users, model workers that host two or more models, and a controller to coordinate the webserver and model workers.

Here are the commands to follow in your terminal:

Launch the controller

python controller.py

This controller manages the distributed workers.

Launch the model worker(s)

python model_worker.py --model-name SELECTED_MODEL --device TARGET_DEVICE

Wait until the process finishes loading the model and you see "Uvicorn running on ...". The model worker will register itself to the controller. For each model worker, you need to specify the model and the device you want to use.

Launch the Gradio web server

python server_demo.py

This is the user interface that users will interact with.

By following these steps, you will be able to serve your models using the web UI. You can open your browser and chat with a model now. If the models do not show up, try to reboot the gradio web server.

Contribution Guidelines

We deeply value all contributions aimed at enhancing the quality of our evaluations. This section comprises two key segments: Contributions to LVLM Evaluation and Contributions to LVLM Arena.

Contributing to LVLM Evaluation

You can access the most recent version of our evaluation code in the LVLM_evaluation folder. This directory encompasses a comprehensive set of evaluation code, accompanied by the necessary datasets. If you're enthusiastic about partaking in the evaluation process, please don't hesitate to share your evaluation outcomes or the model inference API with us via email at xupeng@pjlab.org.cn.

Contributions to LVLM Arena

We extend our gratitude for your interest in integrating your model into our LVLM Arena! Should you wish to incorporate your model into our Arena, kindly prepare a model tester structured as follows:

class ModelTester:
    def __init__(self, device=None) -> None:
        # TODO: initialization of model and required pre processors
    
    def move_to_device(self, device) -> None:
        # TODO: this function is used to transfer the model between CPU and GPU (optional)
    
    def generate(self, image, question) -> str:
       # TODO: model inference code 

Furthermore, we are open to online model inference links, such as those provided by platforms like Gradio. Your contributions are wholeheartedly appreciated.

Acknowledgement

We express our gratitude to the esteemed team at ChatBot Arena and their paper Judging LLM-as-a-judge for their influential work, which served as inspiration for our LVLM evaluation endeavors. We would also like to extend our sincere appreciation to the providers of LVLMs, whose valuable contributions have significantly contributed to the progress and advancement of large vision-language models. Finally, we thank the providers of datasets used in our LVLM-eHub.

Term of Use

The project is an experimental research tool for non-commercial purposes only. It has limited safeguards and may generate inappropriate content. It cannot be used for anything illegal, harmful, violent, racist, or sexual.