banner

ニュース

May 28, 2023

Google DeepMind のゲーム

AI によって生成されたアルゴリズムは、すでに何百万もの開発者によって使用されています。

DeepMind による基礎的なコンピューター サイエンスにおける一連の発見は続いています。 昨年、同社はゲームプレイ AI AlphaZero のバージョンを使用して、さまざまな種類のコードの中心となる重要な数学部分の計算を高速化する新しい方法を見つけ、50 年前の記録を破りました。

今度は同じトリックを再び 2 回実行しました。 AlphaDev と呼ばれる AlphaZero の新バージョンを使用して、英国に本拠を置くこの企業 (4 月に姉妹会社の AI ラボと合併した後、最近 Google DeepMind に社名変更しました) は、既存の最良のものよりも最大 70% 速くリスト内の項目を並べ替える方法を発見しました。方法。

また、暗号化に使用される鍵アルゴリズムを 30% 高速化する方法も発見しました。 これらのアルゴリズムは、ソフトウェアの最も一般的な構成要素の 1 つです。 小さなスピードアップが大きな違いを生み、コストを削減し、エネルギーを節約することができます。

AlphaZero の新しいバージョンは、日常の何千ものコンピューター タスクに影響を与えるコンピューティングの中核問題である行列の乗算をより高速に行う方法を発見しました。

Google DeepMindの研究科学者ダニエル・マンコウィッツ氏は、「ムーアの法則は終わりに近づいており、チップは基本的な物理的限界に近づきつつある」と語る。 「私たちはコンピューティングを最適化する新しい革新的な方法を見つける必要があります。」

「これは興味深い新しいアプローチです」と、ドイツのカールスルーエ工科大学で効率的なアルゴリズムの設計と実装を研究しているが、この研究には関与していないピーター・サンダース氏は言う。 「ソートは今でもコンピューティングで最も広く使用されているサブルーチンの 1 つです」と彼は言います。

DeepMind は本日、その結果を Nature 誌に発表しました。 しかし、AlphaDev が発見した技術は、すでに何百万ものソフトウェア開発者によって使用されています。 2022 年 1 月、DeepMind は、世界で最も人気のあるプログラミング言語の 1 つである C++ を管理する組織に新しい並べ替えアルゴリズムを提出し、2 か月にわたる独立した厳格な審査を経て、AlphaDev のアルゴリズムが言語に追加されました。 これは、C++ の並べ替えアルゴリズムに対する 10 年以上ぶりの変更であり、AI を使用して発見されたアルゴリズムを含む初めての更新でした。

DeepMind は、C++ を使用してコーディングする誰もが使用できる、事前に作成された C++ アルゴリズムのオープンソース コレクションである Abseil に、他の新しいアルゴリズムを追加しました。 これらの暗号化アルゴリズムは、あらゆる種類のデータの一意の ID として使用できるハッシュと呼ばれる数値を計算します。 DeepMind は、その新しいアルゴリズムが現在 1 日に何兆回も使用されていると推定しています。

AlphaDev は、囲碁やチェスなどのゲームをマスターするために DeepMind が訓練した強化学習モデルである AlphaZero の上に構築されています。 DeepMind の画期的な点は、より高速なアルゴリズムを見つけるという問題をゲームとして扱い、AI に勝たせることでした。これは昨年の研究で計算を高速化するために使用したのと同じ方法です。

AlphaDev の場合、ゲームにはコンピューター命令を選択し、結果として得られるコード行がアルゴリズムを構成するように順序付けすることが含まれます。 アルゴリズムが正しく、既存のアルゴリズムよりも高速であれば、AlphaDev が勝ちます。 簡単そうに聞こえますが、うまくプレイするには、AlphaDev は天文学的な数の可能な手を探索する必要があります。

DeepMind は、コンピュータ チップ上で数値を移動する方法について具体的な指示を与えるために使用できるプログラミング言語であるアセンブリを使用することを選択しました。 アセンブリで書く人間はほとんどいません。 これは、C++ などの言語で書かれたコードが実行前に翻訳される言語です。 アセンブリの利点は、アルゴリズムを細かいステップに分割できることです。これは、近道を探している場合の良い出発点です。

コンピューターのチップには、数字が挿入され処理されるさまざまなスロットがあります。 アセンブリには、スロット A にある番号をスロット B に移動するようにコンピューターに指示する mov(A,B) や、スロット A にある番号をスロット B に移動するようコンピューターに指示する cmp(A,B) など、これらのスロットの内容を操作するための基本的な命令が含まれています。スロット A にあるものは、スロット B にあるものより小さい、等しい、または大きい。このような命令の長いシーケンスによって、コンピューターが行うすべての処理を実行できます。

何十年にもわたって、プログラマーは重要なシステムを C および C++ で作成していました。 彼らは今、Rust に目を向けています。

AlphaDev は、構築中のアルゴリズムに新しいアセンブリ命令を追加することで、ゲーム内で手を動かします。 まず、AlphaDev は命令をランダムに追加し、実行されないアルゴリズムを生成します。 AlphaZero がボード ゲームでやったのと同じように、時間が経つにつれて、勝ち手を打つことを学びました。 実行するだけでなく、正しく高速なアルゴリズムを実現する命令が追加されました。

DeepMind は、3 ~ 5 項目の短いリストを並べ替えるアルゴリズムに焦点を当てました。 このようなアルゴリズムは、長いリストを並べ替えるプログラムで何度も呼び出されます。 したがって、これらの短いアルゴリズムの高速化は累積的な波及効果をもたらします。

しかし、短いアルゴリズムも人間によって何十年にもわたって研究され、最適化されてきました。 マンコウィッツと彼の同僚は、概念実証として 3 つの項目のリストを並べ替えるアルゴリズムから始めました。 人間が考案したこのアルゴリズムの最良のバージョンには、18 個の命令が含まれます。 彼らはそれを改善できるとは信じていませんでした。

「正直、これ以上の成果が得られるとは期待していませんでした」と彼は言います。 「しかし、驚いたことに、私たちはそれをなんとか高速化することができました。当初、これは間違いかバグか何かだと思いましたが、プログラムを分析したところ、AlphaDev が実際に何かを発見したことがわかりました。」

AlphaDev は、3 つの項目のリストを 18 命令ではなく 17 命令でソートする方法を発見しました。発見したのは、特定のステップをスキップできるということでした。 「後でそれを見たとき、『わあ、これは間違いなく理にかなっている』と思いました」とマンコウィッツ氏は言います。 「しかし、(AlphaDev なしで)このようなものを発見するには、アセンブリ言語の専門家が必要です。」

AlphaDev は、4 項目のリストを並べ替えるアルゴリズムの人間版に勝るものはありません。これには 28 命令が必要です。 しかし、5 つの項目で最高の人間版を上回り、命令の数が 46 から 42 に減りました。

これは大幅な高速化に相当します。 5 つの項目のリストをソートするための既存の C++ アルゴリズムは、一般的な Intel Skylake チップで約 6.91 ナノ秒かかりました。 AlphaDev の場合は 2.01 ナノ秒かかり、約 70% 高速になりました。

生物学者を驚かせてから 1 年後、AlphaFold は研究者の仕事のやり方を変え、DeepMind を新しい方向に導きました。

DeepMindは、AlphaDevの発見を、2016年のグランドマスター・イ・セドルとの囲碁対局におけるAlphaGoの奇妙だが勝利の一手と比較している。「専門家全員がこの手を見て、『これは正しいやり方ではない。これはひどい手だ』と言った」 」とマンコウィッツ氏は言う。 「しかし実際には、これは正しい行動でした。AlphaGo は最終的にゲームに勝つだけでなく、プロの囲碁プレーヤーが使い始めた戦略にも影響を与えることになりました。」

サンダース氏は感銘を受けているが、この結果を過大評価すべきではないと考えている。 「機械学習技術がプログラミングにおいてますます変革をもたらすものになっていることには私も同意します。AI がすぐに新しい、より優れたアルゴリズムを発明できるようになるだろうと誰もが期待しています。」と彼は言います。 「しかし、私たちはまだそこまで到達していません。」

まず、Sanders 氏は、AlphaDev はアセンブリで使用できる命令のサブセットのみを使用していると指摘しています。 既存の並べ替えアルゴリズムの多くは、AlphaDev が試行しなかった命令を使用していると彼は言います。 これにより、AlphaDev を競合他社の最良のアプローチと比較することが難しくなります。

AlphaDev には限界があるのは事実です。 生成された最長のアルゴリズムは、最大 5 つの項目のリストを並べ替えるための 130 命令長でした。 各ステップで、AlphaDev は 297 の可能なアセンブリ命令 (さらに多くの中から) を選択しました。 「297 の命令と 130 を超える命令の長さの組み立てゲームを超えると、学習が遅くなりました」とマンコウィッツ氏は言います。

それは、297 の命令 (またはゲームの動き) があっても、AlphaDev が構築できるアルゴリズムの数は、チェスの可能なゲーム数 (10120) や宇宙の原子の数 (約 1080) よりも大きいためです。

より長いアルゴリズムについては、チームは AlphaDev をアセンブリではなく C++ 命令で動作するように適応させることを計画しています。 あまりきめの細かい制御では、AlphaDev は特定のショートカットを見逃す可能性がありますが、このアプローチはより広範囲のアルゴリズムに適用できます。

サンダース氏はまた、特により長いアルゴリズムについて、人間が考案した最良のアプローチとのより徹底的な比較を確認したいと考えています。 DeepMindは、それが計画の一部であると述べている。 マンコウィッツ氏は、AlphaDev と人間が考案した最高の手法を組み合わせて、AI をゼロから始めるのではなく人間の直感に基づいて構築できるようにしたいと考えています。

結局のところ、さらなる高速化が見つかる可能性があります。 「人間がこれを行うには、これらのプログラムを調べて改善点​​を特定するには、かなりの専門知識と膨大な時間 (場合によっては数日、場合によっては数週間) が必要です」とマンコウィッツ氏は言います。 「結果として、それはこれまで試みられていませんでした。」

「これらの生物が私たちよりも賢くなるのではないかということで、突然考え方を切り替えました。」

ヒントン氏は水曜日に EmTech Digital で講演します。

ChatGPT は汎用人工知能に関する憶測を引き起こしました。 しかし、AI の次の本当の段階は、特定のドメインとコンテキストで行われることになります。

EmTech Digital でヒントンが MIT Technology Review の AI 上級編集者である Will Douglas Heaven と話す様子をご覧ください。

特別オファー、トップ記事、今後のイベントなどをご覧ください。

メールを送信していただきありがとうございます。

何か問題があったようです。

設定を保存できません。 このページを更新して、もう一度更新してみてください。 このメッセージが引き続き表示される場合は、受信を希望するニュースレターのリストを添えて、[email protected] までご連絡ください。

共有