コードを書ける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つの将来のアイデアと例

ブログ    
ブログ    

推薦する

舌先にAI

世界中の食べ物は、まさに世界の花火のボウルに過ぎません。人工知能は、新しい技術科学として、日常生活に...

清華大学唐傑チーム: NLP事前トレーニングモデルの歴史の簡単な紹介

[[422829]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

IoTと農業: コネクティビティが農業をどう変えるのか

インダストリー 4.0 はよく知られたアイデアですが、アグリカルチャー 4.0 はあまり知られていな...

...

Action Bagelは人工知能技術を組み合わせてインテリジェントな分析エンジンを作成します

[51CTO.com からのオリジナル記事] インターネットの継続的な更新と反復により、ネットワーク...

...

インテリジェントな自動運転のための6つの主流の自動車用チップとソリューション

[[441000]]本稿では、既存のデータに基づいて、国内の主流自動運転車チップ企業6社の自動運転...

2023 年のテクノロジー業界の最高、最悪、そして最も醜い出来事

翻訳者 | ジン・ヤンレビュー | Chonglou 2023 年はテクノロジー業界にとってエキサイ...

...

Nvidiaのアルゴリズムが破られ、RTX30シリーズはマイニング計算能力を100%回復:グラフィックカードの値下げは終わったのか?

GPUマイニングで米国証券取引委員会から罰金を科されたNvidiaは、最近、暗号化アルゴリズムが解...

...

人工知能はメタバースのビジョンの実現に役立つでしょうか?

現在、メタバースの分野は、誇大宣伝と新規プロジェクトの立ち上げ数の点で急速に成長しており、業界の市場...

「怠け者の経済」は、消費者向け家電製品のインテリジェント制御を主流に促進するでしょうか?

 新たな住宅消費トレンドが出現[[342344]] 90年代以降の世代である荘さんは、仕事から帰宅...

あなたの脳と音楽ストリーミングは直接つながっているのでしょうか?ニューラリンクの脳コンピューターインターフェースが来月発売予定

ヘッドホンは必要なく、脳コンピューターインターフェースを通じて直接音楽を聴くことができ、体内のホルモ...