🚀 LLaVA-Saiga-8b
LLaVA-Saiga-8bは、IlyaGusev/saiga_llama3_8b
モデルをベースにしたビジョン言語モデル(VLM)で、元のLLaVAセットアップで訓練されています。このモデルは主にロシア語での使用に適応していますが、英語でも動作可能です。
🚀 クイックスタート
このモデルは、主にロシア語での使用に最適化されていますが、英語でも利用できます。以下のセクションでは、transformers
APIを使用したモデルの使い方を説明します。
✨ 主な機能
- ロシア語と英語の両方で動作可能なビジョン言語モデルです。
- チャットテンプレートを使用して、画像付きまたは画像なしでのマルチターン会話が可能です。
- 一般的なフレームワークで直接使用できる形式を持っています。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
import requests
from PIL import Image
from transformers import AutoProcessor, AutoTokenizer, LlavaForConditionalGeneration
model_name = "deepvk/llava-saiga-8b"
model = LlavaForConditionalGeneration.from_pretrained(model_name)
processor = AutoProcessor.from_pretrained(model_name)
tokenizer = AutoTokenizer.from_pretrained(model_name)
url = "https://www.ilankelman.org/stopsigns/australia.jpg"
img = Image.open(requests.get(url, stream=True).raw)
messages = [
{"role": "user", "content": "<image>\nОпиши картинку несколькими словами."}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = processor(images=[img], text=text, return_tensors="pt")
generate_ids = model.generate(**inputs, max_new_tokens=30)
answer = tokenizer.decode(generate_ids[0, inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(answer)
高度な使用法
<image>
タグを使用してテキスト内の画像を指定し、マルチターン会話のためにチャットテンプレートに従います。モデルは画像なしでのチャットや、会話内で複数の画像を扱うこともできますが、この動作はテストされていません。
🔧 技術詳細
訓練データ
このモデルは、以下のデータセットを使用して訓練されました。
データセット名 |
説明 |
deepvk/LLaVA-Instruct-ru |
ロシア語のVLM命令の新しいデータセット |
Lin-Chen/ShareGPT4V |
共有GPT4Vデータセット |
deepvk/GQA-ru |
人気のあるGQAテストの訓練部分をロシア語に翻訳したもの |
訓練設定
モデルは2段階で訓練されました。
- アダプターは、
ShareGPT4V
の事前訓練データを使用して訓練されました。
- 命令微調整では、LLMとアダプターを訓練しました。この際、上記のデータセットを使用しました。
訓練全体は、8台のA100 80GB GPUで3 - 4日かかりました。
📚 ドキュメント
評価結果
モデルの性能は、lmms-eval
フレームワークを使用して評価されました。
accelerate launch -m lmms_eval --model llava_hf --model_args pretrained="deepvk/llava-saiga-8b" \
--tasks gqa-ru,mmbench_ru_dev,gqa,mmbench_en_dev --batch_size 1 \
--log_samples --log_samples_suffix llava-saiga-8b --output_path ./logs/
注: MMBenchでは、生成された文字列内の数量詞を見つけるためにOpenAI APIを使用していません。したがって、スコアはGQAベンチマークの完全一致と同様です。
📄 ライセンス
このプロジェクトは、Apache-2.0ライセンスの下で公開されています。
引用
@misc{liu2023llava,
title={Visual Instruction Tuning},
author={Liu, Haotian and Li, Chunyuan and Wu, Qingyang and Lee, Yong Jae},
publisher={NeurIPS},
year={2023},
}
@misc{deepvk2024llava-saiga-8b,
title={LLaVA-Saiga-8b},
author={Belopolskih, Daniil and Spirin, Egor},
url={https://huggingface.co/deepvk/llava-saiga-8b},
publisher={Hugging Face}
year={2024},
}