AlphaCodeとの競技プログラミング
'AlphaCode競技プログラミング'
注意:このブログは2022年2月2日に最初に公開されました。2022年12月8日にScienceでの論文の発表に続いて、テキストを少し更新してこれを反映しました。
新しい問題の解決と競技プログラミングにおける新たなマイルストーンの設定
予測できない問題に対する解決策を作り出すことは、人間の知能にとっては当然のことです。これは経験に基づく批判的思考の結果です。機械学習コミュニティは、テキストデータの生成と理解において非常に進歩を遂げてきましたが、問題解決における進歩は比較的単純な数学やプログラミングの問題に限定されているか、既存の解決策の検索とコピーにとどまっています。
DeepMindの知能解決のミッションの一環として、我々はAlphaCodeというシステムを作成しました。AlphaCodeは競技レベルのコンピュータプログラムを自動生成することができます。AlphaCodeは、批判的思考、論理、アルゴリズム、コーディング、自然言語理解を組み合わせた新しい問題を解決することにより、プログラミング競技において参加者の上位54%にランクインすることができました。
Scienceの表紙に掲載された我々の論文では、AlphaCodeについて詳しく説明しています。AlphaCodeは、トランスフォーマーベースの言語モデルを使用して前例のないスケールでコードを生成し、その後有望なプログラムの小さなセットにスマートにフィルタリングします。
- AIに人間の価値観をどのように組み込むことができるのでしょうか?
- DeepMindの最新研究(ICLR 2023)
- あなたのオープンソースのLLMプロジェクトはどれくらいリスクがあるのでしょうか?新たな研究がオープンソースのLLMに関連するリスク要因を説明しています
Codeforcesという人気のあるプラットフォームでホストされる競技を使用してパフォーマンスを検証しました。Codeforcesは定期的な競技を開催し、世界中から数万人の参加者が集まり、自分のコーディングスキルをテストします。我々は、トレーニングデータよりも新しい10の競技を評価するために選びました。AlphaCodeは、中央値の競技者とほぼ同じレベルまでランクインし、AIによるコード生成システムがプログラミング競技において競技レベルのパフォーマンスを達成した初めての例となりました。
我々の結果を他の人々が活用できるようにするために、競技プログラミングの問題と解決策のデータセットをGitHubで公開しました。このデータセットには、プログラムが正しいことを確認するための包括的なテストも含まれており、現在のデータセットに欠けている重要な機能です。このベンチマークが問題解決とコード生成のさらなるイノベーションにつながることを期待しています。
競技プログラミングは人気のある挑戦的な活動であり、何十万人ものプログラマーが経験を積み、楽しく協力的な方法で自分のスキルを披露するためにコーディング競技に参加しています。競技中、参加者は一連の長い問題の説明とそれらを解決するためのプログラムを書くための数時間を与えられます。
典型的な問題には、特定の制約内で道路や建物を配置する方法を見つけたり、カスタムボードゲームで勝つための戦略を作成したりすることが含まれます。参加者は主に解決した問題の数に基づいてランク付けされます。企業はこれらの競技を採用ツールとして使用し、ソフトウェアエンジニアの採用プロセスでも同様の問題が一般的です。
“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!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- このAI研究は、大規模言語モデル(LLM)における合成的な人格特性を説明しています
- HuggingFace Researchが紹介するLEDITS:DDPM Inversionと強化された意味的なガイダンスを活用したリアルイメージ編集の次なる進化
- MITの科学者たちは、生物学の研究のためのAIモデルを生成できるシステムを構築しました
- Covid-19への闘いを加速する:研究者がAIによって生成された抗ウイルス薬を検証し、将来の危機における迅速な薬剤開発の道を開拓
- 新しいGoogle AI研究では、ペアワイズランキングプロンプティング(PRP)という新しい技術を使用して、LLMの負担を大幅に軽減することを提案しています
- トロント大学の研究者たちは、3300万以上の細胞リポジトリ上で生成事前学習トランスフォーマーに基づいたシングルセル生物学のための基礎モデルであるscGPTを紹介しました
- ウィスコンシン大学とバイトダンスの研究者は、PanoHeadを紹介しますこれは、単一のビュー画像のみでビュー一貫性のあるフルヘッド画像を合成する、初の3D GANフレームワークです