AlphaCodeとの競技プログラミング

'AlphaCode競技プログラミング'

注意:このブログは2022年2月2日に最初に公開されました。2022年12月8日にScienceでの論文の発表に続いて、テキストを少し更新してこれを反映しました。

新しい問題の解決と競技プログラミングにおける新たなマイルストーンの設定

予測できない問題に対する解決策を作り出すことは、人間の知能にとっては当然のことです。これは経験に基づく批判的思考の結果です。機械学習コミュニティは、テキストデータの生成と理解において非常に進歩を遂げてきましたが、問題解決における進歩は比較的単純な数学やプログラミングの問題に限定されているか、既存の解決策の検索とコピーにとどまっています。

DeepMindの知能解決のミッションの一環として、我々はAlphaCodeというシステムを作成しました。AlphaCodeは競技レベルのコンピュータプログラムを自動生成することができます。AlphaCodeは、批判的思考、論理、アルゴリズム、コーディング、自然言語理解を組み合わせた新しい問題を解決することにより、プログラミング競技において参加者の上位54%にランクインすることができました。

Scienceの表紙に掲載された我々の論文では、AlphaCodeについて詳しく説明しています。AlphaCodeは、トランスフォーマーベースの言語モデルを使用して前例のないスケールでコードを生成し、その後有望なプログラムの小さなセットにスマートにフィルタリングします。

Codeforcesという人気のあるプラットフォームでホストされる競技を使用してパフォーマンスを検証しました。Codeforcesは定期的な競技を開催し、世界中から数万人の参加者が集まり、自分のコーディングスキルをテストします。我々は、トレーニングデータよりも新しい10の競技を評価するために選びました。AlphaCodeは、中央値の競技者とほぼ同じレベルまでランクインし、AIによるコード生成システムがプログラミング競技において競技レベルのパフォーマンスを達成した初めての例となりました。

我々の結果を他の人々が活用できるようにするために、競技プログラミングの問題と解決策のデータセットをGitHubで公開しました。このデータセットには、プログラムが正しいことを確認するための包括的なテストも含まれており、現在のデータセットに欠けている重要な機能です。このベンチマークが問題解決とコード生成のさらなるイノベーションにつながることを期待しています。

問題はCodeforcesからのものであり、解決策はAlphaCodeによって生成されました。

競技プログラミングは人気のある挑戦的な活動であり、何十万人ものプログラマーが経験を積み、楽しく協力的な方法で自分のスキルを披露するためにコーディング競技に参加しています。競技中、参加者は一連の長い問題の説明とそれらを解決するためのプログラムを書くための数時間を与えられます。

典型的な問題には、特定の制約内で道路や建物を配置する方法を見つけたり、カスタムボードゲームで勝つための戦略を作成したりすることが含まれます。参加者は主に解決した問題の数に基づいてランク付けされます。企業はこれらの競技を採用ツールとして使用し、ソフトウェアエンジニアの採用プロセスでも同様の問題が一般的です。

“AlphaCodeの結果は私の期待を上回るものであると安心して言えます。単純な競技問題でも、アルゴリズムを実装するだけでなく(これが最も困難な部分です)、アルゴリズムを発明する必要があることがしばしばあります。AlphaCodeは有望な新しい競技者と同等のレベルでパフォーマンスを発揮しました。未来にどんな進展があるかを楽しみにしています!” ‍ – Mike Mirzayanov, Codeforces創設者

これらの競技で優れた成績を収めるためには、既存のAIシステムでは対応できない問題解決能力が必要です。しかし、大規模なトランスフォーマーモデル(最近の研究でコード生成能力を示している)と大規模なサンプリングとフィルタリングの進歩を組み合わせることで、解決できる問題の数が大幅に増えました。モデルは、選択されたパブリックGitHubコードで事前トレーニングし、比較的小さな競技プログラミングデータセットで微調整します。

評価時には、各問題に対して以前の研究よりも桁違いに多くのC++とPythonプログラムを生成します。その後、これらのソリューションをフィルタリング、クラスタリング、再ランキングして、外部評価のために10の候補プログラムの小さなセットに絞り込みます。この自動化されたシステムは、競技者がデバッグ、コンパイル、テストを通過し、最終的に提出するための試行錯誤のプロセスを置き換えます。

Codeforcesの許可を得て、我々はAlphaCodeを使用して最近の10の競技に参加したかのような状況をシミュレーションしました。競技プログラミングコミュニティの素晴らしい仕事により、以前に見た解決策を複製したり、関連するアルゴリズムを試したりするといったショートカットで問題を解決することはできません。代わりに、我々のモデルは新しい面白い解決策を作り出さなければなりません。

全体的に、AlphaCodeは競合他社とほぼ同じレベルでした。競技を勝ち抜くには程遠いですが、この結果はAIの問題解決能力の大きな飛躍を表しており、私たちの結果が競技プログラミングコミュニティにインスピレーションを与えることを願っています。

「競技プログラミングの問題を解くことは、人間にとって非常に困難なことです。それには優れたコーディングスキルと問題解決力が必要です。私は、AlphaCodeがこの領域で進歩を遂げることができ、モデルが文を理解し、コードを生成し、ランダムな探索をガイドして解決策を作り出す方法に興奮しました。」‍ – Petr Mitrichev, ソフトウェアエンジニア, Google & 世界クラスの競技プログラマー

人類の助けとなるためには、人工知能システムは問題解決能力を開発できる必要があります。AlphaCodeは実世界のプログラミング競技で上位54%にランクインし、批判的思考を必要とするタスクにおけるディープラーニングモデルの可能性を示す進歩を遂げました。これらのモデルは現代の機械学習を洗練させ、問題の解決策をコードとして表現するために、数十年前のAIの象徴的な推論のルートに回帰しています。そしてこれはまだ始まりに過ぎません。

コード生成の探求は改善の余地が非常に大きく、現在コードを書かない人々にもフィールドを開放するためのさらにエキサイティングなアイデアのヒントを示しています。私たちはこの探求を続け、さらなる研究がプログラミングを向上させるためのツールを生み出し、問題解決型のAIに一歩近づけることを願っています。

AlphaCodeの解決策を見ると、モデルをalphacode.deepmind.comで探索できます。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI研究

このAI論文は、MITが化学研究のために深層学習モデルのスケーリングを探究しています

MITの研究者は、化学のための生成的事前トレーニングモデル(ChemGPT)とグラフニューラルネットワークフォースフィールド(G...

機械学習

T5 テキストからテキストへのトランスフォーマー(パート2)

BERT [5] の提案により、自然言語処理(NLP)のための転移学習手法の普及がもたらされましたインターネット上での未ラベル化...

AI研究

Google DeepMindとYouTubeの研究者は、Lyriaという高度なAI音楽生成モデルを発表しました

最近の発表では、GoogleのDeepMindがYouTubeとの協力のもと、芸術的表現の風景を変えるであろう音楽生成モデルLyriaを発表し...

機械学習

AIにおける音の革命に備えよう 2023年は生成音波の年です

前年は、コンピュータビジョン(CV)および自然言語処理(NLP)に集中した作業量が大幅に増加しました。そのため、世界中の学...

機械学習

このAI論文は、「テキストに基づくローカライズされた3Dオブジェクトの編集のための事前学習済みNeRFと編集可能なNeRFを組み合わせたBlending-NeRF」を提案しています

3Dイメージ合成および関連する技術は、絵画、製品デザイン、アニメーションなど、様々な産業に大きな影響を与えています。Neu...

機械学習

Together AIがLlama-2-7B-32K-Instructを発表:拡張コンテキスト言語処理の大きな進歩

自然言語処理の広大な領域において、多面的な課題が生じています。それは、複雑で長大な指示を適切に理解し、応答する能力で...