🚀 魚躍視覺語言模型 - 日語版 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}
}