🚀 360VL
360VLは、LLama3言語モデルをベースに開発された、業界初のLLama3 - 70B[🤗Meta - Llama - 3 - 70B - Instruct]に基づくオープンソースの大規模マルチモーダルモデルです。360VLモデルは、Llama3言語モデルを適用するだけでなく、グローバルに認識可能なマルチブランチプロジェクターアーキテクチャを設計しており、これによりモデルはより十分な画像理解能力を備えることができます。
Github:https://github.com/360CVGroup/360VL
🚀 クイックスタート
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
from PIL import Image
checkpoint = "qihoo360/360VL-8B"
model = AutoModelForCausalLM.from_pretrained(checkpoint, torch_dtype=torch.float16, device_map='auto', trust_remote_code=True).eval()
tokenizer = AutoTokenizer.from_pretrained(checkpoint, trust_remote_code=True)
vision_tower = model.get_vision_tower()
vision_tower.load_model()
vision_tower.to(device="cuda", dtype=torch.float16)
image_processor = vision_tower.image_processor
tokenizer.pad_token = tokenizer.eos_token
image = Image.open("docs/008.jpg").convert('RGB')
query = "Who is this cartoon character?"
terminators = [
tokenizer.convert_tokens_to_ids("<|eot_id|>",)
]
inputs = model.build_conversation_input_ids(tokenizer, query=query, image=image, image_processor=image_processor)
input_ids = inputs["input_ids"].to(device='cuda', non_blocking=True)
images = inputs["image"].to(dtype=torch.float16, device='cuda', non_blocking=True)
output_ids = model.generate(
input_ids,
images=images,
do_sample=False,
eos_token_id=terminators,
num_beams=1,
max_new_tokens=512,
use_cache=True)
input_token_len = input_ids.shape[1]
outputs = tokenizer.batch_decode(output_ids[:, input_token_len:], skip_special_tokens=True)[0]
outputs = outputs.strip()
print(outputs)
✨ 主な機能
360VLは以下の機能を提供します。
- 複数ラウンドのテキスト - 画像会話: 360VLはテキストと画像の両方を入力として受け取り、テキスト出力を生成することができます。現在は、1枚の画像を用いた複数ラウンドの視覚的質問応答をサポートしています。
- バイリンガルテキストサポート: 360VLは英語と中国語の両方での会話をサポートしており、画像内のテキスト認識も含まれます。
- 強力な画像理解能力: 360VLは画像の分析に長けており、画像からの情報の抽出、整理、要約などのタスクに効率的なツールとなります。
- 細かい画像解像度サポート: 360VLは672×672の高解像度での画像理解をサポートしています。
📦 モデルツールボックス
360VLは以下のバージョンをリリースしています。
📊 性能
モデル |
チェックポイント |
MMBT |
MMBD |
MMB - CNT |
MMB - CND |
MMMUV |
MMMUT |
MME |
QWen - VL - Chat |
🤗LINK |
61.8 |
60.6 |
56.3 |
56.7 |
37 |
32.9 |
1860 |
mPLUG - Owl2 |
🤖LINK |
66.0 |
66.5 |
60.3 |
59.5 |
34.7 |
32.1 |
1786.4 |
CogVLM |
🤗LINK |
65.8 |
63.7 |
55.9 |
53.8 |
37.3 |
30.1 |
1736.6 |
Monkey - Chat |
🤗LINK |
72.4 |
71 |
67.5 |
65.8 |
40.7 |
- |
1887.4 |
MM1 - 7B - Chat |
LINK |
- |
72.3 |
- |
- |
37.0 |
35.6 |
1858.2 |
IDEFICS2 - 8B |
🤗LINK |
75.7 |
75.3 |
68.6 |
67.3 |
43.0 |
37.7 |
1847.6 |
SVIT - v1.5 - 13B |
🤗LINK |
69.1 |
- |
63.1 |
- |
38.0 |
33.3 |
1889 |
LLaVA - v1.5 - 13B |
🤗LINK |
69.2 |
69.2 |
65 |
63.6 |
36.4 |
33.6 |
1826.7 |
LLaVA - v1.6 - 13B |
🤗LINK |
70 |
70.7 |
68.5 |
64.3 |
36.2 |
- |
1901 |
Honeybee |
LINK |
73.6 |
74.3 |
- |
- |
36.2 |
- |
1976.5 |
YI - VL - 34B |
🤗LINK |
72.4 |
71.1 |
70.7 |
71.4 |
45.1 |
41.6 |
2050.2 |
360VL - 8B |
🤗LINK |
75.3 |
73.7 |
71.1 |
68.6 |
39.7 |
37.1 |
1944.6 |
360VL - 70B |
🤗LINK |
78.1 |
80.4 |
76.9 |
77.7 |
50.8 |
44.3 |
2012.3 |
📚 詳細情報
モデルタイプ
360VL - 8Bは、マルチモーダル命令追従データでLLMをファインチューニングすることで学習されたオープンソースのチャットボットです。これはトランスフォーマーアーキテクチャに基づく自己回帰型言語モデルです。
ベースLLM: meta - llama/Meta - Llama - 3 - 8B - Instruct
モデル作成日
360VL - 8Bは2024年4月に学習されました。
📄 ライセンス
このプロジェクトは、それぞれ独自の元のライセンスに従う特定のデータセットとチェックポイントを利用しています。ユーザーはこれらの元のライセンスのすべての条件に準拠する必要があります。
このプロジェクト自体の内容は、Apacheライセンス2.0の下でライセンスされています。
モデルに関する質問やコメントを送る場所:
https://github.com/360CVGroup/360VL
関連プロジェクト
この成果は、これらの素晴らしいオープンソースコードがなければ実現できません。大きな感謝を申し上げます!