AlphaCode がリリースされました! 「AlphaGo」のプログラミング版が静かに競争し、プログラマーの半数を破る

AlphaCode がリリースされました! 「AlphaGo」のプログラミング版が静かに競争し、プログラマーの半数を破る

本日、DeepMind の「Alpha」ファミリーに新しいメンバーが加わりました。

プログラミング競技の問題が解けるAlphaCodeが登場!

実際、AlphaCode は数か月前に「ひっそりと村に入り込んで」いたが、誰もそれに気づかなかった。

有名なウェブサイト Codeforces が最近開催した 10 回のプログラミング コンテストにひっそりと参加し、そのパフォーマンスは人間の半分を上回りました。

DeepMind が最終結果を発表したのは今日になってからだった。AlphaCode は Elo スコア 1238 で、これら 10 ゲームの上位 54.3% にランクインした。

さらに重要なのは、アルゴリズムの創造性をテストするプログラミング コンテストにおいて、AI がついに劣っていないことです。これはまさに、これまでの AI に欠けていたものです。

このスコアを過去 6 か月間全体で見ると、AlphaCode のパフォーマンスはさらに優れており、わずか 10 週間の質問でユーザーの上位 28% のレベルに達しています。

Codeforces は、ロシアのプログラマー Mikhail Mirzayanov によって設立されたプログラミング コンテストの Web サイトで、週に 1 回程度「Codeforces Rounds」と呼ばれるプログラミング コンテストを開催しています。

Codeforces の Elo スコアは、プログラマーのプログラミング レベルを測定できます。

△ Codeforces 創設者 ミハイル・ミルザヤノフ

AlphaCode の結果を見て、創設者のミルザヤノフ氏も驚きました。

プログラミングコンテストではアルゴリズムを考案する能力が最も難しいため、彼はもともと AI に対して懐疑的でした。しかし、予想外に、AlphaCode の結果は彼の期待を完全に上回りました。

DeepMindがこのメッセージを公開してからわずか半日で、Twitter上で2,000回以上リツイートされ、5,000回以上「いいね!」されました。

AlphaCodeのプログラミング方法

ここまで述べてきましたが、AlphaCode がどのようにして「プログラミング試験受験者」になったのかを見てみましょう。

Codeforces の 1553D の問題は次のとおりです。

(リンク: https://codeforces.com/problemset/problem/1553/D)

文字列は s と t の 2 つあり、どちらも小文字で構成されています。文字列 s の場合、文字列全体を前から後ろへスキャンします。

Backspace キーを押すと、カーソルから削除されていない最後の文字までのすべての文字が削除されます。

たとえば、文字列 s が「abcbd」の場合、それぞれ 1 番目と 4 番目の位置で Backspace キーを押すと、文字列「bd」が表示されます。

最初のカーソル位置の前に文字がないため、最初はアクションは発生しません。 4 番目のカーソル位置の前の文字は c で、削除されていない前の文字は a なので、Backspace キーを押すと最初の 3 文字「bd」が削除されます。

さて、ここで質問です。

文字列 s を前から後ろまでスキャンして、 s を t に変更できますか?はいの場合は YES を出力し、そうでない場合は NO を出力します。

AlphaCode によって与えられたコードは次のとおりです。

 t = int(入力())
iが範囲内(t)の場合:
s = 入力()
t = 入力()
a=[]
b=[]
s 内の j の場合:
a.append(j)
j が t の場合:
b.append(j)
a.reverse()
b.リバース()
c=[]
len(b)!=0かつlen(a)!=0の場合:
a[0]==b[0]の場合:
c.append(b.pop(0))
a.pop(0)
a[0]!=b[0]かつlen(a)!=1の場合:
a.pop(0)
a.pop(0)
a[0]!=b[0]かつlen(a)==1の場合:
a.pop(0)
len(b)==0の場合:
印刷("はい")
それ以外:
印刷("いいえ")

上記のプログラムに 4 セットの文字列を入力します。

 4
アババ

アババ
bb
ああ
ああ
アババ
アババ

出力は次のようになります。

はい
いいえ
いいえ
はい

ここで、AlphaCode はもはやブラック ボックスではありません。

問題が正常に解決されるだけでなく、コードの対応する場所と強調表示された領域も表示されます。

あるネットユーザーはこう言った。「AIはこんなに注意深く見ることができるのだから、コードの後に​​コメントを追加できるともっと良いだろう。」

その他の事例については、AlphaCode の Web サイトをご覧ください。

原理

DeepMindは、Codeforcesコンテストで求められる問題解決能力は既存のAIシステムの能力を超えていると述べた。

AlphaCode モデルのプロセス全体は次のとおりです。

  1. 標準の言語モデリング目標を使用して、GitHub で Transformer ベースの言語モデルを事前トレーニングします。このモデルは、人間が書いたコードの空間を適切に表現し、問題の検索空間を大幅に削減します。
  2. 競技プログラミング データセットでモデルを微調整し、GOLD とテンパリングをトレーニング目標として使用して、検索空間をさらに縮小し、事前トレーニングを使用して競技プログラミング データの少量を補います。
  3. 各問題に対してモデルから非常に多数のサンプルを生成します。
  4. サンプルはフィルタリングされ、インスタンス テストとクラスタリングを活用してプログラムの動作に基づいてサンプルを選択し、非表示のテスト ケースで評価される候補の送信の小さなセット (最大 10 個) が取得されます。

要約すると、大規模な Transformer モデルと大規模なサンプリングおよびフィルタリングを組み合わせることで、DeepMind は解決できる問題の数において、以前の研究よりも桁違いに多くの進歩を遂げました。

試験問題を練習する人は反対する

Codeforces の創設者が言ったように、アルゴリズムを発明することがプログラミングの問題の中で最も難しい部分です。

世界的なプログラミングコンテストのウェブサイトで常に上位にランクされている Google エンジニアの Petr Mitrichev 氏は、次のように述べています。

プログラミング競技の問題を解くのは非常に難しいことです。問題解決には、優れたコーディング スキルと人間の創造性の両方が必要です。

AlphaCode は最初のプログラミング ツールではありません。Codex と GitHub Copilot はどちらも印象的な印象を与えています。

しかし、DeepMind は AlphaCode が以前のものとは大きく異なると考えています。

最近の大規模言語モデルは、コード生成において優れた能力を発揮しており、単純なプログラミングタスクを実行できるようになりました。しかし、これらのモデルは、命令をコードに変換する以上の問題解決スキルを必要とする、より複雑で目に見えない問題で評価すると、依然としてパフォーマンスが低下します。

Twitterとはまったく対照的に、Codeforcesの専門家はより抵抗力があります。

あるプログラマーはこう考えました。「この AI は本当に初心者だ。」

AlphaCode の得点は学生レベルに相当する 1238 ポイントのみであるため、情報オリンピックに参加する中学生でもこのレベルに到達できます。

DeepMind は AlphaCode が人間を支援することを目的としていると主張しているが、一部のプログラマーは懸念し始めている。

今では問題解決の世界さえも AI に奪われてしまいました。本来はプログラマー同士が学び合う場でした。AI は適切なタイミングで立ち止まり、プログラマーのために清らかな土地を残すべきです。


<<:  機械知能に取って代わられない5つのスキル

>>:  実は不滅なんです!冬季オリンピックの水中聖火リレーはロボットでどのように行われたのでしょうか?どのようなハイテク技術が使われたのでしょうか?

ブログ    

推薦する

チップ大手がCESで新年の幕開けを飾る戦いを繰り広げる! AMD、インテル、NVIDIA、クアルコムの衝撃的な対決

毎年恒例のテクノロジー業界のオープニングショー「CES」が現在、米国ラスベガスで開催されています。 ...

パフォーマンスが20%向上しました! USTCの「状態シーケンス周波数領域予測」手法:学習サンプル効率の最大化の特徴

強化学習 (RL) アルゴリズムのトレーニング プロセスでは、サポートとして環境との相互作用のサンプ...

AIは、DevOps開発者が新世代のランサムウェアに対抗するために不可欠である

Android オペレーティング システムを含むすべての主要なオペレーティング システムにおいて、人...

Oracle データベース初期化パラメータの分析: システム構成を最適化するための究極のガイド!

Oracle データベースでは、初期化パラメータは非常に重要な構成項目であり、データベースのパフォ...

...

...

NumPy ダイアグラム、配列を視覚的に理解するためのチュートリアル

NumPy パッケージは、Python エコシステムにおけるデータ分析、機械学習、科学計算の主力です...

人工知能とロボットが医療業界を「支配」していますが、あなたは安心していますか?

人間社会が発展するにつれて、知性は新たな生産要素になりました。近年、人工知能産業の発展は爆発的な成長...

ドバイ、街頭にロボット警察を配備へ

ロシア・トゥデイTVのウェブサイトは20日、UAE当局者の発言を引用し、UAE初のロボット警察が今年...

DES、3DES、AES、PBE対称暗号化アルゴリズムの実装と応用

[[272601]] 1. 対称暗号化アルゴリズムの概要対称暗号化アルゴリズムは、成熟した技術を備...

ナレッジグラフはどのようにして「人工知能」をよりスマートにするのでしょうか?

この記事では、人工知能がインテリジェントでない領域と、ナレッジ グラフに基づく認知知能がインテリジェ...

ベイジアンディープラーニングと大規模ベースモデルの融合: 効率的で説明可能な AI のための戦略

人工知能 (AI) には、コンピューターサイエンス、数学、統計、心理学、生物学など、複数の学問分野が...

NYU のポスドクが、arXiv に 30 分遅れて論文を提出したというだけで ACL に拒否されたのですか?学者たちは憤慨し、ACLに二度と投票しないと誓う

ACL は国民を怒らせた!今朝、この投稿のせいで AI コミュニティ全体が騒然となった——ニューヨー...

フランス企業が世界初のAIスマートミラーを発売。ユーザーの感情を認識し、ストレスを軽減できる

1月8日、CES 2024の期間中、フランスのスマートヘルステクノロジー企業Baracodaが世界初...