Image-Text-to-Text
Safetensors
Japanese
llava
conversational

llava-1.5-sarashina2.2-1.7b-instruct Model Card (JA)

image/png

以下は llava-1.5-sarashina2.2-1.7b-instruct のモデルカードです。
オリジナルの LLaVA Model Card を参考に作成しています。

英語版のモデルカードはこちら (English version of the model card is here)

モデル詳細

モデルタイプ:
llava-1.5-sarashina2.2-1.7b-instruct は、sbintuitions/sarashina2.2-1b-instruct-v0.1 を視覚言語指示追従データを用いてファインチューニングして作成したオープンソースのチャットボットで、Transformer アーキテクチャに基づく自己回帰型視覚言語モデルです。

モデル作成日:
2025 年 5 月

学習設定:
以下 2 つのデータセットを用い、Projector のみ を学習させました。

注: 元の LLM の性能を維持するため、Stage‑2(Projector と LLM の両方を学習可能にする段階)をスキップ し、Stage‑2 で使用予定だったデータを Stage‑1 に組み込みました。

モデルの使い方

transformers >= 4.35.3 をインストールしてください。
本モデルはマルチプロンプト生成をサポートします。必ず正しいプロンプトテンプレート(USER: xxxASSISTANT:)を守り、画像を問い合わせる位置に <image> トークンを挿入してください。

以下は GPU 上で bfloat16 精度で生成を行うサンプルスクリプトです。

import requests
from PIL import Image

import torch
from transformers import AutoProcessor, LlavaForConditionalGeneration

model_id = "turing-motors/llava-1.5-sarashina2.2-1.7b-instruct"
model = LlavaForConditionalGeneration.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    low_cpu_mem_usage=True,
).to("cuda")

processor = AutoProcessor.from_pretrained(model_id, use_fast=True)

# チャット履歴を定義し、apply_chat_template でフォーマット済みプロンプトを作成
# "content" 内の各値は ("text", "image") 型の dict のリスト
conversation = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "猫は何匹いますか?"},
            {"type": "image"},
        ],
    },
]
prompt = processor.apply_chat_template(conversation, add_generation_prompt=True)

image_file = "http://images.cocodataset.org/val2017/000000039769.jpg"
raw_image = Image.open(requests.get(image_file, stream=True).raw)
inputs = processor(images=raw_image, text=prompt, return_tensors='pt').to("cuda")

generated_ids = model.generate(**inputs, max_new_tokens=128, do_sample=False)
generated_texts = processor.batch_decode(
    generated_ids,
    skip_special_tokens=True,
)
print(generated_texts[0])
# USER:
# 猫は何匹いますか?ASSISTANT: 画像には2匹の猫がいます。

transformers v4.48 以降では、画像 URL またはローカルパスを会話履歴に直接渡し、チャットテンプレートに処理を任せることも可能です。 テンプレートが画像を読み込み、torch.Tensor 形式で返すので、そのまま model.generate() に渡せます。

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://www.ilankelman.org/stopsigns/australia.jpg"},
            {"type": "text", "text": "画像を非常に短く説明して。"},
        ],
    },
]

inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt"
).to("cuda")

output = model.generate(**inputs, max_new_tokens=128)
generated_texts = processor.batch_decode(
    output,
    skip_special_tokens=True,
)
print(generated_texts[0])
# USER:
# 画像を非常に短く説明して。ASSISTANT: 画像は、赤い停止標識と、その横にある赤い門を持つ伝統的な中国の門の2つの標識が写っています。

ライセンス

Creative Commons Attribution Non Commercial Share Alike 4.0
OpenAI のポリシー https://openai.com/policies/terms-of-use に従うものとします。

Downloads last month
6
Safetensors
Model size
1.72B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for turing-motors/llava-1.5-sarashina2.2-1.7b-instruct

Finetuned
(21)
this model

Datasets used to train turing-motors/llava-1.5-sarashina2.2-1.7b-instruct