論文紹介:Agent Skill Acquisition for Large Language Models via CycleQD
はじめに
本記事では「Agent Skill Acquisition for Large Language Models via CycleQD」を紹介します。複数スキルの獲得・統合の課題となりがちだったデータ混合比や目的関数の設計を回避しつつ、最適化する進化的手法が CycleQD です。
TL;DR
- MAP-Elites (QD, Quality Diversity) をタスクを交代しながら回す:各世代ごとに最適化するタスク(Quality)と Behavior Characteristics(BC)を入れ替える。
- モデルマージによる交叉と特異値分解を利用した摂動による変異で、専門モデルの技能を合成・外挿する。
- コーディング / OS操作 / DBクエリ生成の3つのタスクの平均で GPT-3.5-turbo 並の性能(Llama3-8B-Instruct ベース)。
MAP-Elites

MAP Eliteは進化的に複数のタスクで優れた性能を示す個体を作る手法です。
- タスクを Qualityと Behavior Characteristicsの 2 種類に分ける
- Quality:目的のタスク
- Behavior Characteristics:なるべく性能が高いほうがうれしいタスク
- Quality および BC のタスクについて用意した各個体の評価を行う
- BC のスコアをグリッドに区切り、各グリッドに該当する個体の中で最も Quality が高い個体をエリートとして配置する
- 交叉と変異により次の世代の個体の集合を得る。2 に戻り、各タスクについての評価を行う。
CycleQD のコアアイデア
Quality/BC の交互最適化

ベースは MAP-Elites です。ただし、MAP-Elites では Quality 用のタスクと BC 用のタスクは固定されていました。
CycleQD では各タスクを Quality と BC の両方に用います。例えば 1 世代目で OS 操作を Quality とし、コーディングと DB クエリ生成を BC としたとします。次の第 2 世代ではコーディングを Quality として他2つを BC にして扱い、続く第 3 世代では DB クエリ生成を Quality として同様に最適化します。
これにより各世代ではそれぞれ 1 つの Quality タスクでのみ最適化が進むことになるため、バランスを取るためのタスク間の重み付けを行う必要がなく、データの混合比や目的関数の調整は不要となります。
交叉
各世代で優れた個体同士でパラメータを混ぜ合わせるを行います。この過程は以下の2つのステップからなります。
- どの個体を親として用いるかの選択(エリートサンプリング)
- モデルマージによるパラメータの混合
1のエリートサンプリングについて
詳細は省きますが、各タスクでの正規化スコアを計算してそれらの積が高いほど高い確率で選択されます。1つのタスクでだけ高いスコアを持つ個体よりも全てのタスクでまんべんなくそこそこのスコアを持っている個体のほうが選択されやすくなるイメージです。
2のモデルマージについて
タスクベクトルを
特異値分解を利用した変異の導入
タスクベクトル各行列を特異値分解し、主成分方向に沿って摂動を与えることで変異を導入しています。ランダム摂動より過学習しにくく、親の凸包外への外挿を促進しつつランダム摂動より過学習を起こしにくいとのこと。
個人的には NN ベースのモデルに対する実用的な変異の導入方法としてこの論文の面白いポイントだと思っています。
実験・結果
実験条件
- タスク:Coding(MBPP+)、OS 操作、DB クエリ生成。指標は pass@1 / 成功率。
- ベースモデル:Llama3-8B-Instruct をベースに、各タスクのエキスパートを SFT で用意。
- 総世代数:1200 世代。
主要な結果
-
平均で GPT-3.5-turbo 並み:ベースとなったLlama3-8B-Instruct を超える性能
-
エキスパートや ファインチューニング を上回る傾向、他のマージ手法よりも高いスコアを示している。また、全てのタスクのデータを混合してファインチューニングを行うよりも高いスコアともなっている。
-
Ablation Study の結果:
- 交代最適化の導入だけで MAP-Elites より改善。
- ランダム摂動では性能がわずかに劣化、特異値分解による変異では改善。
- 親の選択はランダムサンプリングよりエリートサンプリングがよい。
-
1200世代後のアーカイブの様子

グリッド上にどのように個体が分布していたかを示す図です。赤枠が最初に用意したエキスパートが置かれていたグリッドで、そこから広範囲に分布範囲を拡げたことがわかります。
Segment Anything Model への拡張
Segment Anything Model(SAM)でも CycleQD を検証し、LLM 以外の領域でも CycleQD を適用可能であることを示した。ただし、モデル類似度の低いエキスパート間では良い性能が出ていない。
考察・まとめ
- 交互最適化 × モデルマージ × 特異値分解による変異という組み合わせで、複数スキルを自然に統合。
- タスク指標を直接最適化し、1 タスクずつ交代で最適化を行うため、設計の複雑さを減らせる。
- QD により多様性が担保される。
- 注意すべき点:評価コスト、BC グリッド設計、マージ係数設計や外挿の安定性などは実装上の考慮点。
Discussion