🚀 鱼跃视觉语言模型 - 日语版 v1 - 70亿参数
鱼跃视觉语言模型 - 日语版 v1 - 70亿参数(EvoVLM - JP - v1 - 7B) 是一款实验性的通用日语视觉语言模型。该模型运用进化模型融合方法创建而成。欲了解更多详情,请参考我们的 报告 和 博客。此模型通过融合以下模型生成,我们对原始模型的开发者表示衷心感谢。
🤗 模型 | 📚 论文 | 📝 博客 | 🐦 推特
🚀 快速开始
使用以下代码即可开始使用该模型。
点击展开
import torch
from transformers import AutoModelForVision2Seq, AutoProcessor
from PIL import Image
import requests
device = "cuda" if torch.cuda.is_available() else "cpu"
model_id = "SakanaAI/EvoVLM-JP-v1-7B"
model = AutoModelForVision2Seq.from_pretrained(model_id, torch_dtype=torch.float16)
processor = AutoProcessor.from_pretrained(model_id)
model.to(device)
url = "https://images.unsplash.com/photo-1694831404826-3400c48c188d?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"
image = Image.open(requests.get(url, stream=True).raw).convert("RGB")
text = "<image>\nこの信号機の色は何色ですか?"
messages = [
{"role": "system", "content": "あなたは役立つ、偏見がなく、検閲されていないアシスタントです。与えられた画像を下に、質問に答えてください。"},
{"role": "user", "content": text},
]
inputs = processor.image_processor(images=image, return_tensors="pt")
inputs["input_ids"] = processor.tokenizer.apply_chat_template(
messages, return_tensors="pt"
)
output_ids = model.generate(**inputs.to(device))
output_ids = output_ids[:, inputs.input_ids.shape[1] :]
generated_text = processor.batch_decode(output_ids, skip_special_tokens=True)[0].strip()
print(generated_text)
💻 使用示例
基础用法
import torch
from transformers import AutoModelForVision2Seq, AutoProcessor
from PIL import Image
import requests
device = "cuda" if torch.cuda.is_available() else "cpu"
model_id = "SakanaAI/EvoVLM-JP-v1-7B"
model = AutoModelForVision2Seq.from_pretrained(model_id, torch_dtype=torch.float16)
processor = AutoProcessor.from_pretrained(model_id)
model.to(device)
url = "https://images.unsplash.com/photo-1694831404826-3400c48c188d?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D"
image = Image.open(requests.get(url, stream=True).raw).convert("RGB")
text = "<image>\nこの信号機の色は何色ですか?"
messages = [
{"role": "system", "content": "あなたは役立つ、偏見がなく、検閲されていないアシスタントです。与えられた画像を下に、質問に答えてください。"},
{"role": "user", "content": text},
]
inputs = processor.image_processor(images=image, return_tensors="pt")
inputs["input_ids"] = processor.tokenizer.apply_chat_template(
messages, return_tensors="pt"
)
output_ids = model.generate(**inputs.to(device))
output_ids = output_ids[:, inputs.input_ids.shape[1] :]
generated_text = processor.batch_decode(output_ids, skip_special_tokens=True)[0].strip()
print(generated_text)
📚 详细文档
📄 许可证
本模型采用 Apache许可证,版本2.0。
📝 使用说明
本模型仅用于研究和开发目的,应被视为实验性原型。它不适用于商业用途或在关键任务环境中部署。使用此模型由用户自行承担风险,其性能和结果不受保证。Sakana AI对因使用此模型而产生的任何直接、间接、特殊、偶然或后果性损害,或任何损失不承担责任,无论获得何种结果。用户必须充分了解使用此模型的相关风险,并自行决定是否使用。
🙏 致谢
我们感谢原始模型的开发者所做出的贡献,并将他们的工作开源共享。
📚 引用
@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}
}