コードを書けるAIがオープンソース化! Codex よりも優れた C 言語を書き、12 のプログラミング言語をマスターする

コードを書けるAIがオープンソース化! Codex よりも優れた C 言語を書き、12 のプログラミング言語をマスターする

Codex よりも優れた C 言語を記述できる AI コード生成モデルがオープンソース化されました。

最近、AI を使ってコードを書くことが非常に人気になってきており、その中で最も有名なのは OpenAI の Codex と DeepMind の AlphaCode です。

△ Codex に基づく Copilot

ただし、これら 2 つの AI モデルはどちらもオープンソースではありません。

AlphaCode はいくつかのテスト例のみを提供しますが、Codex は API のみを公開します。

この目的のために、CMU の複数の研究者が GPT-2 を使用して、オープンソースの PolyCoder と呼ばれる AI コード生成モデルを作成しました。

研究者によると、PolyCoder の最大パラメータ数は 27 億個 (Codex のパラメータ数は 120 億個) しかないものの、C 言語で記述された PolyCoder が生成するコードは Codex よりも優れているとのことです。

ここでの秘密は何でしょうか?

12のプログラミング言語のコードセットを学習

まず、PolyCoder の最大の特徴の 1 つでもあるトレーニング データセットを見てみましょう。

これまで、Codex や CodeParrot などの AI コード生成モデルは、主に Python 言語コードに基づいてトレーニングされていました。

たとえば、Codex の評価データセットの 1 つである HumanEval も、Python コード生成の効果を評価します。

対照的に、PolyCoder はトレーニングに合計 12 個のさまざまなプログラミング言語コード セットを使用します。

C、C#、C++、Go、Java、JavaScript、PHP、Python、Ruby、Rust、Scala、TypeScript。

その中で、C 言語のコード量が最も多く、221 GB に達しています。一方、Python コード データの量は、Codex や CodeParrot で使用される量よりも少ないです。

ここで、PolyCoder は GitHub 上の公開コードを使用し、主にさまざまなプログラミング言語で人気のあるライブラリを選択します。これらのライブラリにはそれぞれ少なくとも 50 個のスターがあります。

研究者によると、モデル生成コードが最も人気のあるプログラミング言語に偏りすぎるのを避けるため、各プログラミング言語ライブラリの星の総数は 25,000 を超えない (一般的に、プログラミング言語の人気が高いほど、ライブラリの星の数が多くなる)。

ライブラリからファイルを抽出し、簡単な処理(重複コードの削除を含む)を実行することで、合計約 254 GB のデータがトレーニング用に選別されました。

次に事前トレーニング方法があります。

言語モデルの事前トレーニングには通常 3 つの方法があります。

1 つ目は左から右への言語モデルで、前のテキストに基づいて次のテキストを予測し、コード生成などにより適しています。2 つ目はマスクされた言語モデルで、コンテキストに基づいてマスクされたフラグメントを予測し、コード分類などにより適しています。3 つ目はエンコーダー デコーダー モデルで、コード注釈などのタスクにより適しています。

ここで、PolyCoder は主に最初の事前トレーニング方法を採用します。

同じく GPT-2 でトレーニングされた CodeParrot や Codex と比較すると、PolyCoder ではハイパーパラメータ設定に若干の違いがあります。

PolyCoder は、それぞれ 27 億、4 億、1 億 6 千万のパラメータを持つ 3 つの異なるモデルを提供します。研究者は、自分のニーズとさまざまなトレーニング機能に応じて適切なモデルを選択できます。

では、最終的に学習したAIモデルのコード生成効果はどの程度なのでしょうか?

私は C を書くのは得意ですが、Python は得意ではありません。

研究者らは、PolyCoder を既存の AI コード生成モデルと比較しました。

AlphaCodeは比較が難しい(インターフェースがオープンではない)ため、研究者は主にGPT-Neo、CodeParrot、Codexなどのモデルを分析しました。

青いものはオープンソースで、オレンジ色のものはオープンソースではありません。

パラメータ数に関して言えば、PolyCoder は最高ではありません。27 億のパラメータを持つ最大のモデルは Codex の 4 分の 1 未満です。

研究者らはまず、言語モデルの評価に一般的に使用される困惑度測定基準を使用して、さまざまなモデルを比較しました。

困惑度は言語モデル (LM) の品質を測定するために使用されます。困惑度が低いほど、言語モデルがコードに関して混乱することが少なくなり、モデル生成効果が向上します。

図から、PolyCoder が予想外に C 言語で最高の結果 (最も混乱が少ない) を達成したことがわかります。

PolyCoder を大量の C 言語でトレーニングした結果、モデルの全体的な原理は変更せず (GPT-2 ベース)、トレーニングに使用するコード セットを変更するだけで、さまざまな言語スタイルに適した AI コード生成モデルをトレーニングできることがわかりました。

残念ながら、他の言語では、生成された結果は Codex とまったく比較になりません。

たとえば、主に Python コードの評価に使用される HumanEval では、PolyCoder の機能は Codex に比べてはるかに劣っています。

論文の分析によると、これは Python コード データとモデル パラメータが不十分なために発生した可能性があります。

さらに、著者らは、PolyCoder を作成した主な目的は、AI コード生成モデルをオープンソース化し、より多くの人が研究に参加して使用できるようにすることだとも述べています。

コードは現在オープンソースなので、直接使用したり、コードに基づいて新しいモデルを開発したりすることができます。

興味のある友人はぜひ試してみてください!

著者について

第一著者の Frank Xu 氏は現在 CMU の博士課程の学生です。彼の研究対象は NLP と情報抽出です。彼は ICLR、ACL、EMNLP などのトップ カンファレンスで多数の論文を発表しています。彼は上海交通大学で朱其立教授の指導の下、学士号と修士号を取得しました。

Uri Alon は CMU のポスドク研究員であり、プログラミング言語処理 (PLP)、NLP、ディープラーニングなどの研究を行っています。

Graham Neubig 氏は CMU の助教授です。彼の研究対象には、NLP、機械翻訳、機械学習に基づく自然言語理解などがあります。

Vincent J. Hellendoorn 氏は CMU のコンピュータ サイエンスの助教授です。彼の主な研究分野はソフトウェア エンジニアリングと機械学習です。彼は、ソフトウェア開発者がコードのデバッグやプログラムの最適化などの面倒な作業に費やす時間を削減できるように、インテリジェントな方法を使用することに尽力しています。

プロジェクトアドレス:

https://github.com/VHellendoorn/コード-LMs

論文の宛先:

https://arxiv.org/abs/2202.13169

<<:  上海交通大学が「人間行動理解エンジン」を発表:AIが超大作映画のあらゆる行動をフレームごとに理解

>>:  スマートビルディング技術のトレンド: 5つの将来のアイデアと例

ブログ    
ブログ    
ブログ    

推薦する

柔らかいロボットの進化:優しくて怖い

[[387359]] 30年以上前、エドワード・シザーハンズの「ナイフがなければ、君を守ることはでき...

ディープラーニングチップ研究の新潮流:処理の中核となるメモリ

[[186777]]過去 2 年間、機械学習、特にディープ ニューラル ネットワークのニーズを満たす...

Java プログラミング スキル - データ構造とアルゴリズム「分割統治アルゴリズム」

[[398991]]アルゴリズムの紹介分割統治アルゴリズムは非常に重要です。文字通りの説明は「分割...

エッジ AI がインダストリー 4.0 の成果を推進する方法

物理的な世界を中心としたこれまでの産業革命とは異なり、第 4 次産業革命によって導入されたデジタル要...

初心者必読!畳み込みニューラルネットワークの始め方

畳み込みニューラル ネットワークは、ディープ ニューラル ネットワークの中で非常に人気のあるネットワ...

言語学における人工知能技術の応用

1990年代初頭、中国の著名な学者である周海中氏は、人工知能技術がさまざまな分野で広く使用され、予想...

...

...

...

AIとコンテキスト脅威インテリジェンスが防衛戦略を変革

企業がサイバーセキュリティに対するプロアクティブなアプローチである脅威露出管理を導入するケースが増え...

クラウドベースのAIモバイルアプリケーションは今後も成長し、改善され続けるだろう

近年、モバイルラーニングと人工知能は、人々が機械と連携する方法に大きな影響を与えており、個々の顧客に...

アナリスト:生成AIは過大評価されており、関連業界は2024年に「冷え込む」と予想されている

分析機関CCSインサイトは10日、来年には生成AI分野が現実の試練に直面する可能性があるとの予測を発...

エッジAIはテクノロジー業界に大きな変化をもたらしている

近年、人工知能 (AI) の出現により、私たちの産業や個人の生活は真に革命的な変化を遂げ、これまでに...

AdobeなどがAIを活用しアニメキャラクターのポーズ移行を実現する新タイプの「パペットアニメーション」を提案

人形アニメーションの制作は、クリエイターの手描きに頼るアニメーションと比べると、非常に手間のかかる作...