🚀 Llama-3-EZO-VLM-1
Llama-3-EZO-VLM-1 基于 Llama-3-8B-Instruct 模型,借助多种调优技术提升了通用性能。它以 SakanaAI/Llama-3-EvoVLM-JP-v2 为基础,通过额外的预训练和指令调优,增强了日语使用能力,在日语任务中表现出色,同时也能满足全球多样化的需求。
🚀 快速开始
安装依赖
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 = "HODACHI/Llama-3-EZO-VLM-1"
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": 256,
"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)
✨ 主要特性
📚 详细文档
模型详情
模型数据
训练数据集
从日语维基百科和 FineWeb 中提取高质量数据来创建指令数据。这种创新的训练方法允许在各种语言和领域中提升性能,尽管专注于日语数据,但模型仍适用于全球使用。
- 日语维基百科:https://huggingface.co/datasets/legacy-datasets/wikipedia
- FineWeb:https://huggingface.co/datasets/HuggingFaceFW/fineweb
数据预处理
使用普通指令调优方法让模型学习示例响应。这种方法增强了模型在各种语言和上下文中理解和生成高质量响应的能力。
实现信息
[预指令训练]
https://huggingface.co/instruction-pretrain/instruction-synthesizer
基准测试结果
ElyzaTasks100
相比基础模型,性能大幅提升了 0.7 个百分点。
图像说明能力
在所有四个示例中,都实现了从基础模型到识别能力和说明能力的提升。
以下是 GPT4、SakanaAI 公司的基础模型、EZO 模型在同一图像和同一提示下的输出,由 GPT - 4o 评估的结果:

DEMO
https://huggingface.co/spaces/HODACHI/Llama-3-EZO-VLM-1
免责声明
此模型仅用于研究和开发目的,应被视为实验性原型。它并非用于商业用途或部署在关键任务环境中。使用此模型由用户自行承担责任,其性能和结果不提供保证。Axcxept 有限公司对任何直接、间接、特殊、偶然、后果性的损害或因使用此模型而产生的任何损失,无论结果如何,均不承担任何责任。用户应充分理解使用此模型所涉及的风险,并自行决定是否使用。
注意事项
本模型使用了 SakanaAI 公司的模型,但本公司及本模型、本空间与 SakanaAI 公司没有任何直接关系。请表示尊重,不要向 SakanaAI 公司咨询相关问题。
硬件要求
A100 × 8(运行 4 小时)
致谢
感谢开发此基础模型的 Meta 公司、进行定制的 SakanaAI 公司以及各公司相关团队的开发者们,同时也感谢提供自动评估方法的众多人士,向他们表示感激和敬意。
关于我们
