Sarashina2.2-Vision-3B: コンパクトかつ性能が高いVLMの公開

概要

SB Intuitionsでは、大規模視覚言語モデル(Vision-Language Model; VLM)の開発に取り組んでおり、これまでに公開時点で日本語ベンチマークにおいて国内最高性能であったSarashina2-Visionシリーズを公開しています。

この度、アカデミアや産業界におけるVLMの研究開発にさらに貢献することを目的として、弊社のコンパクトかつ高性能な日本語大規模言語モデルであるSarashina2.2-3B-Instructをベースに開発したVLMであるSarashina2.2-Vision-3BをMITライセンスのもとで公開します。このモデルは同サイズ帯では日本語ベンチマークにおいてトップクラスのスコアを達成しています。

この記事ではSarashina2.2-Vision-3Bのモデル構成、学習時の工夫、評価結果について紹介します。

使い方

Sarashina2.2-Vision-3BはHuggingFace Hubにて公開しており、次のようにtransformersライブラリから利用することができます。

import requests
from PIL import Image
from transformers import AutoModelForCausalLM, AutoProcessor, set_seed
# Define model path
model_path = "sbintuitions/sarashina2.2-vision-3b"
# Load model and processor
processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_path,
    device_map="cuda",
    torch_dtype="auto",
    trust_remote_code=True,
)
set_seed(42)
image_url = "https://huggingface.co/sbintuitions/sarashina2.2-vision-3b/resolve/main/sample.jpg"
message = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "image": image_url,
            },
            {
                "type": "text",
                "text": "これはどこで撮った写真ですか?",
            },
        ],
    }
]
text_prompt = processor.apply_chat_template(message, add_generation_prompt=True)
"""text_prompt: <|user|><|prefix|><|file|><|suffix|>これはどこで撮った写真ですか?</s><|assistant|>"""
image = Image.open(requests.get(image_url, stream=True).raw).convert("RGB")
inputs = processor(
    text=[text_prompt],
    images=[image],
    padding=True,
    return_tensors="pt",
)
inputs = inputs.to(model.device)
# Inference: Generation of the output
output_ids = model.generate(
    **inputs,
    max_new_tokens=512,
    temperature=0.7,
    top_p=0.95,
    repetition_penalty=1.2,
)
generated_ids = [
    output_ids[len(input_ids) :] for input_ids, output_ids in zip(inputs.input_ids, output_ids)
]
output_text = processor.batch_decode(
    generated_ids, skip_special_tokens=True, clean_up_tokenization_spaces=True
)
print(output_text[0])

入力:

これはどこで撮った写真ですか?

出力:

この写真は、**道後温泉本館(どうごおんせんほんかん)** の入り口を夜景で撮影した写真です。

---
 場所の詳細:
- **名称**:道後温泉本館(Dogo Onsen Honkan)
- **所在地**:〒790-0842 愛媛県松山市道後湯之町1丁目3番5号
- **アクセス**:JR松山駅から市内電車「道後温泉駅」下車すぐ
- **特徴**:日本最古の温泉の一つとして知られる「道後温泉」の中心的な施設。国の重要文化財にも指定されています。

---
 写真の特徴から判断した理由:
- 建物の屋根や装飾が伝統的な和風建築で、「道後温泉」の看板が目立つ。
- 入口の垂れ幕には「道後」「道後」と書かれており、白い鳳凰の模様が描かれている → 道後温泉の象徴的デザイン。
- 夜の照明と石灯籠、提灯風の灯りが日本の温泉地らしい雰囲気を醸し出している。
- 看板に「道後温泉」の文字が明確に表示されている。

---
 補足情報:
道後温泉本館は、夏目漱石の小説『坊っちゃん』の舞台としても有名で、多くの観光客が訪れる人気スポットです。また、2020年にリニューアルされ、現代的な設備も導入されていますが、外観は伝統を残しています。

---
よって、この写真は **愛媛県松山市にある「道後温泉本館」の夜景** です。

モデル構成

Sarashina2.2-Vision-3Bの各コンポーネントは次の学習済みモデルのパラメータを初期値として学習を開始しています。

  • LLM: sbintuitions/sarashina2.2-3b-instruct-v0.1
  • Vision Encoder: google/siglip2-so400m-patch14-384
  • Projector: 2層の線形層をランダム初期化

また画像のエンコードにはSarashina2-Visionと同様に入力画像の解像度やアスペクト比を可能な限り維持して情報損失を防ぐためにNative Dynamic Resolutionを採用しています。

各学習ステージの概要

Sarashina2.2-Vision-3Bの訓練は、以下の4つのステージと、仕上げとしての最終調整(MPO)によって行われました。各ステージごとに、学習するモジュールや使用するデータを調整し、段階的にモデルの能力を向上させています。

Stage 1 : Projector Warmup

Sarashina2.2-Vision-3Bは、Vision EncoderとLLMを、Projectorと呼ばれるモジュールで接続した構造になっています。 Vision EncoderとLLMは、異なるモダリティのデータセットで事前訓練されているため、初期状態ではそれぞれの埋め込み空間が異なっています。 Vision Encoderが扱う画像埋め込み空間と、LLMが扱うテキストの埋め込み空間のギャップを埋めるため、最初のステージではProjectorの学習のみを行います。このステージの学習には、英語の画像キャプションデータセットを使用しました。

Stage 2: Vision Encoder Pretraining

このステージでは、モデルの画像理解能力の引き上げのため、Vision EncoderとProjectorの学習を行います。 この段階では、モデルの出力テキストのスタイルや質の向上は目指さないため、LLMのパラメータは固定しています。 特に、Vision Encoderが日本特有の画像や文字をより深く理解できるようにするため、日本語を含む図表やOCRデータを導入しています。

  • 学習データ
    • 日本語を含む図表データ
    • 日本語を含むOCRデータ
    • 大規模キャプションデータ

Stage 3: Full Model Pretraining

このステージでは、画像と言語を統一的に理解する能力を向上させるため、モデルの全モジュール(Vision Encoder、Projector、LLM)をすべて同時に学習させます。 このステージでは、画像とテキストが混在するinterleavedデータも活用しました。これにより、文脈に応じた画像の理解能力をモデルが獲得できるようになります。

  • 学習データ
    • 日本語を含む図表データ
    • 日本語を含むOCRデータ
    • 大規模キャプションデータ
    • interleavedデータ

Stage 4: Instruction Tuning

このステージでは、モデルがユーザーの指示に対して適切に応答できるよう、指示追従能力のチューニングに重点を置きます。ここではVision Encoderは固定し、ProjectorとLLMの学習を行いました。 単なる画像のキャプション生成にとどまらず、視覚情報を踏まえた様々な指示にモデルを対応させられるように、以下のような多様なデータセットを活用しました。

  • 学習データ
    • 画像キャプションデータ:様々な粒度で画像を説明するキャプションデータ
    • OCRデータ:日本語を含む多様なOCRデータ
    • VQAデータ:数学図形問題、図表理解、教科書的な知識理解、科学系の質問応答などのQAデータ
    • テキストデータ:LLMとしての基礎的な言語能力を維持・向上させるためのデータ。

Post-training: Mixed Preference Optimization

最後に、推論能力を高めつつ人間好みの回答を出力させるためにMPO(Mixed Preference Optimization)を行いました。MPOでは3つの損失関数を組み合わせて学習を行います。

  1. Preference Loss: DPO損失を用いてChosenとRejectedのペアの相対的な好みを学習
  2. Quality Loss: BCO損失を用いて回答がどれだけ高品質か学習
  3. Generation Loss: SFT損失を用いて回答を生成するためのプロセスを学習

このステージではInstruction Tuningのステージと同様にLLMとProjectorの学習を行いました。

ステージごとの学習トークン数

最終的にそれぞれのステージで訓練に使用したトークン数は以下の通りです。全体として、旧モデルからデータ量を大幅に増加させています。

Training Stage 日本語データ 英語データ
Stage 1 0 120M
Stage 2 7.0B 5.8B
Stage 3 61.2B 26.3B
Stage 4 34.8B 5.0B

学習の高速化

Sarashina2-Visionの公開後、学習を高速化して効率よく実験を行いたいという課題がありました。そこでVLMの学習に用いているフレームワークでSequence Packingとtorch.compileをサポートすることで学習の高速化を実現しました。

Sequence Packing

Sequence Packingの実装前は、各サンプルに対し1つのシーケンスを使用し、バッチ内の最大シーケンス長に合わせてパディングを行っていました。しかし、この方法ではサンプルごとにシーケンス長の差が大きく、パディングトークンが増え計算リソースに無駄が多いという問題があります。この問題を解決するためにGreedy Sequence Packingを実装しました。

Greedy Sequence Packingでは学習を開始する前に、シャッフルした学習データをシーケンシャルに処理し、設定した最大シーケンス長に達するまで複数のサンプルを1つのサンプルとして扱えるように連結します。最大シーケンス長に達した時点で次のサンプルの作成に移ります。この処理を高速化するために次の2つの工夫をしています。

  1. 事前に画像の高さと幅を抽出することで、パッキング時に実際に画像を読み込まずにシーケンス長を計算できるようにしている
  2. パッキング処理を1プロセスで行うのではなく学習時に活用する全ワーカーで並列実行している

これらの工夫をすることで前処理にかかる時間は数分程度であり、前処理が学習全体のボトルネックとなることはありません。

事前にパッキングするのではなく学習中にオンザフライでパッキングする方法もありますが、今回説明した方法では、サンプル数が固定されるためマップ形式データセットが利用でき学習コードがシンプルになるというメリットがあります。この他にもエポックの途中からでも容易に学習を再開することができたり、学習率のスケジューリングの調整を容易にできるというメリットがあります。

Sequence Packing活用時のforward・backwardの計算時にはFlashAttention2のflash_attn_varlen_funcメソッドを使用します。これにより1つのシーケンスにパッキングされた各シーケンスが、他のシーケンスではなく自身のトークンだけにアテンションを向けるように処理を行います。

この実装をした結果、学習のスループットが大幅に向上したことが確認できました。さらに1バッチあたりのトークン数が増えたことにより学習の安定性も大きく改善されました。

また、Sequence Packingの実装によりマルチモーダルデータとテキストのみのデータの併用が容易になりました。従来の実装ではマルチモーダルデータかテキストデータのみのグローバルバッチを用意して処理する必要がありました。しかしSequence Packingの実装後、各ワーカーのバッチ内に画像データが一つも含まれない確率は無視できるほと小さくなり、結果このような工夫は不要になりました。仮に各ワーカーのバッチ内に画像データが1枚もサンプリングされないようなケースが発生した場合でも、ダミーの画像データを挿入することで学習が正常に動作するようにしています。

このようにSequence Packingによりマルチモーダルデータとテキストデータを同一バッチ内で混合して処理するアプローチは学習の高速化だけではなく学習の安定性向上にもつながりました。実際にLLMはテキストデータのみで事前学習されているためテキストデータのみのバッチはマルチモーダルデータのバッチに比べてlossが低くなる傾向があります。モーダルごとにバッチを分けて処理していた従来の手法では、モーダルごとのlossの差が原因で学習が不安定になっていました。

torch.compileのサポート

torch.compileに対応することで、学習スループットは大幅に向上することが分かりました。ただし、対応するにあたり次の2つの課題がありました。

  • モデル全体へのコンパイルは正常に動作せず、コンパイルを実現するにはTorchtitanで実装されているようにVision EncoderとLLMの両方において、Transformerの各ブロックへ個別に適用する必要があります。
  • fullgraph=Falseでコンパイルを行う場合、グラフブレイクが発生しパフォーマンスが大きく低下することを確認したため、コンパイル時にはfullgraph=Trueのオプションをつけてコンパイルを行う必要があります。これを実現するためにはTransformerブロック内で発生するグラフブレイクの原因となる処理を修正する必要があります。

下の表はSarashina2.2-Vision-3Bの学習においてSequence Packingおよびtorch.compileの有無による学習スループット(token数 / (秒 * GPU数))の比較を示します。

training stage sequence packing + torch.compile no torch.compile no sequence packing
stage 1 18470 12894 10807
stage 2 7530 5664 4800
stage 3 5046 4322 1791
stage 4 10242 8318 7490

公平な比較のためスループットの計算からはパディングトークンを除外しています。報告値はコンパイルによる最初のオーバーヘッドを無視するために最初の2イテレーションを除いた100イテレーションの平均値です。8基のH100 GPUを使用してベンチマークを実施しました。torch.compileとSequence Packingの組み合わせにより、学習スループットが大きく改善しているのが分かります。

評価結果

Sarashina2.2-Vision-3Bの能力を確かめるため、代表的なVLMベンチマークで評価しました。内製のVLM評価フレームワークを用いて日本語能力が高い代表的なVLMと比較した結果を紹介します。

評価の実験条件

今回の評価では以下の設定で実施しました

LLM-as-a-Judgeにgpt-oss-120bを利用

LLM-as-a-Judgeにはgpt-oss-120bを用いました。gpt-oss-120bはオープンウェイトのモデルであることから、ローカルLLMのサーバを立ててJudgeを実施でき、出力されるスコアの一貫性に信頼を置きやすいという利点があます。また、内部で実施した評価ではgpt-oss-120bとgpt-4o-2024-11-20のスコアが高い相関を示したため採用しました。

評価方法の改善

VLMを目的に合わせて正しく評価するには、VLMベンチマークに含まれるデータや評価方法の見直しと改善が常に求められます。我々も評価方法を日々試行錯誤しており、公開済みのVLMベンチマークにもいくつか変更を加えています。本稿で全てを紹介することは難しいですが、いくつかの変更点を紹介します。

JMMMUとMMMUのサンプルの修正

JMMMUとMMMUのサンプルは大部分が多肢選択形式ですが、一部自由記述形式のサンプルが混ざっています。評価形式が異なるサンプルが混ざっていると評価結果の議論が複雑化するため、JMMMUとMMMUの自由記述形式のサンプルは既存のLLMを用いて多肢選択形式に変換しました。LLMにより得られた誤答の選択肢は必ずしも良いものではなく場合によっては問題の品質低下を引き起こしてしまうため、人手でのチェックと修正も行いました。

下図はgradioで作成した修正アプリの画面で、MMMUにおけるLLMを使った誤答選択肢の生成例です。この例では正答であるOption 4の内容が不自然に長くなってしまっています。このようなサンプルは良いサンプルとは言えないため、人手で誤答の文長を正答の文長に合わせて揃えるようにしました。

MMMUの自由記述形式のサンプルを多肢選択形式に変換した例(画像はgradioによる修正用アプリ上の画面、学生インターンの今井さんに作成いただきました)

JDocQAのサンプル除外

JDocQAには「本文中に記載がありません」というanswerのサンプルが少なからず含まれており、「本文中に記載がありません」と回答できるように調整することでスコアが大きく伸びることがわかりました。具体的には、JDocQAの学習データをStage2の学習に追加した際、スコア(llm-jp-eval-mmにおけるAcc相当)が0.4と高いスコアとなりました。これはQwen2.5-VL-32B-instruct(Acc: 0.265。評価当時リーズナブルなパラメータ帯でトップスコアのオープンモデル)よりも高く、モデルが「本文中に記載がありません」と回答していることによるスコアの上昇が起きていました。

もちろん、画像中から正答部分を抽出するタスクにおいて画像に正答が含まれていない場合に、上記のように「本文中に記載がありません」と回答する能力もVLMには必要であることは間違いなく、また評価メトリック側の修正による解決可能性はあるものの、今回我々が評価したい能力は正解が画像中に含まれる場合に正確に抜き出せるかであったため、他のモデルとの公平な比較のために該当サンプルを評価対象から除外しました。

※今回の評価ではJDocQAはLLM-as-a-Judgeによるスコアを記載しています

評価結果

下記に、主要なオープンモデルの日本語/英語ベンチマークでの評価結果を示します。どのベンチマークでもスコアが高いほど性能が高いことを示します。 一部のデータの欠損は動作環境や評価方法の都合上スコアが出せなかったものになります。

日本語ベンチマークにおける結果

モデル パラメータ数(B) BusinessSlideVQA JDocQA Heron-Bench JMMMU
karakuri-vl-32b-instruct-2507 32.7 4.087 3.669 2.718 0.595
Qwen3-VL-4B-Instruct 4.4 4.105 3.596 0.276 0.491
Sarashina2.2-Vision-3B 3.8 3.932 3.327 3.214 0.484
Stockmark-2-VL-100B-beta 95.5  3.973 3.168 2.563 -
Qwen2.5-VL-3B-Instruct  3.8 3.516 3.019 2.000 0.450
Qwen3-VL-2B-Instruct 2.1 3.612 3.051 2.155 0.368
InternVL3_5-4B 4.7  3.311 2.626 1.893 0.437
Sarashina2-Vision-14B 14.4  3.110 - 2.184 0.432
InternVL3_5-2B 2.3 2.795 2.393 1.864 0.384
Sarashina2-Vision-8B 8.0 2.913 - 2.214 0.376
Heron-NVILA-Lite-2B 2.0 1.694 2.083 2.214 0.380
Heron-NVILA-Lite-1B 0.9 1.416 1.741 1.903 0.286

英語ベンチマークにおける結果

モデル パラメータ数(B) ChartQA DocVQA InfoVQA MMMU MMStar RealWorldQA
karakuri-vl-32b-instruct-2507 32.7 0.799 0.919 0.795 0.622 0.665 0.697
Qwen3-VL-4B-Instruct 4.4 0.684 0.948 0.798 0.570 0.560 0.712
Sarashina2.2-Vision-3B 3.8 0.630 0.831 0.567 0.410 0.447 0.625
Stockmark-2-VL-100B-beta 95.5  0.141 0.023 - - 0.000 0.026
Qwen2.5-VL-3B-Instruct  3.8 0.76 0.924 0.75 0.485 0.549 0.586
Qwen3-VL-2B-Instruct 2.1 0.629 0.927 0.725 0.443 0.425 0.641
InternVL3_5-4B 4.7  - 0.823 0.541 0.600 0.273 0.553
Sarashina2-Vision-14B 14.4  0.356 0.729 0.49 0.376 0.359 0.519
InternVL3_5-2B 2.3 - 0.710 0.381 0.504 0.188 0.473
Sarashina2-Vision-8B 8.0 0.325 0.682 0.469 0.308 0.342 0.511
Heron-NVILA-Lite-2B 2.0 0.238 0.479 0.293 0.367 0.393 0.314
Heron-NVILA-Lite-1B 0.9 0.181 0.346 0.209 0.245 0.263 0.268

今回公開したSarashina2.2-Vision-3Bは2025年3月にリリースしたSarashina2-Visionシリーズからパラメータ数が大きく削減されているにも関わらず日本語/英語ベンチマークともにスコアが向上しています。 また、Sarashina2.2-Vision-3Bは多くの同一パラメータ帯のモデルや一部のよりパラメータ数の大きいモデルよりも日本語ベンチマークにおいて高いスコアを示しています。オープンモデルの中ではトップの性能を誇るQwenシリーズの最新版であるQwen3-VL-4Bやkarakuri-vl-32bと比較すると一部ベンチマークスコアは劣っているものの、パラメータ数の差を考慮するとリーズナブルな結果と考えられます。

英語ベンチマークに関しても一定のスコアを記録していますが、Qwenなどの海外製多言語モデルをベースとしたモデルと比べるとまだギャップはあるため、日本語以外の言語能力は依然課題が残る結果となっています。

定性分析

Sarashina2.2-Vision-3Bの強みがよく分かる例をいくつか紹介します。

日本の文化・地理知識の豊富さ

Sarashina2.2-Vision-3Bは多くの日本語圏のデータを学習に使っているため、日本の文化・地理知識に詳しいモデルとなっています。試しに、日本の重要有形民俗文化財に指定されている「かずら橋」について画像を元に解説してもらいました。

ユーザー:

これはどんな橋ですか?

Sarashina2.2-Vision:

これは**祖谷の蔓橋(いやのかずらばし)**です。

画像に写っているのは、徳島県三好市・祖谷渓にある伝統的な吊り橋で、「重要有形民俗文化財」に指定されています。この橋は、**ツタやツル植物を編んで作られた「蔓(かずら)」で作られた吊り橋**であり、その独特な構造と自然素材の美しさから、観光客にも人気のスポットとなっています。

### 特徴:
- **素材**:主にツタやツル植物の茎を編み込んで作られています。
- **構造**:木製の柱と横木の上に、ロープ状の蔓が張られており、渡る部分は細い棒で支えられています。
- **高さ**:約14メートルの高さがあり、下には深い渓谷が広がっています。
- **歴史**:古くから地元の人々が川を渡るために使っていたもので、現在は観光用に整備されています。

### 見どころ:
- 自然の素材だけで作られたシンプルかつ力強い美しさ。
- 高所からの渓谷の景色(特に紅葉の季節は絶景)。
- 「日本三大奇矯」(他に「猿飛峡」「錦帯橋」など)の一つとして知られています。

祖谷渓は「秘境の地」として知られ、この蔓橋はその象徴的な建造物の一つです。訪れる際には、安全のため必ず係員の指示に従いましょう。
---

まとめ:
**祖谷の蔓橋は、ツタやツル植物で編まれた伝統的な吊り橋で、自然の美しさと歴史的価値を兼ね備えた観光名所です。**

きちんと写真の橋の所在地や、重要有形民俗文化財であること、特徴、見所などを正確に抑えた回答がされていることが分かります。

また、単に答えるだけでなく、特徴や見どころを複数列挙し訪れる時の注意点といった、ユーザーにとって好ましい回答をする能力にも長けています。

日本語文書の読解力

Sarashina2.2-Vision-3Bは日本語文書や図表を含むような画像もきちんと読み取ることができます。

綺麗に構成された文書だけでなく、ポスターのような雑多なレイアウト文書でも正確に理解し情報を整理することができます。

ユーザー:

何がどう新しくなりましたか?

Sarashina2.2-Vision:

このポスターは、**精算機(運賃計算・支払い用の機械)が新しくなったことを知らせる案内**です。

具体的には:

- **ICカードやモバイルSuicaのチャージ・精算機能が追加されました**。
→ ピンク色のボタンを押すことで、携帯端末やSuicaを読み取り台に置くだけでチャージや精算ができるようになりました。
- **きっぷの精算も可能になりました**。
→ 緑色のボタンを押して投入口に切符を入れるだけです。
- **乗車駅証明書の精算にも対応しました**。
→ 青色のボタンを押すと、読み取り部に証明書を置くだけで精算できます。
- **モバイルSuicaの利用も可能に**。
→ 「モバイルSuicaもチャージできます」と明記されており、スマートフォンでSuicaを利用している人も便利に利用できるようになっています。

つまり、「**従来の現金や紙の切符だけでなく、ICカードやモバイルSuicaなどの電子的な手段でも、より簡単かつスムーズに精算できるようになった**」という変更点が主な内容です。
---
まとめ:
> **精算機の機能が拡張され、ICカード・モバイルSuicaでのチャージ・精算、きっぷの投入口精算、乗車駅証明書の精算などが可能になり、利便性が向上しました。**

ユーザーからの複雑な指示に従う性能

Sarashina2.2-Vision-3Bは、単に知識の説明・文字を読み取るだけでなく、より現実のユースケースに即したユーザーからの複雑で多様な指示にも応えることができます。

例えば、英語が読めない人が、おみくじの英語の箇所だけを読み取って日本語に翻訳するようSarashina2.2-Vision-3Bに聞いてみた時の応答例は以下になります。

ユーザー:

英語の部分が読めません。なんて書いてあるのか、日本語に翻訳して教えてください。

Sarashina2.2-Vision:

画像中の「No.20 GOOD FORTUNE」の下にある英語の文章は:

The moon rises in the sky and gradually getting bright. You will get household goods and your life will be prosperous. Something you've left behind will be completed in the end. Then you will be able to be successful.

日本語訳(参考):
月が空に昇り、徐々に明るくなっていきます。あなたは家財道具を手に入れ、生活は繁栄します。あなたが残したことは、最後に完成するでしょう。そしてあなたは成功するでしょう。

また、その下には補足として以下のような文があります:

Your wishes will be realized.
A sick person will recover.
The lost article will be found.
The person you are waiting for will come.
Building a new house and removal are good.
Marriage and employment are all good.
Making a trip is good.

これは「あなたの願いが叶う」「病気の人は回復する」「失った物は見つかる」「待っている人が来る」「新築・引っ越しは良い」「結婚・就職はすべて良い」「旅行も良い」といった内容です。

この運勢は「第二十吉」(だいにじゅうきち)で、「幸運な運勢」を意味します。日本語と英語で同じ内容が書かれており、観光客向けの案内や占いの結果を示していると考えられます。

何か特定の部分についてさらに詳しく知りたい場合は、お知らせください!

きちんと英語の文字を読み取り、かつユーザーからの指示通り、英語部分の意味を正確に日本語で回答しています。

このように、Sarashina2.2-Vision-3Bは高度な日本知識・文書読解・指示応答能力を兼ね備えたVLMになっています。

終わりに

本記事では、コンパクトかつ性能が高い日本語VLMであるSarashina2.2-Vision-3Bを紹介しました。本モデルはHuggingFaceで商用利用可能なライセンス(MIT)のもと公開していますので、ぜひVLMの研究や開発にご利用いただければと思います。

SB Intuitionsでは今回紹介したようなVLMの研究開発を進めています。ご興味がありましたら、以下の求人ページから是非ご応募ください。

プロジェクトメンバー(五十音順)

  • Alexis Vallet
  • 今井悠人
  • 上原康平
  • 鈴木哲平
  • 品川政太朗
  • 髙田拓実
  • 田中稔之
  • 田中幹大
  • 幡谷龍一郎