Zyphra が Zamba2-VL を公開:ハイブリッド Mamba2–Transformer 型ビジョン言語モデルが初トークン生成時間を約 10 倍短縮
本文の状態
日本語全文を表示中
詳細モードで約12分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
MarkTechPost
Zyphra は、画像とテキストを同時に処理するオープンソースのビジョン言語モデル「Zamba2-VL」シリーズ(パラメータ数 1.2B/2.7B/7B)を公開した。同社は従来の密集型 Transformer に代わり、ハイブリッド状態空間設計を採用し、競合と同等の精度を維持しつつ初トークン生成時間を約 10 倍短縮する技術を実現した。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
Zyphra は、オープンソースのビジョン・ランゲージモデル「Zamba2-VL」ファミリーをリリースしました。このシリーズには 1.2B、2.7B、7B の 3 つのパラメータサイズが含まれています。各モデルは、Zamba2 ハイブリッド SSM–Transformer ベースラインの上に構築されています。
ビジョン・ランゲージモデル(VLM)は画像とテキストを同時に読み取り、チャートやドキュメント、写真に関する質問に答えます。多くのオープンソース VLM は言語モデルとして密な Transformer を採用していますが、Zamba2-VL ではこれをハイブリッド状態空間設計へと置き換えています。その目的は、より低いレイテンシで競合する精度を実現することです。
Zamba2-VL とは何か
Zamba2-VL は、現在標準となっている LLaVA スタイルの VLM テンプレートに従っています。事前学習済みビジョンエンコーダーが画像パッチを特徴量に変換し、軽量な MLP アダプターがそれらを言語モデルの空間へ投影します。その後、言語モデルは視覚トークンとテキストトークンを交互に並べたシーケンスを読み取ります。このモデルは単一画像および複数画像の理解とグラウンディングに対応しています。
Zyphra は各 Zamba2 ベースラインに、Qwen2.5-VL の Vision Transformer を組み合わせています。このエンコーダーが選ばれたのは、2 つの特定の特性によるものです。それは 2D 回転位置埋め込みとネイティブな動的解像度処理です。エンコーダーとベースラインを接続するのは 2 レイヤーの MLP アダプターです。
imagehttps://www.zyphra.com/our-work/zamba2-vl
アーキテクチャ
Zamba2 のバックボーンは、一般的なビジョン・ランゲージモデル(VLM)とは異なる設計思想を採用しています。これは Mamba2 の状態空間層と共有トランスフォーマーブロックを融合させたハイブリッド構造です。Mamba2 層は固定サイズの状態で線形時間で動作し、その間に少数の共有アテンション層が交互に配置されています。各共有ブロックには、層ごとに固有の LoRA アダプターが実装されています。
計算負荷の大部分を Mamba2 層が低コストで処理します。一方、共有アテンション層は、純粋な状態空間モデル(SSM)では失われるコンテキスト内検索能力を維持しています。このハイブリッド設計は、完全なアテンションによる表現力と、状態空間の効率性の間で最適化を図ったものです。
Zamba2-VL は Mistral v0.1 トークナイザーを採用しており、ビジョン・テキストデータと純粋なテキストデータを合わせて 100B トークンで事前学習されました。これらのデータはオープンウェブ上のデータセットから収集されています。
image https://www.zyphra.com/our-work/zamba2-vl
モデル品質とベンチマーク結果
研究チームは、チャート・図表・ドキュメントの理解に加え、一般的な知覚能力や推論、視覚的な数え上げなどを含む 14 のベンチマークで Zamba2-VL を評価しました。すべてのスコアは、VLMEvalKit に基づく Zyphra 独自の評価ハッチングによって算出されたものです。比較対象には、Molmo2、Qwen3-VL、InternVL3.5 の各ファミリーが含まれています。
- EvalZamba2-VL-2.7B:InternVL3.5-2B / Qwen3-VL-2B / Molmo2-4B / Qwen3-VL-4B
- DocVQA (test):90.9 / 89.4 / 93.3 / 87.8 / 95.3
- ChartQA (test):79.6 / 81.6 / 78.7 / 86.1 / 81.8
- OCRBench:73.6 / 83.4 / 84.1 / 62.0 / 84.1
- CountBenchQA:87.5 / 70.0 / 87.9 / 91.2 / 87.3
- PixMoCount (test):82.5 / 32.8 / 55.7 / 87.0 / 89.2
MMMU (val)37.749.940.948.851.4
MathVista (mini)51.061.451.856.563.6
InternVL3.5-2B と Qwen3-VL-2B はサイズが似ていますが、Molmo2-4B と Qwen3-VL-4B はより大きいです。
この結果には明確な傾向が見られ、その背景を理解する価値があります。特に「数え上げ」タスクにおいて性能が突出しています。Zyphra によると、Zamba2-VL-1.2B は PixMoCount で 62.5 のスコアを記録しました。これは InternVL3.5-1B の 32.8 や PerceptionLM-1B の 17.7 を大きく上回る結果です。また、ドキュメント理解においても DocVQA で 90.9 という高い性能を示し、2.7B モデルとしての実力を証明しました。ただし、MMMU や MathVista に代表されるような知識依存型の推論タスクでは、より大きなベースラインモデルにはまだ及びません。
なぜ推論が高速なのか
Zamba2-VL の最大の強みが発揮されるのは推論時です。Transformer アテンションはシーケンス長に対して二次関数的にスケーリングするため、マルチモーダル入力ではシーケンスがすぐに膨大になります。1 枚の高解像度画像でも数千のビジョントークンが発生し、短い動画クリップであれば数万トークンに達することさえあります。
Zamba2-VL はアテンションによる KV キャッシュの増大を回避します。線形に近い事前計算時間と固定サイズの再帰状態を受け継いでいるためです。32k トークンの事前計算では、スコア対 TTFT(First Token Time)プロットにおいて他を圧倒しました。比較対象となった Transformer ベースの VLM で、同程度のレイテンシでこれに匹敵するスコアを出したモデルはありませんでした。そのレイテンシの差は少なくとも 10 倍です。
この効率性の優位性は、特に 1.2B と 2.7B の規模において顕著です。これはオンデバイスやエッジ環境での展開を想定したターゲットレンジです。
ユースケースと具体例
この技術が実際にどこで活用できるかという実用的な問いに答えるなら、文書やフォームからの情報抽出は DocVQA の高い結果値を活かせます。例えば、請求書の解析や領収書のデジタル化を大規模に行うケースです。
小売業の在庫数え上げは PixMoCount や CountBenchQA の強みを発揮します。グラウンディング機能を使えば、商品画像や UI 画像内の特定のオブジェクトを指し示すことも可能です。オンデバイス型アシスタントは、最初のトークン生成までの時間を短縮できる点で恩恵を受けます。1.2B パラメータのモデルはスマートフォンやエッジボックス向けに設計されています。また、複数ページにわたる PDF などの長い視覚入力においては、線形時間のプリフィル処理が最も大きなメリットをもたらします。
Getting Started(はじめに)
3 つのモデルは、Hugging Face 上の「Zyphra Zamba2-VL」コレクションで利用可能です。推論には Zyphra が提供する transformers フォーク版(ベースバージョン v4.57.1)を使用します。良好なレイテンシを実現するには、最適化された Mamba2 カーネルを実行できる CUDA 対応 GPU が必要です。
フォークと主要な依存関係をインストールしてください:
pip install "transformers @ git+https://github.com/Zyphra/transformers.git@zamba2-vl"
pip install qwen-vl-utils==0.0.2
pip install flash_attn最適化された Mamba2 カーネルには、さらに以下の 2 つのパッケージが必要です:
pip install --no-build-isolation "causal-conv1d @ git+https://github.com/Zyphra/z-causal-conv1d.git@zamba2-vl"
pip install --no-build-isolation "mamba-ssm @ git+https://github.com/Zyphra/mamba.git@zamba2-vl"その後、モデルを読み込んで単一画像へのクエリを実行します:
from transformers import Zamba2_VLForConditionalGeneration, Zamba2_VLProcessor
import torch
from PIL import Image
from qwen_vl_utils import process_vision_info
import requests
device = "cuda"
processor = Zamba2_VLProcessor.from_pretrained("Zyphra/Zamba2-VL-2.7B", temporal_patch_size=1)
model = Zamba2_VLForConditionalGeneration.from_pretrained(
"Zyphra/Zamba2-VL-2.7B",
device_map=device,
torch_dtype=torch.bfloat16,
attn_implementation="flash_attention_2",
)
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
question = "What do you see in the image? Give us some detail."
num_img_tokens = 3400
conversation = [
{"role": "user", "content": [
{"type": "image", "image": image,
"max_pixels": num_img_tokens * 28 * 28, "min_pixels": 10 * 28 * 28},
{"type": "text", "text": question},
]},
]
prompt = processor.apply_chat_template(conversation, add_generation_prompt=True)
images, _ = process_vision_info(conversation)
inputs = processor(text=prompt, images=images, add_special_tokens=True, return_tensors="pt")
inputs = {key: value.to(device) for key, value in inputs.items()}
outputs = model.generate(**inputs, max_new_tokens=100)
print(processor.tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
モデルの ID を Zamba2-VL-1.2B または Zamba2-VL-7B に変更して、スケールを変更できます。
Strengths and Weaknesses
Strengths:
Zyphra が発表したのは、SSM と Transformer を完全にオープン化したハイブリッド LLM 上に構築された初の VLM ファミリーです。
比較対象となる Transformer ベースラインと比べて、最初のトークン生成までの時間が約 10 倍短縮されています。
視覚的な数え上げ能力に強く、文書理解においても競争力のある性能を発揮します。
エッジデバイスから中規模、そして 7B クラスのデプロイまでをカバーする 3 つのサイズバリエーションを用意しています。
Apache 2.0 ライセンスの下、重み付けデータと動作確認済みの推論コードが公開されています。
弱点と課題:
研究用アーティファクトとしてリリースされたため、実用面での制約があります。
MMMU や MathVista といった知識推論タスクでは、より大規模なモデルに劣ります。
同サイズの Qwen3-VL や InternVL3.5 に比べると、OCRBench のスコアは低めです。
最適化されたカーネルには CUDA GPU が必要であり、CPU での処理は低速です。
デプロイには、公開されたコードからのセルフホスティングが必要です。
主なポイント
Zamba2-VL は Apache 2.0 ライセンスの下、1.2B、2.7B、7B パラメータの 3 つのサイズで提供されています。
バックボーンは Mamba2 の状態空間層と、少数の共有 Transformer ブロックを組み合わせた構成です。
比較対象となる Transformer ベースの VLM と比べて、最初のトークン生成までの時間が約 10 倍短縮されます。
数え上げや文書理解が得意分野ですが、知識推論ではやや劣ります。
重み付けデータと動作確認済みの推論コードは、Hugging Face および GitHub で公開されています。
Marktechpost のインタラクティブ解説
インタラクティブ解説
Zamba2-VL: ハイブリッド SSM–Transformer 型ビジョン・ランゲージモデル
密集したアテンションを Mamba2 状態空間と Transformer のハイブリッドに置き換えた、1.2B、2.7B、7B のオープン VLM です。Apache 2.0 ライセンス。
1.2B
2.7B
7B
仕組み
なぜ高速なのか
ベンチマーク結果
パイプライン(各ステージをタップ)
Zamba2-VL は LLaVA スタイルのテンプレートを採用しています。すなわち、ビジョンエンコーダーからアダプターを経て、言語モデルへとデータが流れる構成です。
トークン規模実験
スライダーをドラッグするか、プリセットを選択してください。アテンションの事前計算(prefill)は O(n²) でスケールしますが、Mamba2 レイヤーは O(n) でスケールします。
1 枚の高解像度画像(約 3,400 トークン)
数枚の画像(約 12,000 トークン)
短い動画(約 24,000 トークン)
長いコンテキスト(約 32,000 トークン)
3,400 ビジョントークン:高解像度画像 1 枚分
Transformer アテンションの事前計算コスト:1.0 倍
Zamba2-VL ハイブリッドの事前計算コスト:1.0 倍
Transformer の KV キャッシュ(コンテキスト用メモリ):増加する
Zamba2-VL の再帰状態(コンテキスト用メモリ):固定サイズ
この長さにおいて、ハイブリッドモデルは事前計算コストを約 1.0 倍削減しています。
測定結果の主張:Zyphra によると、Zamba2-VL はほぼ線形時間の事前計算と固定サイズの再帰状態を実現しており、32k トークンの事前計算では、最も近い Transformer ベースラインよりも初回トークン生成までの時間を約 10 倍短縮しています。
※上部の棒グラフは O(n²) と O(n) のスケーリング特性を示したものであり、実際のレイテンシ測定値ではありません。
ベンチマークエクスプローラー — Zamba2-VL-2.7B vs ベースライン
評価項目を選択してください。緑色のバーが Zamba2-VL-2.7B です。数値が高いほど優れています。
出典:Zyphra 評価ハッチ(VLMEvalKit)。InternVL3.5-2B と Qwen3-VL-2B は同規模、Molmo2-4B と Qwen3-VL-4B はより大規模です。
Marktechpost による公開 — エンジニアやデータサイエンティスト向けの AI/ML 研究、モデルリリース、開発者向けチュートリアル。
Marktechpost でさらに詳しく読む
(注:入力されたテキストは、記事本文ではなく JavaScript のスクリプト断片です。このコードは「mtp-zamba2vl-explainer」という ID の要素を取得し、内部のクエリを実行する初期化処理を行っています。記事本文としてリライトできる内容が含まれていないため、本文のリライトは行いません。)
/* ---- size selector ---- */
var sizeInfo={
"1.2B":"エッジおよびオンデバイス向けティア。トークン初出力までの時間短縮効果において最も大きな優位性を示します。Zyphra の報告によると、PixMoCount は 62.5 で、InternVL3.5-1B の 32.8 や PerceptionLM-1B の 17.7 を大きく上回っています。",
"2.7B":"Zamba2-2.7B LLM をベースにした中規模汎用モデル。視覚的な数え上げやドキュメント理解に強く、知識依存度の高い推論(MMMU、MathVista)では大規模モデルには及びません。",
"7B":"今回リリースする中で最大のサイズ。Zyphra によれば、ほぼすべてのカテゴリーで最強クラスの 7〜8B オープンウェイト VLM と互角の性能を発揮します。"
};
function setSize(s){
$all(".z2-size").forEach(function(b){b.classList.toggle("active",b.getAttribute("data-size")===s)});
$("#z2-size-detail").textContent=sizeInfo[s];
}
「Zyphra Release Zamba2-VL: Hybrid Mamba2–Transformer Vision-Language Models That Cut Time-to-First-Token by About an Order of Magnitude」
サイズ切り替え機能を実装しています。すべての .z2-size クラスを持つ要素に対してクリックイベントを登録し、クリックされた要素の data-size 属性を取得して setSize 関数を呼び出します。
初期設定として、サイズは「1.2B」にセットされます。
タブ切り替え機能も同様に実装されています。.z2-tab クラスを持つすべての要素にクリックイベントを登録し、クリックされた要素の data-tab 属性からタブ名を取得します。その後、すべてのタブ要素に対してクラスリストの "active" をトグルし、クリックされた要素のみがアクティブ状態になります。
(※ 入力テキストは JavaScript コードの一部であり、記事本文として成立していないため、機能説明に留めています。)
News to Guide
ニュースの次に確認する
発表内容を、現在の料金や仕様と照らし合わせられる関連ガイドです。
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み