SmolVLM / SmolVLM2(VLM バックボーン)
Hugging Face の小型 Vision-Language Model 系列。siglip Vision Encoder と LLaMA 系の小型言語デコーダ(SmolLM2)を組み合わせ、画像・言語を統合したマルチモーダル表現を出力する。smolvla の VLM バックボーン(“System2” 相当)として中核を担う。
アーキテクチャ(SmolVLA 内での構成)
- Vision Encoder (siglip): 画像
[1,3,384,384]→[1,729,1152](27×27 パッチ) - Multi-Modal Projector:
[1,729,1152]→[1,729,1536](SmolVLM 隠れ次元 1536 へ投影) - embed_prefix: 画像 729 + 言語 ~50 + 状態 1 トークンを結合 →
[1,~780,1536] - VLM 本体(LLaMA 系, SmolVLA では 16 層): → hidden_states
[1,~780,1536]
SmolVLA では計算削減のため前半 N=L/2 層のみ使うレイヤースキップを採用。元の SmolVLM2-500M-Video-Instruct は 32 層構成。
内部解析で判明した位置情報の流れ
smolvla-position-generalization の実験で、物体位置を変えた 2 画像に対する内部表現を層ごとに比較した(cosine similarity、小さいほど差が大きい):
| 観点 | SmolVLM2(VLA 訓練前) | SmolVLA(VLA 訓練後) |
|---|---|---|
| Attention Layer 0 | 0.9307(最大の差を検出) | — |
| Hidden State(最終) | 0.9788(希薄だが差あり) | 1.0000(差なし) |
| 位置検出能力 | 初期層では有 | なし |
重要な発見: 位置情報は Layer 0 で「検出」されているが、後続層を通るうちに希薄化し、最終 hidden state ではほぼ消える。SmolVLA(凍結 fine-tune 後)では完全消失。問題は「検出」ではなく「伝達」であり、LoRA/PEFT で VLM を効率的に fine-tune し後続層での情報保持を改善するのが最推奨とされた。質問応答テストでも、SmolVLM2 単体は位置の異なる 2 画像にほぼ同一の回答を返し、位置を言語化できていなかった。
関連
- siglip / smolvla
- smolvla-position-generalization
- bert / transformer / attention-mechanism
- _moc-ml-robotics(ml-robotics クラスタの atomic ノート群)