見出し画像

ジェフリー・ヒントン | イリヤのAIチューター 才能と直感がすでに今日の大規模AIモデルを生み出している

イングランドの研究施設では、6時になるとみんなでパブに飲みに行くのですが、カーネギーメロン大学では、私が赴任して数週間後の土曜の夜のことでした。まだ友達もおらず何をすればいいかわからなかったので、研究室に行ってプログラミングをすることにしました。リストマシンがあって、自宅からプログラミングができなかったからです。土曜の夜9時頃に研究室に行くと、学生たちでごった返していました。彼らは皆、自分たちが取り組んでいることが未来だと信じていたのです。次に彼らがすることがコンピューターサイエンスの流れを変えると信じていました。イングランドとはまったく違っていて、とても新鮮でした。
ジェフ、最初の頃に戻って、ケンブリッジで脳を理解しようとしていた頃のことを教えてください。どんな感じでしたか。
それはとてもがっかりする経験でした。生理学を学んでいて、夏学期に脳の仕組みを教えてくれるはずだったのですが、教えてくれたのは神経細胞がどのように活動電位を伝導するかということだけでした。それはとても興味深いのですが、脳がどのように働くかを教えてくれるわけではありません。そこで非常に失望し、哲学に転向しました。心がどのように働くかを教えてくれるのではないかと思ったのです。それもとてもがっかりするものでした。最終的にエジンバラ大学に行ってAIを学ぶことになりました。そこではより興味深いものでした。少なくともシミュレーションができたので、理論を検証することができました。
AIに興味を持ったきっかけを覚えていますか。論文か、それとも誰か特定の人物があなたにそのアイデアを紹介したのでしょうか。
ドナルド・ヘブの本を読んだことが大きな影響を与えたと思います。彼は神経ネットワークの結合強度をどのように学習するかにとても興味を持っていました。また、早い段階でジョン・フォン・ノイマンの本も読みました。彼は脳がどのように計算を行い、通常のコンピューターとどのように異なるかにとても興味を持っていました。
その時点で、これらのアイデアがうまくいくという確信を得ましたか。それとも、エジンバラ時代の直感はどのようなものでしたか。
脳が学習する方法があるはずだと思いました。明らかに、あらゆるものがプログラムされていて、それを論理的な推論規則を使って利用するというのは、最初から私には馬鹿げているように思えました。そこで、脳が複雑なことができるように、神経ネットワークの結合を修正する方法を見つけ出す必要がありました。フォン・ノイマンもチューリングもそう信じていました。フォン・ノイマンもチューリングも論理にはとても長けていましたが、この論理的アプローチを信じてはいませんでした。
神経科学からの研究と、AIにとって良さそうなアルゴリズムを作ることの間で、どのくらいの割合で取り組んでいましたか。初期の頃、どの程度神経科学からインスピレーションを得ていましたか。
神経科学の研究をそれほど多くしたことはありません。常に脳の働きについて学んだことにインスピレーションを受けていました。脳には多くのニューロンがあり、比較的単純な操作を行い、非線形です。しかし、入力を集め、それに重みをつけ、その重み付けされた入力に基づいて出力を与えます。問題は、全体として良いことをするために、どのようにそれらの重みを変更するかということです。かなり単純な質問のように思えます。
その時期の共同研究で覚えているものはありますか。
カーネギーメロンでの主な共同研究は、実はカーネギーメロンにいない人とのものでした。ボルティモアのジョンズ・ホプキンス大学にいたテリー・セジノフスキーとよく交流していました。月に1回くらい、彼がピッツバーグに来るか、私がボルティモアに行くかして、250マイル離れた場所で週末を一緒に過ごし、ボルツマンマシンについて研究しました。素晴らしい共同研究でした。私たちは両方とも、それが脳の働き方だと確信していました。これまでで最も刺激的な研究でした。多くの興味深い技術的な結果が得られましたが、今では脳の働き方ではないと思っています。
また、ピーター・ブラウンとの素晴らしい共同研究もありました。彼は非常に優秀な統計学者で、IBMで音声認識の研究をしていました。その後、より成熟した学生としてカーネギーメロン大学に来て、博士号を取得しました。しかし、彼はすでに多くのことを知っていました。彼から音声について多くのことを学びました。実際、隠れマルコフモデルについても彼から教わりました。彼から学んだことの方が私が彼に教えたことよりも多かったと思います。そういう学生が欲しいものです。彼が隠れマルコフモデルについて教えてくれたとき、私は隠れ層を持つバックプロパゲーションをやっていました。ただし、当時はまだ隠れ層とは呼ばれていませんでした。隠れマルコフモデルで使われている「隠れ」という名前が、何をしているかわからない変数にぴったりだと思いました。そこで、ニューラルネットの隠れ層という名前が生まれたのです。私とピーターは、ニューラルネットの隠れ層にはこの名前がぴったりだと決めました。ピーターから音声について多くのことを学びました。
イリヤがあなたのオフィスに現れた時のことを教えてください。
オフィスにいました。たぶん日曜日だったと思います。プログラミングをしていたと思います。すると、ドアをノックする音がしました。普通のノックではなく、かなり急いでいるような感じのノックでした。ドアを開けると、若い学生がいました。彼は夏の間フライドポテトを作っていたけど、私の研究室で働きたいと言いました。そこで、アポイントを取って話し合いましょうと言いました。すると彼は「今はどうですか」と言いました。それがイリヤの性格でした。少し話をして、バックプロパゲーションに関するネイチャーの論文を読むように渡しました。1週間後に再び会う約束をしました。彼は戻ってきて「理解できませんでした」と言いました。私はとてもがっかりしました。彼は賢そうな人に見えたのに、連鎖律だけなのに、そんなに難しくないはずだと思いました。すると彼は「いや、いや、それは理解しました。ただ、なぜ勾配を賢明な関数オプティマイザーに与えないのかがわかりません」と言いました。それについて考えるのに何年もかかりました。イリヤとはずっとそんな感じでした。彼の生の直感はいつもとても良かったです。
イリヤのそういった直感を可能にしたものは何だと思いますか。
わかりません。彼はいつも自分で考えていたと思います。若い頃からAIに興味を持っていました。明らかに数学が得意でした。でも、それがなぜなのかを知るのは非常に難しいです。
あなたとイリヤの共同研究はどのようなものでしたか。あなたはどのような役割を果たし、イリヤはどのような役割を果たしていましたか。
とても楽しかったです。データのマップを作る複雑なことをしようとしていたときのことを覚えています。私は一種の混合モデルを持っていて、同じ類似性の束から2つのマップを作ることができました。一つのマップでは「bank」を「greed」に近づけ、別のマップでは「bank」を「river」に近づけることができました。一つのマップでは両方に近づけることはできません。なぜなら「river」と「greed」は遠く離れているからです。そこで、混合マップを使いました。MATLABでやっていて、正しい行列の掛け算をするためにコードを大幅に再構成する必要がありました。
イリヤはそれに飽きてしまい、ある日やってきて「MATLABのインターフェースを書くつもりです。この別の言語でプログラムを書いて、それをMATLABに変換するものを作ります」と言いました。私は「ダメだよ、イリヤ。それには1ヶ月かかるよ。このプロジェクトを進めなきゃいけないんだ。そんなことに気を取られちゃダメだ」と言いました。すると彼は「大丈夫です。今朝やりました」と言いました。それはかなり信じられないことでした。
その何年もの間、最大の変化はアルゴリズムだけではなく、スキルも変化しました。長年にわたってそのスキルをどのように見ていましたか。
イリヤはその直感を非常に早い段階で得ていました。イリヤはいつも「ただ大きくすれば、より良く機能するようになる」と説いていました。私はいつも、それは少し逃げ道のように思えました。新しいアイデアも必要だと思っていました。結果的に、私は基本的に正しかったのです。トランスフォーマーのような新しいアイデアは大いに役立ちました。しかし、本当に重要だったのはデータの規模と計算の規模でした。
当時、私たちはコンピューターが10億倍も速くなるとは全く想像していませんでした。せいぜい100倍くらいになると思っていました。私たちは賢いアイデアを思いつくことで問題を解決しようとしていましたが、データと計算の規模が大きくなれば、それらの問題は自然に解決されていたでしょう。
2011年頃、イリヤと別の大学院生のジェームズ・マーティンズと私で、文字レベルの予測を使った論文を書きました。ウィキペディアを取り上げ、次のHTML文字を予測しようとしました。それは驚くほどうまくいきました。私たちはそれがどれほどうまくいったかにいつも驚いていました。それはGPUを使った高度なオプティマイザーを使っていました。それが何かを理解しているとは信じられませんでしたが、理解しているように見えました。それはただ信じられないことでした。
現在のモデルが次の単語を予測するように訓練される方法について説明してください。そして、なぜそれが間違った考え方なのでしょうか。
実際、私はそれが間違った方法だとは思っていません。実は、埋め込みとバックプロパゲーションを使用した最初のニューラル言語モデルを作ったのは私だと思います。非常にシンプルなデータで、単に3つ組のデータでした。各シンボルを埋め込みに変換し、その埋め込みを相互作用させて次のシンボルの埋め込みを予測し、そこから次のシンボルを予測します。そして、そのプロセス全体を通してバックプロパゲーションを行い、これらの3つ組を学習しました。それが一般化できることを示しました。
約10年後、ヨシュア・ベンジオが非常に似たネットワークを使用し、実際のテキストでそれが機能することを示しました。そしてさらに約10年後、言語学者たちが埋め込みを信じ始めました。それは遅いプロセスでした。
次のシンボルを予測しているだけではないと思う理由は、次のシンボルを予測するには何が必要かを考えると、特に質問をされて答えの最初の単語が次のシンボルである場合、質問を理解する必要があるからです。次のシンボルを予測することで、昔ながらの自動補完とは非常に異なります。昔ながらの自動補完は、単語の3つ組のようなものを保存し、2つの単語のペアを保存した場合、3番目にどの単語が来るかを頻度で見て、そうやって次のシンボルを予測します。ほとんどの人が自動補完はそのようなものだと考えています。
しかし、今はまったくそうではありません。次のシンボルを予測するためには、これまでに言われたことを理解する必要があります。次のシンボルを予測させることで、理解することを強制していると思います。そして、その理解の仕方は私たちとかなり似ていると思います。
多くの人がこれらのものは私たちとは違うと言うでしょう。ただ次のシンボルを予測しているだけで、私たちのように推論しているわけではないと。しかし実際には、次のシンボルを予測するためには、ある程度の推論をする必要があります。そして今、大規模なモデルを作ると、推論のための特別な仕組みを組み込まなくても、すでにある程度の推論ができることがわかっています。そして、さらに大きくすれば、より多くの推論ができるようになると思います。
今の私が次のシンボルを予測する以外のことをしていると思いますか。
それがあなたの学習方法だと思います。次のビデオフレームを予測したり、次の音を予測したりしていると思います。しかし、それは脳がどのように学習しているかについての非常にもっともらしい理論だと思います。
これらのモデルがこれほど幅広い分野を学習できるのは何が可能にしているのでしょうか。
これらの大規模言語モデルが行っているのは、共通の構造を探すことです。共通の構造を見つけることで、その共通の構造を使って物事をエンコードすることができ、それがより効率的です。例を挙げましょう。
GPT-4に「なぜコンポストヒープと原子爆弾は似ているのか」と聞いてみてください。ほとんどの人はそれに答えられません。ほとんどの人は原子爆弾とコンポストヒープはまったく違うものだと考えています。しかしGPT-4は、エネルギーの規模も時間の規模も非常に異なりますが、共通しているのは、コンポストヒープが熱くなるとより速く熱を生成し、原子爆弾がより多くの中性子を生成するとより速く中性子を生成するということだと教えてくれるでしょう。そして、それらがどちらも連鎖反応の一形態であることを理解しているのです。
そのような理解を使って、すべての情報を重みに圧縮しているのだと信じています。そしてそうしているなら、私たちがまだ気づいていない類似点を何百も見つけ出しているはずです。そこから創造性が生まれるのです。一見まったく異なるものの間に類似点を見出すことから。そのため、GPT-4は大きくなればなるほど、非常に創造的になると思います。
学習したことを単に再現しているだけ、学習したテキストをつなぎ合わせているだけだという考えは完全に間違っています。人間よりもさらに創造的になると思います。
これまでに人類が開発した知識を単に繰り返すだけでなく、それを超えて進歩する可能性があると主張されていますね。これは私たちがまだ完全には見ていないものですが、ある程度まではすでに例を見始めています。しかし、大部分においては、まだ現在の科学のレベルにとどまっています。それを超えることを可能にするものは何だと思いますか。
より限定的な文脈では、すでにそれを見ています。例えば、AlphaGoがイ・セドルとの有名な対戦で、37手目にAlphaGoが打った手は、すべての専門家が間違いに違いないと言った手でしたが、後になってそれが brilliant な手だったことがわかりました。つまり、その限られた領域内で創造性を発揮したのです。
これらのものがより大きくなるにつれて、そのようなことをもっと多く見ることになると思います。AlphaGoとの違いは、強化学習を使用していたことで、それによってその後、現在の状態を超えることができたということです。人間のプレイを観察する模倣学習から始まり、その後、自己対戦を通じてはるかに進化しました。
現在のAIに欠けているのはそれだと思いますか。
それが欠けている要素の一つかもしれませんね。AlphaGoやAlphaZeroの自己対戦は、これらの創造的な手を生み出せた大きな理由だと思います。しかし、それが完全に必要というわけではないと思います。
昔、私が行った小さな実験があります。手書き数字を認識するためのニューラルネットを訓練するときに、訓練データの半分の答えを間違えておくのです。そして、どれだけうまく学習できるかを問うのです。半分の答えを一度だけ間違えて、そのままにしておきます。そうすることで、同じ例を見て、時々正しい答えで、時々間違った答えで平均化することはできません。その例を見るとき、半分の例では答えが常に間違っています。
つまり、訓練データには50%のエラーがあるわけです。しかし、バックプロパゲーションで訓練すると、5%以下のエラーまで下がります。言い換えれば、ラベル付けの悪いデータからはるかに良い結果を得ることができるのです。訓練データが間違っていることを見抜き、そこから学習することができるのです。
これは、賢い学生がアドバイザーよりも賢くなれる理由です。アドバイザーが彼らにいろいろなことを教えますが、そのうちの半分について、彼らは「いや、それはおかしい」と考えます。そして残りの半分を聞いて、結果的にアドバイザーよりも賢くなるのです。
これらの大きなニューラルネットは実際にそれができます。訓練データよりもはるかに良い結果を出すことができるのです。ほとんどの人はそれに気づいていません。
これらのモデルに推論をどのように追加すると予想していますか。一つのアプローチは、現在多くの研究が行っているように、上にヒューリスティックを追加することです。例えば、思考の連鎖のように、その推論を自身にフィードバックします。もう一つの方法は、モデル自体の中で、規模を拡大していくにつれて推論能力を向上させることです。これについてのあなたの直感はどうですか。
私の直感では、これらのモデルの規模を拡大するにつれて、推論がより良くなると思います。人間がどのように機能するかを大まかに考えると、私たちには直感があり、推論を行うことができます。そして、その推論を使って直感を修正します。もちろん、推論の過程でも直感を使いますが、推論の結論が直感と矛盾する場合、直感を変える必要があることに気づきます。
これはAlphaGoやAlphaZeroでの評価関数に似ています。ボードを見て、それが自分にとってどれだけ良いかを判断する評価関数があります。しかし、モンテカルロロールアウトを行うと、より正確なアイデアが得られ、評価関数を修正することができます。
これらの大規模言語モデルも同じようなことを始める必要があると思います。推論を行い、それが正しくないと気づくことで、次に何が来るべきかについての生の直感を訓練する必要があります。そうすることで、単に人々が行ったことを模倣するだけでなく、より多くの訓練データを得ることができます。
これこそがまさに、AlphaGoがあの創造的な37手目を打つことができた理由です。推論を使って次の手が何であるべきかをチェックし、はるかに多くの訓練データを得ていたのです。
マルチモダリティについてはどう思いますか。私たちは類似点について話しましたが、しばしばその類似点は私たちが見ることができるものをはるかに超えています。人間が決して理解できないような抽象度でモデルは類似点を発見しているのかもしれません。ここで画像や動画、音声を導入すると、モデルがどのように変化すると思いますか。また、それによってモデルが見出せる類似点がどのように変化すると思いますか。
大きく変わると思います。例えば、空間的なものの理解がはるかに良くなると思います。言語だけでは空間的なものを理解するのは難しいですが、驚くべきことにGPT-4は、マルチモーダルになる前でもそれができました。
しかし、マルチモーダルにすると、視覚と物をつかむことの両方を行うことで、物体をより良く理解できるようになります。それらを拾い上げて回転させることができれば、なおさらです。
言語から非常に多くのことを学ぶことができますが、マルチモーダルの方が学びやすいのです。そうすると、実際にはあまり言語を必要としなくなります。次のフレームを予測するためのYouTubeの動画は膨大にあります。
そのため、これらのマルチモーダルモデルが明らかに主流になっていくと思います。そうすることでより多くのデータを得ることができ、言語をあまり必要としなくなります。言語だけからでも非常に良いモデルを学習できるという哲学的な点がありますが、マルチモーダルシステムから学習する方がはるかに簡単です。
モデルの推論にどのような影響を与えると思いますか。
例えば、空間に関する推論がはるかに良くなると思います。物を拾い上げたときに何が起こるかについての推論も良くなるでしょう。実際に物を拾い上げてみれば、そのための訓練データがたくさん得られるからです。
人間の脳は言語をうまく扱うように進化したと思いますか。それとも、言語が人間の脳とうまく機能するように進化したと思いますか。
言語が脳とうまく機能するように進化したのか、脳が言語とうまく機能するように進化したのかという質問は、非常に良い質問だと思います。両方が起こったと思います。
以前は、言語を必要とせずに多くの認知を行うことができると考えていました。今では少し考えが変わりました。言語と認知がどのように関係しているかについて、3つの異なる見解を紹介しましょう。
まず、古典的な象徴的な見方があります。これは、認知が一種の整理された論理的言語の中で曖昧さのない記号の文字列を持ち、推論規則を適用することから成り立っているというものです。つまり、認知はこれらの言語記号のような記号の操作に過ぎないという極端な見方です。
反対の極端な見方は、頭の中に入ると全てがベクトルになるというものです。記号が入ってきて、それらの記号を大きなベクトルに変換し、内部のすべての処理は大きなベクトルで行われます。そして出力を生成したい場合は、再び記号を生成します。
2014年頃、機械翻訳で人々がニューラルネットワーク、特に再帰型ニューラルネットワークを使い始めたときがありました。単語が次々と入力され、隠れ状態があり、その隠れ状態に情報を蓄積し続けます。文の終わりに到達したとき、その文の意味を捉えた大きな隠れベクトルができます。それを使って別の言語で文を生成することができました。これは「思考ベクトル」と呼ばれていました。これが言語に関する2番目の見方で、言語を大きなベクトルに変換し、そのベクトルは言語とは全く似ていないものになり、それが認知のすべてだというものです。
しかし、私が今信じている3番目の見方があります。これらの記号を取り、記号を埋め込みに変換し、それを複数の層で使用します。そうすることで非常に豊かな埋め込みが得られますが、その埋め込みはまだ記号に結びついています。この記号に対する大きなベクトル、あの記号に対する大きなベクトルがあり、これらのベクトルが相互作用して次の単語の記号のベクトルを生成します。
これが理解であり、理解とは記号をこれらのベクトルに変換する方法を知り、ベクトルの要素がどのように相互作用して次の記号のベクトルを予測するかを知ることです。これが、これらの大規模言語モデルにおける理解であり、私たちの脳における理解でもあるのです。
これは中間的な例で、記号にとどまりますが、それらを大きなベクトルとして解釈します。そこにすべての作業があり、すべての知識があります。どのようなベクトルを使用し、それらのベクトルの要素がどのように相互作用するかということに、記号的規則ではなく。しかし、記号から完全に離れるのではなく、記号を大きなベクトルに変換しますが、記号の表層構造にとどまります。これらのモデルはこのように機能しており、今では人間の思考のより妥当なモデルだと私には思えます。
あなたは2009年頃にGPUを使うアイデアを最初に得た人の一人でしたね。ジェンセンがあなたをとても気に入っているのを知っています。2009年に、これがニューラルネットの訓練にとてもいいアイデアになるかもしれないとジェンセンに言ったそうですね。GPUをニューラルネットの訓練に使うという初期の直感について教えてください。
実際、2006年頃だったと思いますが、リック・ゼイシーという元大学院生と話をしました。彼は非常に優秀なコンピュータビジョンの専門家でした。会議で彼と話したとき、彼は「グラフィックス処理カードの使用を考えてみるべきだ。行列の乗算がとても得意だから、あなたがやっていることは基本的にすべて行列の乗算だ」と言いました。
しばらくそれについて考えていました。そして、4つのGPUを搭載したTeslaシステムについて知りました。最初はゲーミング用のGPUを入手し、30倍速くなることを発見しました。その後、4つのGPUを搭載したTeslaシステムを購入し、それで音声処理を行いました。とてもうまくいきました。
2009年にNIPSで講演を行い、1000人の機械学習研究者に「みんなNVIDIAのGPUを買うべきだ。これが未来だ。機械学習にはこれが必要だ」と伝えました。実際、その後NVIDIAにメールを送り、「1000人の機械学習研究者にあなたたちのボードを買うように言いました。1枚無料でもらえませんか」と尋ねました。彼らは「いいえ」とは言いませんでした。ただ返事をしなかっただけです。しかし、後にこの話をジェンセンに話したとき、彼は1枚無料でくれました。
それはとてもいいですね。興味深いのは、GPUが分野とともに進化してきたことですね。コンピューターの分野で次に何をすべきだと思いますか。
Googleでの最後の数年間、アナログ計算を実現する方法について考えていました。1メガワットではなく、脳のように30ワット程度で大規模言語モデルを実行できるようにするためです。うまくいきませんでしたが、デジタル計算の価値を本当に理解し始めました。
そのような低電力のアナログ計算を使用する場合、すべてのハードウェアが少しずつ異なります。アイデアとしては、学習がそのハードウェアの特定の特性を利用するというものです。これは人間でも同じことが起こっています。私たちの脳はみな異なります。
したがって、あなたの脳の重みを私の脳に移すことはできません。ハードウェアが異なり、個々のニューロンの正確な特性が異なります。学習は、それらすべてを利用するように調整されています。そのため、私たちは死すべき存在であり、私の脳の重みは他のどの脳にも役立たないのです。私が死ぬと、それらの重みは無用になります。
一方から他方へ情報を得ることはできますが、非常に非効率的です。私が文章を生成し、あなたがその同じことを言うように重みを変更する方法を見つけ出す、これを蒸留と呼びます。しかし、これは知識を伝達する非常に非効率的な方法です。
デジタルシステムは不死です。なぜなら、一度重みを得たら、コンピューターを捨ててその重みをどこかのテープに保存できるからです。そして、別のコンピューターを構築し、同じ重みを入れれば、デジタルであれば他のシステムが計算したのとまったく同じことを計算できます。
したがって、デジタルシステムは重みを共有でき、それは信じられないほど効率的です。デジタルシステムの集まりがあり、それぞれが少しずつ学習を行い、同じ重みから始めて少し学習し、そして再び重みを共有すると、他のすべてが学んだことを全て知ることができます。私たちにはそれができません。そのため、知識を共有する能力において、デジタルシステムは私たちよりもはるかに優れています。

この記事が気に入ったらサポートをしてみませんか?