表示
超・人工知能研究所 Super AI Research Lab トップへ超・人工知能研究所AI Research Lab / ぱそ太郎工事中

since
平成38年9月29日

← 検索結果に戻る

コード生成の学習用回答を関数単位で改良するAMR-Evol

AMR-Evol

保存した記事を見るこのブラウザに保存します。無料会員で端末間の同期・フォルダ整理
原論文の図

AMR-Evolの原論文から掲載した図です。細部はクリックして拡大できます。

原論文の図の説明を読む

Figure 1: Direct distillation from the teacher model possibly yields low quality responses for complex tasks, thereby causing confusion within the student model.

出典:AMR-Evol / arXiv ↗

概要

  • AMR-Evolは、直接生成した回答コードを関数に分け、検証済み関数を参考にして改良する。
  • 著者らの表1では、deepseek-coder-6.7b-baseを使う複雑度1のHumanEval-Plus通過率が、Directの46.3に対して49.4だった。
  • 生成テストの妥当性と社内課題への適合は、導入前に別途検証が必要である。
補足:編集した模式図で仕組みを確認する

VISUAL EXPLAINER

図でつかむ、AMR-Evolの仕組み

左から右へ読む
  1. 01課題文と直接生成コード
  2. 02機能別に分解
  3. 03検証済み関数を検索
  4. 04回答コードを改良

原論文の説明をもとにした模式図です。処理の細部は省略しています。

研究の背景

AMR-Evolは、コード生成モデルの学習に使う回答コードを関数単位で改良する手法だ。知識蒸留とは、教師モデルが作った課題文と回答の組で、生徒モデルを学習させる方法を指す。回答に誤りがあれば、学習用データの品質に影響する。

著者らによると、複雑な課題を教師モデルに一度で解かせると、回答が要件から外れたり、論理的に誤ったりしうる。課題文の複雑さを上げるだけでなく、対応する回答の品質も確かめる必要がある。

手法

まず教師モデルに課題文から回答コードを作らせ、その両方を使って必要な処理を小さな関数へ分ける。たとえば一覧を集計する課題なら、入力確認と集計を別の機能として考える。これは手順を説明する例であり、論文の実験課題ではない。

次に各関数を意味の近さを比べられる数値列に変換し、蓄積済みの検証済み関数を検索する。近い関数を参考例として教師モデルに渡し、課題への回答コードを改良する。新たな関数は教師モデルが作る単体テストを通過すれば蓄積し、改良後の回答と課題文の組で生徒モデルを学習させる。

新規性

AMR-Evolの提案点は、教師モデルが作った課題文への回答コードを、関数単位で改良することにある。直接生成した回答を出発点に、機能別の分解と、検証済み関数の検索を組み合わせる。

関数の蓄積先は、新しい関数も追加できる。既存の関数と大きく異なるものは、教師モデルが作る単体テストで検証してから登録する。ただし、そのテストだけであらゆる要件を確認できるとは示されていない。

従来手法との違い

Directは、教師モデルが課題文から回答コードを直接生成し、その組で生徒モデルを学習させる。比較対象のCoTは回答までの段階的な説明を加え、AnsRepairは生成したテストに失敗した回答を教師モデルに修正させる。

AMR-Evolは、回答を関数に分け、蓄積済みの関数を参考例として渡してから改良する。表1では多くの条件で比較手法を上回るが、単独首位でない条件もある。複雑度2のHumanEvalでは、AMR-EvolとAnsRepairがともに56.1だった。

実験結果

著者らはMBPP訓練データの一部から約1万件の課題文を作り、複雑度を3段階に拡張した。教師はgpt-3.5-turbo-1106、生徒はdeepseek-coder-6.7b-baseとCodeLlama-7b-hf。HumanEval、MBPP、両者のテストケースを増やしたEvalPlus版について、貪欲デコードでのテスト通過率を報告した。

表1のdeepseek-coder-6.7b-base、複雑度1では、DirectとAMR-Evolの通過率はHumanEval-Plusで46.3と49.4、MBPP-Plusで54.1と58.1だった。一方、表3の同条件のMBPPでは、適応的な改良工程を除く構成が69.4で、全工程の68.7を上回った。

応用の可能性

編集上の応用案 · 論文が実証した用途とは区別しています。

編集上の応用案:社内のデータ変換関数を提案する開発支援に使う。入力は、利用を認められた既存コードから作る課題文、期待する入出力例、検証済みの関数とその単体テストとする。出力は、開発者が確認する候補コードである。

課題文と正解例を用意し、教師モデルの直接回答をAMR-Evolで改良して、生徒モデルの学習用データにする。学習に使わない課題で候補を確認する。社内の命名規則や例外処理への適合、実際の改善幅は、この用途では未検証である。

応用先の候補からNauhに相談できます。

導入時の検証

導入時の検証案 · 対象データでの再評価が必要です。

導入時の検証案:対象を一種類の社内データ変換に絞り、利用可能な既存コード、課題文、期待出力、境界値を含む正解テストを開発者が用意する。既存関数は単体テストで確かめて検索対象に登録する。追加する関数も、生成テストと用意した正解テストの両方で確認する。

同じ教師・生徒モデル、課題数、学習条件で、直接生成した回答を使う場合とAMR-Evolで改良した回答を使う場合を比べる。学習に使わない課題でテスト通過率を測り、要件違反と誤った関数の再利用も記録する。社内の処理規則への適応は、この結果を見て判断する。

限界と課題

著者らは、複雑な課題への直接回答には、要件からのずれや論理的な誤りが生じうると述べる。また、各複雑度から120問を選んだ人手評価では、どの比較手法も完全に正しい回答には達していない。

編集上の検証事項は、検索した関数が細かな要件に合うか、教師モデルが作った単体テストが境界値や例外を捉えるか、誤った関数が蓄積・再利用されないかである。社内コードへの適用成績や運用費用は、確認できた本文の範囲では示されていない。

応用先の候補
研究内容と応用案に基づく分類です。業界での導入実績を示すものではありません。

出典

元のタイトル・要旨を確認する(英語)

AMR-Evol: Adaptive Modular Response Evolution Elicits Better Knowledge Distillation for Large Language Models in Code Generation

The impressive performance of proprietary LLMs like GPT4 in code generation has led to a trend to replicate these capabilities in open-source models through knowledge distillation (e.g. Code Evol-Instruct). However, these efforts often neglect the crucial aspect of response quality, relying heavily on teacher models for direct response distillation. This paradigm, especially for complex instructions, can degrade the quality of synthesized data, compromising the knowledge distillation process. To this end, our study introduces the Adaptive Modular Response Evolution (AMR-Evol) framework, which employs a two-stage process to refine response distillation. The first stage, modular decomposition, breaks down the direct response into more manageable sub-modules. The second stage, adaptive response evolution, automatically evolves the response with the related function modules. Our experiments with three popular code benchmarks (HumanEval, MBPP, and EvalPlus) attest to the superiority of the AMR-Evol framework over baseline response distillation methods. By comparing with the open-source Code LLMs trained on a similar scale of data, we observed performance enhancements: more than +3.0 points on HumanEval-Plus and +1.0 points on MBPP-Plus, which underscores the effectiveness of our framework. Our codes are available at https://github.com/ChiYeungLaw/AMR-Evol.

論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。解説更新:2026-10-01