初めに
こんにちは、AIエンジニアを目指しているmitaです!
今回は
VisCodex: Vision-Language–Code Models by Merging Architectures
という、マルチモーダルモデル×コード生成モデルを“モデルマージ”で統合し、視覚理解とコード生成の両立を図った研究を要約&考察していきます。
キャッチアップした内容を共有していくので、何かしらの形でお役に立てれば光栄です!
論文要約
- VisCodexは、VLMの言語バックボーンに、コード特化LLMのタスクベクトルを線形結合で注入し、再学習なしに両能力を両立させる手法を提案。
- 視覚側は固定し、言語バックボーンのみを対象にマージ→SFT。視覚のグラウンディングを保ちつつコード能力を上乗せするのがポイント。
- 主結果:VisCodex-8Bは同規模OSモデルを上回りGPT-4o-miniも超える平均68.8、VisCodex-33Bは平均72.3で**GPT-4o(73.3)**に迫る。UI/チャート系で特に強い。
論文の詳細
研究背景
- 典型的なMLLMは Vision Encoder/Projection/Language Backbone の三構成。Qwen2.5-VLはViT内の2D RoPEで任意解像度に頑健、空間関係の保持に強い。VisCodexの基盤に採用。
- しかしLLMバックボーンを置換すると、既に学んだ視覚グラウンディングが崩れる課題がある。そこでモデルマージでコード能力を“加算”し、視覚理解を保つ。
VisCodexとは
VisCodexは以下の二段構えで設計される。
1. Model Merging(モデルマージ)
- タスクベクトル:
τ_task = θ_ft − θ_base
を用意し、VLM用 τ_vlm と Code LLM用 τ_code を言語バックボーン上で線形合成(Vision/Projectionは固定)。 - 実装:VLMはQwen2.5-VL、コード側はOpenCodeReasoning-Nemotron-1.1-7B/32Bを主に使用(他にQwen2.5-Coder、OpenThinker2も比較)。
- 係数 λ:8BではMMCodeで選定し0.7、33Bは0.85(資源制約)を採用。
2. Model Training(SFT)
- マージ後、MCDでSFT。Vision/Projectionは凍結し、言語バックボーンのみ更新。
3. InfiBench-V(評価基準)
- 画像が不可欠な実世界のプログラミングQAをStackOverflowから厳選。100万→4万→画像必須10k→専門家の手で322問に精選(13言語、5カテゴリ)。:contentReference[oaicite:19]{index=19}
- 評価はKeyword Matching/Unit Test/GPT-4o Judgeの三本柱で、正確性と完全性をスコア化。:contentReference[oaicite:20]{index=20}
実験結果
- 主結果(平均):VisCodex-8B 68.8、VisCodex-33B 72.3、GPT-4o 73.3、GPT-4o-mini 65.7。UI/Chartで特に強い(Design2Codeで90.1/90.9(8B), 90.5/91.1(33B))。
- マージの有効性(Ablation):8BでMMCode pass@1: 6.8→11.0, ChartMimic 73.4→74.8 など、全指標で一貫して改善。
- 置換 vs マージ:LLMバックボーンの置換は視覚グラウンディングを壊しやすいが、マージは視覚理解を保ったままコード能力を付与できる。{index=24}
- MCDの優位性:Design2Codeにおける低/高次評価でWeb2Code・WebCode2Mを上回る(例:Block-Match 89.6)。
モデルマージとは
すでに学習済みの複数モデルの重み(パラメータ)を結合して、新しい能力を持つモデルを得る手法です。追加の大規模再学習を行わず、**既存モデルの強みを“足し合わせる”**のが狙いです。
VLM(Vision-Langage Model)とは
画像(“Vision”)とテキスト(“Language”)を同時に扱える生成モデルの総称です。画像を理解してテキストを生成したり、テキスト指示に従って画像内容を推論したりできます。
個人的感想
論文解釈
本研究はQwen2.5-VLというマルチモーダルモデルと、OpenCodeReasoning-Nemotron-1.1というコード生成に特化したテキスト専用のユニモデルをマージすることによって、画像を読み解きコードを生成することに強みを持つVisCodexというモデルを提案している。
GPT-4oなどもマルチモーダルモデルであり、VisCodexはそれらと比較されている。
軽量モデルであるGPT-4o-miniに対しては性能が勝っているため、この分野の研究が進めばより性能の高いモデルが生まれる可能性がある。
考察(感想)
本論文での最大の学びは、モデルマージという手法の有効性です。これは既存の学習済みモデル同士の重みを合成して性能を底上げする方法で、他の研究でも広く使われています。発想としては、分野特化モデルをいくつも組み合わせれば AGI に近づけるのでは、という期待が持てます。
ただし現実にはハードルが高い。モデルマージには“同一アーキテクチャ”が事実上の前提で、少なくとも次が一致している必要があります。
- 層の数・順序・残差や正規化の位置
- 各層の形状(d_model、ヘッド数/次元、FFN中間次元、Bias 有無 など)
- Attention 方式(MHA/MQA/GQA)、位置埋め込み(RoPE/ALiBi)と設定
- 語彙サイズと埋め込み/LM Head の形状、特殊トークンの扱い
- パラメータのキー(state_dict 名)や保存/並列化の形式、dtype/量子化
要は、「層の数が同じ」「各層のパラメータ形状が同じ」「層間のつながりが同じ」「語彙サイズが同じ」 といった条件が揃っていないと、重みが足し算できません。
これらは設計(ハイパーパラメータ)で揃えられるとはいえ、別チーム/別企業のモデルと合わせるには詳細な情報共有が不可欠で、現実的ではありません。結果として実務では、同じベースモデルを使い、用途の異なる微調整モデル同士をマージする運用に寄りがちです。すると、他者の新規モデルから知見を直接取り込むスピードと幅が制限されます。モデルマージだけで AGI を目指すのは難しいというのが今の所感です。
そこで次の選択肢として、蒸留(異なるアーキ間でも教師の挙動を生徒に移す)に注目しています。今後は、異種モデル間の統合を可能にする蒸留系の論文を読み進めます。