新たなオープンソースのAIコード生成モデル「PolyCoder」–カーネギーメロン大
今回は「新たなオープンソースのAIコード生成モデル「PolyCoder」–カーネギーメロン大」についてご紹介します。
関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
複数のプログラミング言語を用いて訓練された自動コード生成モデル「PolyCoder」をカーネギーメロン大学(CMU)のリサーチャーが公開している。このモデルは特にC言語でのコード生成に長けているという。
リサーチャーは、人工知能(AI)を用いたコード生成という分野の研究が、オープンソースのPolyCoderによって民主化されていくことに期待している。この分野の研究はこれまでのところ、Alphabet傘下のDeepMindやOpenAIといった、豊富な資金力を有する企業によるものが主流となっている。
今回発表された論文には、「コード分野における大規模な言語モデル(LM)では最近、自然言語による記述からコードの補完や合成を実行するという処理において、大きな可能性が示されている。しかし、コード分野における現時点での最先端のLM(中略)は一般利用が可能となっておらず、それらのモデルやデータ設計の決定に多くの疑問点が残されたままとなっている」と書かれている。
リサーチャーは、2021年8月に披露された「OpenAI Codex」が、Microsoft傘下のGitHubによって提供されている「GitHub Copilot」ツールを介して利用されていると指摘しつつも、モデルの出力に対する「アクセスが無料ではない」上、ブラックボックスとなっているAPI呼び出しを通じるようになっており、モデルの重み付けや訓練データが公開されていないとしている。
自動コード生成の背後には、その出力が正確であり、セキュリティ面での脆弱性を作り込まないという前提の下、開発者の生産性を向上できるという考えがある。DeepMindは、最近発表したコード生成システム「AlphaCode」に、人間の参加する競技プログラミングの問題を解かせたところ、上位54.3%の位置に付ける成績を残したとしている。しかし、モデルの訓練にはGoogleのデータセンターで「ペタFLOPS規模の処理を数百日も実行する」必要があったという。
リサーチャーは、「コード分野における大規模LMは大きな成功を収めているにもかかわらず、最も強力なモデルは一般公開されていない」とした上で、「その結果、リソースの豊富な企業以外ではこういったモデルの応用ができず、リソースの少ない組織ではこの分野の研究が制限されている」と指摘している。
リサーチャーはこの問題を解決するため、複数のプログラミング言語によってコードの訓練を実行する、「PolyCoder」と名付けた独自のモデルを作成している。
「GPT-2アーキテクチャーに基づき、27億のパラメーターを有した新たなモデルPolyCoderをリリースする。このモデルは単一マシン上で、12種類のプログラミング言語を網羅した249GBのコードで訓練された。PolyCoderはプログラミング言語Cにおいて、Codexを含むすべてのモデルをしのぐ性能を発揮している」と説明されている。
このモデルの訓練は、GitHubの複数のリポジトリーから取得した12種類の一般的なプログラミング言語(C、C#、C++、Go、Java、JavaScript、PHP、Python、Ruby、Rust、Scala、TypeScript)のデータによって実行された。データセットの総量はフィルター前で3890万ファイル、631GBに達したという。また、予算の制約を考慮し、モデルのアーキテクチャーにGPT-2が選択された。
リサーチャーは、「特筆すべきは、PolyCoderがC言語で、Codexをはじめとするその他すべてのモデルよりも優れた成績を上げているという点にある。オープンソースモデルのみで比較した場合、PolyCoderは同程度の規模の『GPT-Neo 2.7B』よりも、C、JavaScript、Rust、Scala、TypeScriptで優れた成果を上げている」としている。
「C言語以外の11言語では、われわれのモデルを含むすべてのオープンソースモデルが、Codexよりも著しく劣る結果(より大きなパープレキシティー)を示している」