š Llama-3-EvoVLM-JP-v2
An experimental general - purpose Japanese VLM that takes interleaved text and image as inputs.
š¤ Models | š Paper | š Blog | š¦ Twitter
Llama-3-EvoVLM-JP-v2 is an experimental general - purpose Japanese Visual Language Model (VLM) that accepts interleaved text and image as inputs. This model was created using the Evolutionary Model Merge method. For more details, please refer to our report and blog. This model was produced by merging the following models, and we are grateful to the developers of the source models:
š Quick Start
Use the following code to start using the model.
Click to expand
First, you need to install packages for inference using the Mantis. See here.
pip install git+https://github.com/TIGER-AI-Lab/Mantis.git
import requests
from PIL import Image
import torch
from mantis.models.conversation import Conversation, SeparatorStyle
from mantis.models.mllava import chat_mllava, LlavaForConditionalGeneration, MLlavaProcessor
from mantis.models.mllava.utils import conv_templates
from transformers import AutoTokenizer
conv_llama_3_elyza = Conversation(
system="<|start_header_id|>system<|end_header_id|>\n\nććŖććÆčŖ å®ć§åŖē§ćŖę„ę¬äŗŗć®ć¢ć·ć¹ćæć³ćć§ććē¹ć«ę示ćē”ćå “åćÆćåøøć«ę„ę¬čŖć§åēćć¦ćć ććć",
roles=("user", "assistant"),
messages=(),
offset=0,
sep_style=SeparatorStyle.LLAMA_3,
sep="<|eot_id|>",
)
conv_templates["llama_3"] = conv_llama_3_elyza
device = "cuda" if torch.cuda.is_available() else "cpu"
model_id = "SakanaAI/Llama-3-EvoVLM-JP-v2"
processor = MLlavaProcessor.from_pretrained("TIGER-Lab/Mantis-8B-siglip-llama3")
processor.tokenizer.pad_token = processor.tokenizer.eos_token
model = LlavaForConditionalGeneration.from_pretrained(model_id, torch_dtype=torch.float16, device_map=device).eval()
generation_kwargs = {
"max_new_tokens": 128,
"num_beams": 1,
"do_sample": False,
"no_repeat_ngram_size": 3,
}
text = "<image>ć®äæ”å·ćÆä½č²ć§ććļ¼"
url_list = [
"https://images.unsplash.com/photo-1694831404826-3400c48c188d?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
"https://images.unsplash.com/photo-1693240876439-473af88b4ed7?q=80&w=1974&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"
]
images = [
Image.open(requests.get(url_list[0], stream=True).raw).convert("RGB")
]
response, history = chat_mllava(text, images, model, processor, **generation_kwargs)
print(response)
text = "ć§ćÆć<image>ć®äæ”å·ćÆļ¼"
images += [
Image.open(requests.get(url_list[1], stream=True).raw).convert("RGB")
]
response, history = chat_mllava(text, images, model, processor, history=history, **generation_kwargs)
print(response)
š Documentation
Model Details
Uses
This model is provided for research and development purposes only and should be considered as an experimental prototype. It is not intended for commercial use or deployment in mission - critical environments. Use of this model is at the user's own risk, and its performance and outcomes are not guaranteed. Sakana AI shall not be liable for any direct, indirect, special, incidental, or consequential damages, or any loss arising from the use of this model, regardless of the results obtained. Users must fully understand the risks associated with the use of this model and use it at their own discretion.
š Acknowledgement
We would like to thank the developers of the source models for their contributions and for making their work available.
š License
The model is under the META LLAMA 3 COMMUNITY LICENSE.
š Citation
@misc{Llama-3-EvoVLM-JP-v2,
url = {[https://huggingface.co/SakanaAI/Llama-3-EvoVLM-JP-v2](https://huggingface.co/SakanaAI/Llama-3-EvoVLM-JP-v2)},
title = {Llama-3-EvoVLM-JP-v2},
author = {Yuichi, Inoue and Takuya, Akiba and Shing, Makoto}
}
@misc{akiba2024evomodelmerge,
title = {Evolutionary Optimization of Model Merging Recipes},
author. = {Takuya Akiba and Makoto Shing and Yujin Tang and Qi Sun and David Ha},
year = {2024},
eprint = {2403.13187},
archivePrefix = {arXiv},
primaryClass = {cs.NE}
}