DeepMindがAIベースのコンピュータプログラム作成システム「AlphaCode」を開発し、競技プログラミングコンテストへの参加をシミュレートしたところ、同システムはコンテスト参加者の54%以内の順位に相当する成績を収めた。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
DeepMindは2022年2月2日(英国時間)、AIベースのコンピュータプログラム作成システム「AlphaCode」を開発し、競技プログラミングコンテストへの参加をシミュレートしたところ、同システムはコンテスト参加者の54%以内の順位に相当する成績を収めたと発表した。
こうしたコード生成システムが競技プログラミングコンテストで人間と張り合えるレベルに達した初の例だとしている。
AlphaCodeはこのシミュレーションで、クリティカルシンキング、ロジック、アルゴリズム、コーディング、自然言語理解などを組み合わせた新しい問題を解決した。AlphaCodeは、トランスフォーマーベースの言語モデルを使用して膨大なコードを生成し、それらを賢くフィルタリングして、有望なプログラムの小さなセットを抽出するものであり、DeepMindは、このシステムを解説した論文のプレプリントを公開している。
競技プログラミングコンテストでは、参加者は一連の長い問題文を受け取り、それを解決するプログラムを数時間で作成する。
典型的な問題は、一定の制約の中で道路や建物を配置する方法を求めたり、カスタムボードゲームに勝つための戦略を立てたりするといったものだ。参加者は主に、問題をどれだけ解いたかで順位付けされる。企業はこうしたコンテストを採用ツールとして利用しており、ソフトウェアエンジニアの採用プロセスでも、同様の問題がよく出題される。
こうした競技プログラミングコンテストで優秀な成績を上げるために必要な問題解決能力は、既存のAIシステムの能力を超えている。だが、DeepMindは、大規模トランスフォーマーモデルの進歩と、大規模なサンプリングおよびフィルタリングを組み合わせることで、AIシステムが解決できる問題の数を大幅に増やすことに成功した。
DeepMindは、GitHubで公開されているコードを使って、AlphaCodeで使用するモデルを事前にトレーニングし、競技プログラミングの比較的小規模なデータセットで微調整した。AlphaCodeを評価する際は、同システムで膨大な量のC++およびPythonプログラムを作成し、それらをフィルタリング、クラスタリング、再ランク付けして、10個の候補プログラムを抽出。外部評価を受けるために提出した。
AlphaCodeの評価は、人気の競技プログラミングコンテストを運営するCodeforcesの許可を得て、最近開催された10のコンテストへの参加をシミュレートすることで行われた。その結果、AlphaCodeは、参加者の中央値程度の成績を収めた。
「優勝には程遠いものの、この成績は、AIの問題解決能力の飛躍的な向上を示すものだ。この成果が競技プログラミングコミュニティーに刺激を与えることを期待している」と、DeepMindは述べている。また、AIが人間を助けるには、AIシステムが問題解決能力を持つ必要があるが、この成果は、クリティカルシンキングを必要とするタスクに対するディープラーニングモデルの可能性も実証していると説明している。
DeepMindはこの評価結果を受けて、AlphaCodeの開発と評価に使用した競技プログラミングコンテストの問題と回答のデータセットをGitHubで公開している。
Codeforcesの創業者マイク・ミルザヤノフ氏は、「単純な競技問題でも、アルゴリズムを実装するだけでなく、発明することも要求されることが多い。AlphaCodeは私の期待を上回り、有望なコンテスト参加者に匹敵する成績を上げた」と評している。
DeepMindは、機械学習を利用したコード生成の研究をさらに進め、プログラマーの生産性向上の支援や、コーディングをしていない人々へのこの分野の開放につなげていきたいと述べている。
Copyright © ITmedia, Inc. All Rights Reserved.