エネルギーベーストランスフォーマーはスケーラブルな学習者かつ思考者である(論文レビュー)

AI研究
この記事は約26分で読めます。

の動画は、エネルギーベースモデルとトランスフォーマーを組み合わせた新しいアーキテクチャに関する論文レビューである。従来の単一フォワードパスによる推論とは異なり、推論時に複数の計算ステップを実行することで、より高精度な予測を実現する手法を提案している。特に、教師なし学習のみでシステム2思考(論理的で明示的な思考プロセス)を機械に学習させる可能性を探求し、小規模実験では有望なスケーリング傾向を示している。エネルギー関数を用いた最適化プロセスにより、不確実性のモデリングや予測の検証機能も備えている。

Energy-Based Transformers are Scalable Learners and Thinkers (Paper Review)
Paper: com...

エネルギーベーストランスフォーマーの概要

こんにちは、調子はいかがですか?今日はこちらの論文を見ていきます。「エネルギーベーストランスフォーマーはスケーラブルな学習者かつ思考者である」という論文です。この論文は、エネルギーベースモデルの一般的な概念をトランスフォーマーと組み合わせ、その学習パラダイムを提案し、そのパラダイムがどのように適用され、どのようにスケーラブルにできるかを示しています。

この研究では、実験は小規模なデータで行われていますが、言語モデリングやビデオモデリングなどの分野で、かなり有望な結果を達成しています。スケーリング傾向は、これが実際により大規模になった場合に、よりスケーラブルなアーキテクチャであり、より有望なアーキテクチャである可能性があることを示しています。

これはかなり興味深い研究方向であり、有望だと言えるでしょう。ただし、大規模では明らかにまだ検証されていませんが、それこそがこの研究を興味深いものにしていると思います。これは皆さんが慣れ親しんでいるものとは少し異なりますが、しばらく前からある概念にも立ち返っており、より多くのエネルギーベースモデリングの研究を見ることができて非常に嬉しく思います。

システム2思考への挑戦

それでは詳しく見ていきましょう。著者たちがここで問いかけている一般的な概念は、システム思考アプローチを一般化し、教師なし学習のみから思考することを学ぶモデルを開発することは可能かということです。非常に大きく大胆な質問です。明らかに、より良いモデルを構築できるかといったような話ではありません。我々はシステム2思考、つまり人間が行うより論理的で遅い思考の種類に取り組み、それを機械で行おうとしているのです。

ここで彼らが主に言及しているのは推論時計算技術であり、これについては後ほど説明します。つまり、コンピューターにシステム2思考の方法を教えることができるか、そして監督なしに、純粋に教師なし学習から、そして再び一般化する方法でそれを行うことができるかということです。これは非常に大きな質問です。

システム2思考技術について、認知科学をご存知であれば、システム1思考は大まかに言って迅速で直感的な思考を指します。これは皆さんが一日の大部分で行っている方法です。バナナを食べたいと思った時のように、ほぼすべての行動がシステム1思考になります。果物を保存している場所に無意識に歩いていき、無意識に一つ掴みます。歩くことや筋肉を伸ばすことについて考える必要もありません。皮を剥いて食べる方法についても考える必要がないかもしれません。これらすべてが非常に無意識的で、身についており、考える必要がありません。

システム2思考の特徴

しかし、システム2思考は、システム1思考が限界に達した時に発動します。ただし、その違いが正確に何か、システム2思考がシステム1思考の延長なのか、スペクトラムがあるのか、それとも完全に異なる何かで、2つのシステムが一緒に働いているのかについては議論の余地があると思います。私にはわかりません。

しかし一般的に、システム2思考は遅く明示的であることが特徴です。心の中で自分自身と話し、論理的な一連のステップを通して結論に到達する時、それはシステム2思考ということになります。著者たちは、これまでの機械学習のほとんどが主にシステム1思考の領域にあったと合理的に述べています。

これについては少し議論があります。例えば、トランスフォーマーがあり、そのトランスフォーマーに多くの層があり、言語の一部をここに置くと、次のトークン予測が出力されるとします。ここには層ごとの複数の計算ステップがあり、したがって、そこで何らかの形の「思考」が起こっていることは十分に考えられます。

推論時計算の重要性

しかし、大まかに言えば、モデルを構築してフォワードパスを行い、その出力を取るということは、システム1思考に類似していると言えるでしょう。一方、システム2思考はより明示的なものです。そのトランスフォーマーを使って思考の連鎖プロンプティングを行う場合を考えてみてください。

何かを入力すると、トランスフォーマーは自分自身を参照する思考トークンを出力します。明らかに自分自身を参照するわけではありませんが、思考トークンを自己回帰的にトランスフォーマーに供給していきます。そのようにして全体のシーケンスを生成します。トランスフォーマーを何度も何度も使用し、明示的な思考がここで行われ、最終的にその思考を行ったという事実に基づいて出力が得られます。

著者たちは主に、訓練されたモデルを推論時に複数回使用する瞬間、つまりモデルから答えを得るために単純な一回のフォワードパス以上の計算を投入する瞬間をアプローチとしています。それが彼らが思考と呼ぶものの一部です。

繰り返しますが、思考は大きな言葉ですが、彼らにとって、そして論文の最後でしかわかりませんが、思考は実際には行為ですらありません。それは指標です。そして彼らの思考の指標は、実際には、モデルを通して複数のフォワードパスを行うことで、単一のフォワードパスよりもどれだけ良くなることができるかということです。

エネルギーベースモデルと推論

自己回帰トランスフォーマー以外にも、これを行うモデルをいくつかご存知かもしれません。例えば、再帰ニューラルネットワークは直感的に何らかの複数フォワードパスを行います。ただし、全体のシーケンスの処理は単純に一つのフォワードパスだと議論することもできます。その他のモデルとしては拡散があります。拡散モデルも出力に到達するためにモデルを通して複数のフォワードパスを行います。

再び、それについても議論があり、「いえいえ、実際にはそれは単なる一つのフォワードパス、包括的なフォワードパスです。それは単なるモデルを通した一つの推論であり、これらすべての計算を行うだけです」と言うこともできます。すべてが議論の余地がありますが、それはそこまでにしておきます。

思考とは何か、それが何を意味するか、どのモデルが思考を行っていて、どのモデルが行っていないかについては、皆さん自身で決めてください。この論文では、エネルギーベースモデルを見ています。エネルギーベースモデルで推論を行う方法は、複数のフォワードパスを行うことです。そのため、彼らはエネルギーベーストランスフォーマーの変種を思考者と呼んでいます。なぜなら、それを行うからです。より多くの計算を投入することで、より良い答えが得られるからです。

モデルの比較と現在のトレンド

はい、ここでこれが少し図解されています。自己回帰トランスフォーマーでは、単純にシーケンスがあり、次のトークンを予測します。RNNでは複数の計算を行いますが、やはりシーケンスを取って次のトークンを予測します。拡散トランスフォーマーは明らかにここで逆推論を行います。

そしてエネルギーベーストランスフォーマーについては、すぐに説明します。彼らはまた、現在の推論モデルのトレンドについても話しており、これらの推論モデルは主に思考の連鎖プロンプティングなどを使用して強化学習で訓練されています。

彼らは、これは通常、数学やコーディングなど、ルールベースの報酬で答えを簡単に検証できる領域でのみ機能すると述べています。つまり、限られた範囲の問題タイプにのみ適用可能であり、強化学習は可能ですが、何らかの方法で報酬を与える必要があり、その報酬は通常アルゴリズム的に導出されます。

数学パズルを与えて、すでに答えがわかっているか、コーディングパズルを与えて、ユニットテストが通るか、コンパイルするか、正しい出力を出すかを検証できます。強化学習は素晴らしいものです。しかし、それ以外では、教師ありデータがなければ、運が尽きたようなものです。

教師なし学習による推論時計算

推論時計算を実行できるモデルを、必ずしも強化学習に依存しない方法で訓練する必要があります。ただし、見てわかるように、彼らが行っていることとここにあるすべてのモデルを対比させているにもかかわらず、実際には両者を組み合わせることを妨げるものは何もありません。

私にとって、現在のモデルが行う推論、思考の連鎖などすべては、これらのエネルギーベースモデルが行うことと完全に直交しています。エネルギーベースモデルも思考の連鎖を行うために使用されることは十分に考えられます。

繰り返しますが、彼らの中心的な質問は、システム2思考を開発するために完全に教師なし学習に依存できるかということです。そのような能力があれば、現在のシステム思考アプローチを任意の問題、任意のモダリティに一般化でき、外部の人間の報酬やモデルの監督への依存を避けることができます。

そのために、彼らはシステム2思考には3つの重要な側面があると述べています。今後、システム2思考と聞いたら、単純にその目標のことだと考えてください。私はかなり確信しており、明らかにその証拠はありませんが、彼らは最初にエネルギーベーストランスフォーマーを開発したと思います。エネルギーベースモデルは一つのアイデアであり、トランスフォーマーは一つのアイデアであり、それらを組み合わせてエネルギーベーストランスフォーマーを定義し、その後逆算して、これらのモデルの特性は何かと言い、それらがたまたまシステム2思考の3つの重要な側面になったのです。

私はそれを本当に信じません。ここで逆エンジニアリングが行われていると思います。だから、これらをシステム2思考ではなく、エネルギーベースモデルの3つの良い特性として受け取ってください。

エネルギーベースモデルの3つの特性

計算の動的割り当て:エネルギーベースモデルでは、推論時にどれだけの計算を投資したいかを選択できます。エネルギーベーストランスフォーマーが言語モデルで、次のトークンを予測したい場合、単一のフォワードパスに限定されません。より多くの計算を投入して、次のトークンがどうあるべきかについて、より正確な分布を得ることができます。

側面2は、連続状態空間での不確実性のモデリングです。これも、予測における不確実性の概念を提供できるエネルギーベースモデルの特性です。EBMは、予測の正確な尤度をモデル化する必要なく、予測の相対的な非正規化尤度をモデル化することで、自然に不確実性をモデル化できます。現実世界にはしばしば多くの本質的に予測不可能な要素が含まれているため、例えば駐車中の車両の後ろから歩行者が現れるかもしれない時、予測における不確実性を表現する能力は慎重さにとって不可欠であり、人間の自然な能力です。

側面3は、予測の検証です。エネルギーベースモデルでは、生成的敵対モデルからのGANに慣れているかもしれないことを少し行います。そこには検証者や識別器が関与しています。何かがどれほど良いかを評価できるモデルです。

自然に、エネルギーベースモデルには予測するだけでなく、予測を判断するこの固有の能力があります。

エネルギーベースモデルでの推論プロセス

どのようにこれを行うのでしょうか?ここで再び、エネルギーベースモデル全体での推論があります。これが次のトークン予測であることがわかります。コンテキストがあります。「犬が捕まえた」という文があり、エネルギーベースモデルで次のトークンの予測をどのように得るかという問題があります。

これを行う方法は、単にトークンを予測するのではなく、トークン全体の分布を出力することです。これは、分布をトークンで出力する古典的なトランスフォーマーと同じですが、その方法が異なります。実際に完全にランダムな分布から始めて、その分布を段階的に洗練し、最終的な分布に到達するまでその分布を形作っていきます。

そして再び、これをより長く行ってより正確な出力を得ることも、より短く行ってより精度の低い出力を得ることも選択できます。これは拡散モデルを思い出させるかもしれませんが、ここでの方法は少し異なります。ただし、出力を生成する方法は、フォワードパスを通してから出力を得るのではなく、ランダムな何かから始めて、明らかにモデルを含むプロセスがあり、それにより段階的に出力を形作ることができるということを覚えておいてください。

はい、繰り返しますが、この論文は哲学に満ちています。我々は思考を、入力と候補予測の間の互換性を評価する学習された検証器に関する最適化手順として見ることを提案します。はい、彼らは思考という巨大な言葉と概念を提案し、それがエネルギーベースモデルが行っていることと正確に一致するとしています。再び、ここで逆エンジニアリングがある程度行われていると強く感じています。

エネルギー関数の基本概念

哲学はもういいという約束をしたので、モデル自体に飛び込みましょう。エネルギーベースモデルとは何か、そしてどのようにその中で推論を行うのでしょうか?

エネルギーベースモデルは、エネルギー関数と呼ばれるものと一緒に機能するものです。エネルギー関数は通常eと呼ばれ、2つの入力があります。xとyと呼びましょう。

エネルギー関数は、XとYが何らかの方法で互換性がある場合に高い数値を与えるはずです。ここにハートを描きます。そして低い数値を… 待って、逆でした。低いエネルギーは、それらが一緒になることを意味します。いいのです。近いのです。ちょうどフィットします。そして、XとYが互いを好まない場合、一緒にならない場合は高い数値になります。ここに小さな稲妻を描きます。

これがまだ非常に抽象的な概念だと文句を言うかもしれませんが、それは事実です。明らかに何をしたいかによります。

次のトークン予測を行いたいとしましょう。Xはコンテキスト、プロンプト、部分的なテキストのようなものになります。Yは次のトークンの分布、語彙を表す分布になります。エネルギーは、その分布がXの言語での実際に有効な継続であるトークンのみを指している場合に低くなり、その分布が何らかの方法で異なる場合に高くなります。

画像のノイズ除去を行っている場合、Xはノイズのある画像で、Yは同じ画像のノイズ除去された画像になります。しかし、Xがノイズのある画像でYが異なるノイズ除去された画像の場合、そのエネルギーは高くなる必要があります。

エネルギー関数は我々が訓練するもので、パラメータ化された関数であり、この場合はトランスフォーマーになります。

エネルギー関数の訓練と推論

トランスフォーマーモデルを持つことになります。ここでのモデル全体は、このエネルギー関数になります。これ以外に追加のモデルは必要ありません。これが学習されたパラメータの全体です。これはGANとは異なります。GANでは、これが識別器となり、識別器と対戦するジェネレーターを訓練する必要があります。

エネルギーベースモデルでは、少なくともここでの定式化では、エネルギー関数が必要なすべてであり、エネルギー関数が訓練するものです。関数のパラメータ化された表現を訓練し、それにデータを供給します。

「犬がぼかしぼかし」という文があり、次のトークンの分布があります。それらが一緒になる場合は低く、一緒にならない場合は高くなるように訓練します。これは様々な方法で行うことができます。後ほど説明しますが、一つの簡単な方法は対比訓練です。同じコンテキストを取り、正しい次のトークンの一ホット分布を取り、次に間違った次のトークンの一ホット分布を取って、対比訓練を行います。正しい次のトークンがある場合の出力は、間違った次のトークンがある場合の出力よりも低くあるべきだと言います。

しかし、それはスケーラブルな方法ではありません。後で見ることになります。エネルギー関数が我々が必要とする唯一のものです。

エネルギー関数と損失関数の違い

エネルギー関数と損失関数の違いについて異議を唱えるかもしれません。損失関数もまさにこのようなものだからです。違いは、それを使用する時です。エネルギー関数は推論時に使用されるのに対し、損失関数は訓練時に使用されます。

実際、ここでエネルギー関数を訓練すること、これらのパラメータ自体を訓練することには、損失関数が関連しています。対比訓練での損失関数は、実際にxとy1のエネルギーはxとy2のエネルギーよりも低くなければならないというものかもしれません。これは正しいものであり、これは間違ったものだからです。

損失関数は訓練目標であり、エネルギー関数は推論目標です。これにより、このエネルギー関数で実際に何をするかのヒントも得られます。

単一の数値を予測するためだけにモデルを訓練します。これは実数になります。何かの出力ではありません。数値になります。

現在の半文と次の分布を入力できる関数のみを与えられた場合、どうすればよいでしょうか。現在の半文があり、これが次のトークンの分布で、単純に数値を教えてくれます。その数値は悪い場合により高く、良い場合により低くなります。

それだけがあれば、同じ半文を取り、これらの分布の束を試すことになります。どれが最も低いかを見ることになります。語彙全体を一ホットエンコードして、すべてを叩き込み、どれが最も低いかを見ることができるかもしれません。

しかし実際、それは分布の全空間ではありません。分布は明らかに一ホットだけではないからです。可能なすべての分布を叩き込んで、そこで最も低い値を見つけることを考えることができます。そして、これが最適化のように聞こえることに気づくかもしれません。それがまさに我々が行う方法です。

推論時最適化プロセス

考えてみてください。訓練されたエネルギー関数があり、そのエネルギー関数が、物事が一緒になる場合にエネルギー関数が実際に低いと教えてくれるものであれば、エネルギー関数がうまく訓練されていれば、それを持つことになります。それがあれば、良い出力を得るために推論時に最適化手順を実行できます。

どういう意味でしょうか?これを見てください。これはエネルギー景観の2D表現です。再び、これは損失ではありません。これは推論時です。この軸がコンテキストであると想像してください。これはすべての可能なコンテキストです。いえ、実際にできることは… ああ、はい。

この軸はすべての可能なコンテキストです。それらは離散的です。わかります。しかし、これらの可能なコンテキストは連続的だと言うことにしましょう。それがXで、ここにすべての可能な分布、次のトークン分布があります。この分布はここにあるかもしれませんし、非常にスパイクな分布はここにあるかもしれません。

エネルギー関数がうまく訓練されている場合、我々が見つけようとしているのは、入力の一つが実際にXである場合のエネルギー関数の最小値です。Xを固定してYを変更し、Yに対して最適化手順を実行します。この場合、実際には間違った図を描いています。

ここの両方の軸は明らかにy1、yのようになるべきです。これらは分布空間の個々の次元です。分布は明らかにはるかに高次元です。実際、語彙全体の次元性を持っています。しかし、語彙に3つの異なるエントリしかないと想像してください。

正規化する必要があるため、2次元空間であり、ここで最適化するものです。最小値を見つけようとしています。どのようにそれを行うのでしょうか?勾配降下法によってです。

ランダムな出力、次のトークンのランダムな分布から始めて、エネルギー関数で勾配降下法を行い、それを入力に逆伝播します。再び、xとy、yの推定値、初期推測または中間ステップがあります。これら両方をマルチレイヤートランスフォーマーに通し、エネルギー関数を得ます。

そして、そのエネルギー関数を取り、エネルギーの勾配を計算し、トランスフォーマーを通してここに逆伝播します。これはxが固定されているエネルギー関数に関するyハットの勾配になり、yハットをどのように変更する必要があるかを知りたいのです。そして、その方向に小さなステップを踏み、再評価し、小さなステップを踏み、再評価します。推論時に勾配降下法を行っています。

エネルギーベースモデルの特性と訓練

これがエネルギーベースモデルで推論を行う少なくとも一つの方法です。エネルギー関数に対して最適化します。これがうまく動作する場合、いくつかの良い特性があることがわかります。ここで少しウィグリングを行えば、物事の分散、不確実性を得ることができます。非常に広いのか、非常に狭いのか、非常にでこぼこなのかなどです。

分布外データなどをより簡単に認識することもできます。多くの優れた特性がありますが、欠点は、単一ステップでポンと出力を得ることができないことです。この最適化手順を実行する必要があります。

これをどのように訓練するのでしょうか?ところで、エネルギーは正規化された量ではありません。エネルギーはスケーラビリティの理由から常に非正規化されています。本当に知っているのは、それが少ないか多いかだけです。

これが推論手順になります。初期推測をサンプリングし、ある種のステップサイズでエネルギー関数で勾配降下法を実行し、途中で見つけた最小値を返します。

これが推論を行う方法です。では、モデルをどのように訓練するのでしょうか?ここにはいくつかの課題があります。課題は、互換性のない入力では高く、互換性のある入力では低くなるようにエネルギー関数を単純に訓練すると、非常にギザギザで非常に滑らかでないエネルギー景観になってしまうことです。特に高次元では、データがある場所とそうでない場所が混在することになります。

したがって、本当に重要なのは、いくつかのエネルギー景観正則化技術を適用することです。彼らには3つの技術があります。一つはリプレイバッファです。これは強化学習でもよく使用されるもので、軌跡を持ってそれらを保持して訓練のために取得します。通常、システムに多様性をもたらし、非常にローカルな状態と現在のデータから離れるためにこれを行います。

もう一つは、実際にここでノイズを追加することです。これはおそらく良いことです。なぜなら、一つのことを忘れていたからです。どのように訓練するかということです。ここでのトリックは、推論を行う方法を考慮して訓練することです。

これらを訓練する方法は2つあります。一つは対比的です。すでにそれを見ました。もう一つは何でしょうか?もう一つは、最終的なyは、y0からαかけるxとy0のエネルギーの勾配を引いたものになると言うことです。これは勾配降下最適化の単一ステップです。しかし、これが出力であることがわかります。

したがって、出力に損失関数を定義し、yとyの損失関数を定義します。正しいものは何でしょうか?データセットからの正しいyです。これは次のトークンの分布で、これは実際の次のトークンの一ホットエンコードです。クロスエントロピー損失を定義でき、これをf of xの効果として使用できます。y equals f of xです。

これがどのように生まれたかがわからなかった場合、どうするでしょうか?単純に、ここで勾配を導出するでしょう。fはパラメータを持っています。f of xとyの損失の正しいラベルのパラメータの勾配を導出し、fに逆伝播し、fのパラメータに逆伝播するでしょう。

ここでそれを行うことができます。ここにはいくつかのパラメータがあります。これは完全に線形な操作です。これは完全に線形で、微分可能な操作だと思います。結果として、最適化ステップを通して実際に逆伝播することになります。

勾配計算がすでに内部にある操作を通して逆伝播することになります。それが何を意味するかわかりますか?それは実際に二次導関数が必要だということです。しかし、二次導関数はそれほど悪くありません。この場合、重要なことは、この損失は最適化プロセス全体を通して逆伝播され、二次導関数、つまり勾配の勾配が必要だということです。

これらは、モデルサイズと線形にスケールするヘッセンベクトル積を介して効率的に計算されます。これは世界で最もフロップ効率的なことではありませんが、スケールアップしても二次的に爆発することはありません。

単純にフォワードパストランスフォーマーモデルの訓練に慣れている人には少し奇妙かもしれませんが、最適化、推論プロセス自体が訓練中に考慮されるように訓練します。推論時勾配降下プロセスを含む良い出力を見つけることを損失が表すように、推論を念頭に置いて訓練します。

これをスケーラブルにするためには、正則化する必要があり、正則化の一部はここでノイズを追加することです。

正則化技術とスケーラビリティ

訓練時に勾配降下を行う時、訓練時にもこの勾配降下を行います。ある種のエネルギー景観があります。勾配降下を行います。ブープブープブープ。ここに行って、これの損失を計算し、この推論を通して逆伝播します。これらのステップのそれぞれにノイズも追加します。

理由は、これが汎化と滑らかさに役立つからです。ここにいるとしましょう。これがトップビューで、最適化パスがこのようになっているとします。実際に望んでいるのは、ノイズを追加することで、これを少し洗い流すことです。ここやここが未定義である代わりに、実際に細いパスを踏む代わりに、そのパスをより大きくしたいのです。

訓練中に到達する景観を広げ、それによって景観をより滑らかにしたいのです。明らかに精度を少し犠牲にしますが、このノイズを訓練中に追加することで景観をはるかに滑らかにします。ここで汎化を探しています。訓練時に見たことのないデータです。

推論時のデータが訓練中に見たものに近い場合、見たより広い帯域の内側にまだいるため、絶望的に迷子になることはありません。その推論時データから感じ取って何か意味のあることを作ることができるでしょう。ノイズを追加するのは非常に古いトリックですが、非常に効果的で、ここでも行っています。

もう一つは、勾配ステップサイズと最適化ステップ数をランダム化することで、汎化が大幅に改善されました。常に正確に5ステップを正確に同じステップサイズで行いたいとは限りません。少し変化させれば、明らかに多くを得ることができます。

推論時に計算を投入しているため、複数のフォワードパスを行っているため、時には少なく、時には多くの最適化ステップを行って訓練すれば、これらすべての状況で良い答えを与えることにはるかに慣れたモデルになります。そして、これが一般化して、推論時に訓練時に行った以上のステップを投入できる方法になることを期待しています。行うステップ数に対してモデルを柔軟になるよう訓練したので、それ自体が明らかに一般化することを期待しています。

これらが彼らがここで持っている訓練技術です。そして彼らは自分たちのモデルも紹介しています。

エネルギーベーストランスフォーマーの設計

彼らのモデルはトランスフォーマーです。効果的にエネルギーベースモデリングとトランスフォーマーを組み合わせ、エネルギーベースモデルは伝統的に3つの特性で困難に遭遇してきたと述べています。それは並列化可能性、安定性、スケーラビリティです。

エネルギーベースモデルはこれらが本当に苦手で、トランスフォーマーはこれらが本当に得意です。トランスフォーマーは、エネルギーベースモデルが苦手なこれら3つすべてにおいて優れているため、それらが一緒になるのは自然に思われます。

彼らは、EBMのために設計されたトランスフォーマー実装であるEBT、エネルギーベーストランスフォーマーを提示しています。これはエンジニアリングの観点からの課題です。特に、デコーダーのみの三角形アテンショントランスフォーマーは、EBMで行う複数の推論ステップ全体で情報漏洩が起こらないよう多くの考慮が必要です。

もはや一回のフォワードパスだけでなく、複数行います。並列化可能な訓練から恩恵を受けたい場合、この三角形アテンションで並列計算から恩恵を受けたい場合は、データの流れ方に非常に細心の注意を払う必要があります。彼らはこれをすべて実装し、コードが利用可能です。これは非常にクールです。

実験結果:学習スケーラビリティ

実験セクションでは2つの異なることを研究します。一つは学習スケーラビリティで、これは伝統的なもので、モデルが事前訓練データにどれだけ迅速に適合できるかです。もう一つは思考スケーラビリティと呼ばれるものです。これは効果的に、推論時の前向きパス数の増加でモデル性能が改善するかどうかを決定できるかということです。

より多くの計算を投入すれば、より良い結果を得られるか、そして他のモデルよりもスケーラブルで迅速な方法でより良くなれるかということです。

最初に、彼らはこれをTransformer++と比較します。これは、次のトークン予測単一フォワードパストランスフォーマーを訓練するための訓練レシピの一種です。これらのグラフから、エネルギーベーストランスフォーマーは確かに少し不利な状況から始まりますが、例えば訓練データのスケールアップ、バッチサイズのスケールアップ、深さのスケールアップに伴って、古典的なトランスフォーマーに対して迅速に利得を得ることがわかります。

繰り返しますが、これらのモデル、彼らが行っていることは、効果的に傾向が本当に良いということを示しています。これらの傾向の一部はまだそれほど具現化されていません。実際に見るためには、ここのどこかに外挿する必要があるでしょう。

大規模では、これらの傾向が実際に見える方向に進むという絶対的な可能性がまだあります。しかし、それでもかなり有望です。これは、エネルギーベーストランスフォーマーがすでによりよくスケールする訓練スケーラビリティです。

ここでのx軸に注意してください。x軸は非常に特定の量を表しています。事実は、通常のトランスフォーマーでは、一回のフォワードパス、一つの訓練ステップが一回のフォワードパスであるということです。エネルギーベースモデルでは、一つの訓練ステップは、まずフォワードパス中に推論手順を行い、次にその推論手順を通して逆伝播する必要があることを意味します。これらすべては、単一フォワードパストランスフォーマーよりもGPUに対してかなり重い処理です。

ここでのx軸が、バッチサイズ、トークン数などである場合は問題ありませんが、時間領域では、これは非常にかかります。それがここにあるものです。訓練フロップの観点では、これは対数スケールで、エネルギーベーストランスフォーマーは古典的なトランスフォーマーから大幅に離れています。しかし、彼らはより速くスケールします。

つまり、ここでの傾きがわずかに、そしてここでも見ることができますが、これは埋め込み次元です。フロップに留まりましょう。ここでの傾きは、ここでの傾きよりもわずかに急です。したがって、この傾向が続けば、エネルギーベースモデルがより良いパープレキシティを達成するため、追加のフロップが実際に相殺される未来があります。

エネルギーベーストランスフォーマーがそれらのフロップを利用することに非常に優れているため、古典的なトランスフォーマーにエネルギーベーストランスフォーマーよりもはるかに多くの訓練フロップを投資する必要があるでしょう。

この規模ではありませんが、傾向を信じて外挿すれば、それがある時点で交差することが考えられます。

思考スケーラビリティの検証

第二部は思考です。推論時により多くの作業を投入できるかということで、彼らの答えはここで確実にイエスです。古典的なトランスフォーマーは明らかに前向きパス数でスケールしないことがわかります。同じ入力に対して、何回前向きパスを行っても同じ出力を与えます。

エネルギーベーストランスフォーマーはより弱く始まりますが、前向きパスを増やすにつれて明らかに強くなります。それは驚きではありません。完全にランダムなもので始めるからです。そして一回の前向きパス後、エネルギー景観での一回の推論ステップ、一回の勾配降下ステップを行ったことになります。

先に進むためにはいくつか行う必要があります。ここで古典的なトランスフォーマーとのギャップを持って最終的に先に進みます。

もう一つできることは、思考ステップ全体でエネルギーを実際に見ることです。エネルギーはどのように進化するのでしょうか?彼らは一つのことを見ています。それは、異なるトークンが異なる種類のエネルギーを持っているということです。ここで明るい色はより低いエネルギーを表しています。

文の推論を通して、彼らがより明確でより簡単だと言うトークンで大幅に低いエネルギーを得ることがわかります。また、ここでも簡単な単語でエネルギーが低いことがわかり、これはこれらのモデルのある程度の自己評価と、これらのステップにより少ないエネルギーを投入する機会を表しています。

異なる量のエネルギー、異なる量のフロップを推論手順に投入するこの能力と、エネルギー関数自体が現在の状況について、不確実性について、簡単さについて何かを教えてくれるという事実が組み合わさると、将来的に、常に100ステップやそのようなことを行う必要がない非常に動的な推論手順が生まれる可能性があります。何かをより知っているため、計算を節約できる投機的デコーディングなどと少し同じアイデアです。

興味深いのは、反復1を超えてあまり違いがないように見えることです。明らかに反復ゼロでエネルギーは非常に高いものですが、反復1の後、すでに最小値にいるように見え、さらなる反復はもうそれほど多くのことをしないようです。

これは、ここでこのプロットで確認されていると思います。最初に最も利得を得ます。再び、これは最適化では非常に一般的です。はい、同じようなものの他にはあまりありません。ビデオ予測なども行います。拡散トランスフォーマーと比較しています。これが何かを期待していると思います。スケーリング傾向は有望に見えます。それは言えます。

しかし、明らかに再び、リソースの制約のために、より大きなスケールで試していません。ベースケース自体がエネルギーベースモデルを扱うための固定コストを大幅に拡張する必要があるようなものです。しかし、実際には大規模では、その固定コストが得られる利得によって償却され、実際に古典的なモデルよりもエネルギーベースモデルを使用する方が有益である可能性があります。

まとめと考察

このすべてにおいて、論文は非常にクールだと思います。しかし、彼らが多くの哲学を持ち込み、必ずしも比較可能でないモデルと比較していると感じます。思考の連鎖思考や推論モデルやそのようなものは、これと関係があるとは思いません。複数のステップも行うと言うのでなければですが、それは私には非常に抽象的です。

エネルギーベースモデルでは、この複数前向きパス最適化は推論を行う方法にすぎず、それを一つの推論ステップと見なすことができます。そして、それを持った後は、思考の連鎖でも行うかもしれません。それで推論を行うかもしれません。強化学習でそれを訓練するかもしれません。だから、これらのことは私にはあまり関係がないように思えます。エネルギーベースモデルは、何があろうと良い特性を持っています。

必要以上に長く引き留めたくありません。興味があれば論文を読んでください。著者に多くの感謝を。我々はDiscordの論文ディスカッションでこれについて議論し、実際にここの主著者がそれらのディスカッションの一部でした。明らかに非常に感謝しています。それは非常にクールです。

興味があれば、我々のDiscordに参加してください。常に多くの論文ディスカッションがあります。そうでなくても、またお会いしましょう。バイバイ。

コメント

タイトルとURLをコピーしました