Skip to content

APPLE AIMV2 · MULTIMODAL AUTOREGRESSIVE VISION ENCODERS

AIMv2:マルチモーダルモデル向け Apple のオープン視覚エンコーダ

AIMv2 は Vision Transformer を、画像パッチとテキストトークンを自己回帰的に同時再構成するよう事前学習します。Apple は多くのマルチモーダル理解ベンチマークで CLIP と SigLIP を上回りつつ、学習とスケールが容易だと報告しています。チェックポイントは公開され、参照コードは PyTorch、JAX、MLX で動作します。

オンデバイス視覚における AIMv2 の意義

VLM の性能は視覚エンコーダで決まります。AIMv2 はシンプルな学習レシピと複数解像度のエンコーダ群を提供し、スマートフォン級のバックボーンには 0.3B、文書中心のタスクには 2.7B ネイティブ解像度版を選べます。FastVLM は独自の FastViTHD を使いますが、自作のマルチモーダルモデルには AIMv2 が汎用的な選択肢です。

Transformers で画像埋め込みを抽出

Hugging Face のチェックポイントは AutoModel と trust_remote_code で読み込めます。トークン特徴を平均プーリングすると画像ごとに1つのベクトルが得られ、類似検索、クラスタリング、小規模分類器の入力に使えます。

Python · transformers
from PIL import Image
from transformers import AutoImageProcessor, AutoModel

model_id = "apple/aimv2-large-patch14-224"   # 0.3B; also 224/336/448, -native and -lit variants
processor = AutoImageProcessor.from_pretrained(model_id)
model = AutoModel.from_pretrained(model_id, trust_remote_code=True).eval()

inputs = processor(images=Image.open("photo.jpg").convert("RGB"), return_tensors="pt")
features = model(**inputs).last_hidden_state      # (1, tokens, hidden)
embedding = features.mean(dim=1)                  # one pooled vector per image

Apple Silicon での MLX

公式 ml-aim パッケージは MLX バックエンドで同じチェックポイントを提供し、CUDA のない Mac で試す最速の方法です。正確な API はインストールしたリリースの README を確認してください。

MLX · official package
pip install "git+https://github.com/apple/ml-aim.git#subdirectory=aim-v2"

# Python
from aim.v2.utils import load_pretrained
model = load_pretrained("aimv2-large-patch14-224", backend="mlx")   # or "torch" / "jax"

AIMv2・MobileCLIP2・SigLIP の違い

MobileCLIP2 は遅延最適化された対照学習の画像テキストモデルで、スマートフォンでのゼロショット分類や検索(本サイトのブラウザツールも)に向きます。SigLIP は多くの VLM 内部で使われる対照学習エンコーダです。AIMv2 は生成目的とより大きなサイズでエンコーダの役割を担い、独自 VLM を学習する際に微調整すべきモデルです。

よくある質問

AIMv2 はブラウザで動きますか?

確認時点で維持されている Transformers.js 移植版はありません。本サイトのブラウザ類似度ツールは MobileCLIP-S0 を使用します。AIMv2 は Python か MLX からの利用が最適です。

どのサイズから始めるべき?

aimv2-large-patch14-224(0.3B)が実用的な既定です。文字の多い画像には 336/448 px やネイティブ解像度版、計算資源に余裕がある場合のみ 1.2B〜2.7B を検討してください。