13日前

MarianCG:機械翻訳にインスパイアされたコード生成Transformerモデル

{Samir I. Shaheen, Mayada M. Hadhoud, Ahmed S. Soliman}
要約

コンピュータが自らプログラムを構築できるという考え方は極めて重要であり、多くの研究者がこの課題に取り組んでいます。コード生成とは、自然言語による要件を満たす実行可能コードを直接コンピュータで実行できる形で生成するプロセスとして定義されます。これは開発者が新しいソフトウェア技術やプログラミング言語を学ぶ手助けとなる可能性がある一方で、自然言語による記述を通じてコーディングを支援するシンプルな手法としても注目されています。本論文では、自然言語の記述からPythonコードを生成するというコード生成課題に取り組むためのTransformerモデル「MarianCG」を提案します。本研究の自然言語からコードへの翻訳エンジンの基盤として、マイクロソフト翻訳のコアモデルであるMarianニューラル機械翻訳(NMT)を採用しており、これは教育モデルの中心となる教師モデルとして機能しています。MarianMTは、本研究における教師言語モデルとして用いられ、最も成功した機械翻訳Transformerの一つです。本手法では、テキスト内の各トークンの位置を表現するためにサイン波型の位置埋め込み(sinusoidal positional embedding)を用い、層正規化(layer normalization)を導入しない設計を採用しています。提案するコード生成アプローチであるMarianCGは、機械翻訳事前学習済み言語モデルのファインチューニングに基づいています。これにより、事前学習された翻訳モデルがコード生成モデルとしても有効に機能できることを示しました。CoNaLaおよびDJANGOデータセット上で訓練された場合、提案モデルは最近の最先端モデルを上回る性能を発揮しました。CoNaLaデータセットにおいて、MarianCGはBLEUスコア34.43および正確一致精度(exact match accuracy)10.2%を達成しました。また、DJANGOデータセットではBLEUスコア90.41および正確一致精度81.83%を記録しました。MarianCGモデルの実装および関連リソースは、https://www.github.com/AhmedSSoliman/MarianCG-NL-to-Code にて公開されています。