What is Yi-VL?

Architecture

Yi-VL adopts the LLaVA architecture, which is composed of three primary components:

  • Vision Transformer (ViT): it's initialized with CLIP ViT-H/14 model and used for image encoding.

  • Projection Module: it's designed to align image features with text feature space, consisting of a two-layer Multilayer Perceptron (MLP) with layer normalizations.

  • Large Language Model (LLM): it's initialized with Yi-34B-Chat or Yi-6B-Chat, demonstrating exceptional proficiency in understanding and generating both English and Chinese.

image/png

How to use Yi-VL?

Quick start

This has been implemented into the SGLang codebase, where you can simply call this model by creating a function like so:

import sglang as sgl

@sgl.function
def image_qa(s, image_path, question):
    s += sgl.user(sgl.image(image_path) + question)
    s += sgl.assistant(sgl.gen("answer"))


runtime = sgl.Runtime(model_path="BabyChou/Yi-VL-34B",
                      tokenizer_path="BabyChou/Yi-VL-34B")
sgl.set_default_backend(runtime)


# Single
state = image_qa.run(
    image_path="images/cat.jpeg",
    question="What is this?",
    max_new_tokens=64)
print(state["answer"], "\n")

License

Please refer to the acknowledgments and attributions as well as individual components, for the license of source code.

The Yi series models are fully open for academic research and free for commercial use, permissions of which are automatically granted upon application.

All usage must adhere to the Yi Series Models Community License Agreement 2.1.

For free commercial use, you only need to send an email to get official commercial permission.

Downloads last month
20
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.