著者 | ティモシー・B・リー 編纂者:岳陽 OpenAIが2年前にChatGPTをリリースした当時、処理できるコンテキストトークンは8,192個しかありませんでした。つまり、入力テキストが約15ページを超えると、初期のコンテキストを「忘れてしまう」ことになります。この制限は、ChatGPTのタスク処理能力の規模と複雑さに影響を与えていました。 LLM の機能は今日では大幅に向上しています。
しかし、AI システムが人間レベルの認知能力を達成するには、まださらなる進歩が必要です。 AIが人間の仕事のほとんど、あるいはすべてを奪う未来を多くの人が思い描いています。しかし、人間は生涯を通じて何億もの単語を読み、聞き、視覚、聴覚、嗅覚を通して周囲の環境からさらに多くの情報を得ています。AIが人間レベルの知能に到達するには、これほど膨大な量の情報を処理する能力も必要になります。 現在、大量の情報を扱うLLMシステムを構築する最も一般的なアプローチは、「検索強化型生成」(RAG)です。これらのシステムは、ユーザーのクエリに関連する文書を検索し、最も関連性の高い部分をLLMコンテキストに埋め込みます。 RAGシステムは場合によっては従来の検索エンジンを上回る性能を発揮しますが、依然として多くの欠点があります。最も重要な文書をLLMのコンテキストにうまく埋め込むことができた場合にのみ、満足のいく結果が得られます。しかし、これらの文書を検索するために用いられる技術は通常、ベクターデータベース[4]の検索に基づいており、十分に洗練されていません。ユーザーの質問が複雑または曖昧な場合、RAGシステムは誤った文書を検索してしまう可能性が高く、結果としてチャットボットは誤った回答を返すことになります。 さらに、RAG システムでは、大量の文書を処理する際に LLM がより高度な推論機能を発揮することができませんでした。
これらのタスクはいずれも、200万トークンを超えるコンテキスト処理能力を必要とする可能性があります。さらに、これらのタスクを完了した後、AIシステムはゼロから始めるのではなく、人間の労働者のように経験を通じて向上していくことを期待しています。コンピュータの並外れた記憶力と耐久性は常に大きな強みであり、AI時代においてもこれらの特性を放棄したくはありません。しかしながら、現状では、LLMは膨大な量の情報を吸収し解釈する能力において、人間のレベルにはまだ程遠い状況です。 実際、LLMは学習中に人間よりもはるかに多くの情報を吸収します。最新のAIモデルは数兆個のトークンで学習されており、これは人間が一生で読んだり聞いたりできる情報量をはるかに上回っています。しかし、多くの貴重な資料は機密情報であったり、時間的制約があったり、その他の理由で学習に使用できない場合もあります。 したがって、AIモデルが推論フェーズで200万を超えるトークンから情報を読み取り、記憶できることを期待しています。しかし、これは決して簡単なことではありません。 TransformerベースのLLMの核となる革新性は、「Attention」メカニズムにあります。これは、モデルが以前のトークンを「振り返る」ことを可能にする数学的演算です。LLMは新しいトークンを生成する前に、現在のトークンを過去のすべてのトークンと比較するAttention演算を実行します。これにより、従来のLLMではコンテキストが大きくなるにつれて効率が徐々に低下します。 現在、多くの人がこの問題の解決策を研究しており、この記事の後半ではそれらの解決策のいくつかについて解説します。しかしその前に、なぜこのような複雑なアーキテクチャを最初から考え出したのかを説明する必要があります。 01 GPUがディープラーニングを実現するパソコンの中核である中央処理装置(CPU)は、かつてはクロック周波数を上げることで性能を向上させていました。しかし、21世紀初頭、過熱の問題により、ほとんどのチップメーカーはこの性能向上手法を放棄しました。 チップメーカーは、複数の命令を同時に処理できるCPUの開発に着手しました[5]。しかし、命令を順番に実行する必要がある従来のプログラミングモデルによって、その進歩は制限されていました。 ムーアの法則[6]の潜在能力を最大限に実現するために、Nvidiaが発売したGPUというまったく新しいアーキテクチャが登場しました。 1999年、NVIDIAはQuake III Arenaなどの3Dゲームのレンダリング速度を高速化するために設計されたGPUの販売を開始しました。PCの拡張カードとして機能したこれらのGPUは、ゲーム内の壁、武器、モンスターなどのオブジェクトを構成する数千もの三角形を高速に描画する役割を担っていました。 このタスクはシーケンシャルプログラミングを必要としません。画面上の異なる領域にある三角形は、任意の順序で描画できます。そのため、Nvidiaの最初のGPU[7]は、単一のプロセッサで命令を一つずつ実行するのではなく、小型CPUに似た12個の専用コアを備え、それらが並列に動作してシーンをまとめて描画しました。 ムーアの法則が進展するにつれ、NVIDIAが製造するGPUコンピューティングコアの数は数十から数百、そして最終的には数千にまで増加しました。GPUの強力な並列コンピューティング能力は、ビデオゲームだけでなく、他の分野でも活用できることが徐々に認識されるようになりました。 2012年、トロント大学のコンピュータ科学者であるアレックス・クリジェフスキー氏、イリヤ・スツケヴァー氏、ジェフリー・ヒントン氏は、2基のNvidia GTX 580 GPU[8]を用いて、画像認識用のニューラルネットワークの学習を行いました。2基のGPUはそれぞれ512個のコアを搭載しており、6,000万個のパラメータを持つニューラルネットワークの学習を可能にする膨大な計算能力を発揮しました。彼らは、ImageNet画像分類コンペティション[9](画像を1,000種類のカテゴリに分類することを目指すコンペティション)において、新たな精度記録[10]を達成しました。 その後すぐに、研究者たちはこれらの技術を自然言語処理を含むより多くの分野に適用し始めました。 02 トランスフォーマーが自然言語理解のボトルネックを突破2010年代初頭、自然言語処理の主流アーキテクチャはリカレントニューラルネットワーク(RNN)でした。RNNは単語を一つずつ処理します。各単語の処理後、ニューラルネットワークは隠れ状態を更新します。隠れ状態とは、ニューラルネットワークがその時点で文をどの程度理解しているかを表す数値の集合です。 RNNは短い文を扱う際にはまずまずの性能を発揮しますが、長い文、ましてや段落やそれ以上の長いテキストを扱うとなると、期待した性能を発揮できません。長い文を分析する際に、RNNは文頭のキーワードを「忘れる」ことがあります。 2014年、コンピュータ科学者のDzmitry Bahdanau、KyungHyun Cho、Yoshua Bengioは、ネットワークが文頭の単語を「確認」できるアテンションメカニズムを導入することで、リカレントニューラルネットワークの性能を向上できることを発見しました[11]。 2017年、Googleは「Attention Is All You Need(必要なのは注意だけ)」[12]という論文を発表しました。これは機械学習の歴史において最も重要な論文の一つとして高く評価されています。バダナウ氏とそのチームの研究を基に、Googleの研究者たちはRNNとその隠れ状態の概念を放棄しました。彼らが用いたモデルは、注意メカニズムを用いて以前の単語をスキャンし、関連する文脈情報を取得するものでした。 Google が Transformer と名付けたこの新しいアーキテクチャの重要性は、言語モデルの拡張に対する大きな障害を取り除くことから明らかです。 次のアニメーションは、RNN のスケーリングが難しい理由を示しています。 この仮想的なRNN2では、ニューラルネットワークが文中の次の単語を予測しようとし、予測結果はグラフの上部に表示されます。このニューラルネットワークは3つの層で構成され、各層は長方形で表されます。処理は線形です。最初の単語「How」の分析が完了するまで、隠れ状態は最下層に渡されず、ネットワークは2番目の単語「are」の分析を開始できません。 この制限は、機械学習アルゴリズムがCPU上で実行されていた当時は大きな問題ではありませんでした。しかし、GPUの並列計算能力が活用されるようになると、RNNの線形アーキテクチャがボトルネックとなりました。 Transformer は、ニューラル ネットワークが入力内のすべての単語を同時に「考える」ことができるようにすることで、この制限を克服します。 図に示すように、Transformerベースのモデルの計算コストは、前の図のRNNモデルと同程度です。そのため、(シングルコアの)CPUでは高速化されない可能性があります。しかし、このモデルは「are」「you」「doing」を処理する前に「How」を分析する必要がないため、これらの単語を同時に処理できます。これは、複数の並列実行ユニットを備えたGPU上では、実行速度を大幅に向上できることを意味します。 速度向上はどの程度顕著でしょうか?潜在的な速度向上は入力単語数に正比例します。例えば、私のアニメーションでは、Transformerモデルは4単語の入力をRNNの約4倍の速度で処理します。LLMの場合、入力には数千単語が含まれる可能性があります。そのため、強力なGPUサポートがあれば、Transformerベースのモデルは同様のRNNよりも桁違いに高速化できます。 なぜ複数のドキュメントを同時に使用して RNN をトレーニングできないのか、つまり、個々の単語レベルではなくドキュメント レベルで GPU の並列処理機能を活用できないのかと疑問に思うかもしれません。 これは、学習プロセスの第2段階であるバックプロパゲーションの限界によるものです。このプロセスでは、学習ソフトウェアは「逆方向」に動作し、微積分を用いてモデルのパラメータを調整することで、正解に到達する確率を高めます。RNNの場合、バックプロパゲーションでは入力の最後の単語から最初の単語まで遡る必要があります。これは下の図の赤い矢印で示されています。 バックプロパゲーションでは、フォワードプロパゲーションの各ステップの中間結果を保存する必要があります。つまり、トレーニングソフトウェアはグラフ内の各四角形の出力を保存する必要があります。大規模なモデルの場合、このデータは膨大なスペースを消費するため、多数のインスタンスを同時に並列にトレーニングすることは不可能です。3 つまり、TransformerはGPUの処理能力をフルに発揮させ、言語モデルの急速な成長を促しました。主要なLLMのパラメータ数は、2018年の数億[13]から2020年には数千億[14]にまで増加しました。従来のRNNベースのモデルは線形アーキテクチャに制限されていたため、GPU上で効率的に学習することができず、このような大規模なモデルには対応できませんでした。 03 Transformers モデルにはスケーリングの問題があります。先ほど述べたように、この記事のアニメーションでは、リカレントニューラルネットワークとTransformerモデルは「ほぼ同じ量の作業を実行しました」と説明しました。しかし、それぞれの作業負荷は完全に同一ではありません。Transformerモデルの動作図を見てみましょう。 レイヤー間の交差する斜めの矢印に気づきましたか?これは注目メカニズムが機能していることを示しています。新しいトークンを作成する前に、トランスフォーマーベースの言語モデルは既存のすべてのトークンを「検査」し、最も関連性の高いトークンを特定します。 コンテキストが小さい場合、これらの比較にかかるコストは無視できるほどです。例えば、トークン数が10、100、あるいは1000個しかないコンテキストでは、これらのコストは負担にはなりません。しかし、コンテキストの長さが長くなるにつれて、アテンション機構の計算コストも増加します。コンテキストが長くなるほど、次のトークンを生成するために必要なアテンション操作(およびそれに応じた計算リソース)が増加します。 これは問題を引き起こします。アテンション機構に必要な計算能力は、トークンの総数に比例して増加します。例えば、10個のトークンを持つキューワードに414,720回のアテンション演算が必要な場合、以下の式が成り立ちます。
これは、コンテキストが128,000トークンを超えるとGoogleがGemini 1.5 Proの価格を2倍にする理由を説明できるかもしれません。128,001番目のトークンを生成するには、前の128,000個のトークンと比較する必要があり、これは1番目、10番目、100番目のトークンを生成するよりもはるかにコストがかかります。 04 注意の効率性と拡張性を向上させる。研究者たちは、注目メカニズムの最適化に多大な努力を注いできました。ある研究アプローチは、単一のGPUの計算効率を最大化することを目指しています。 先ほど説明したように、現代のGPUには数万もの実行ユニットが搭載されています。しかし、GPUが数学演算を実行する前に、特定の実行ユニット内で、低速な共有メモリ(高帯域幅メモリなど)から高速なメモリ(SRAMなど)へデータを移動する必要があります。場合によっては、GPUがデータ移動に費やす時間が、計算の実行時間を上回ることもあります。 プリンストン大学のコンピュータ科学者Tri Dao氏とその共同研究者は、一連の論文[15][16][17]において、低速なメモリ操作の必要性を最小限に抑える計算アテンション機構であるFlashAttentionを開発しました。Dao氏らの研究により、最新のGPUにおけるTransformerの性能が大幅に向上しました。 もう一つの研究分野は、複数のGPU間でアテンションを効率的にスケーリングする方法に焦点を当てています。広く引用されている論文の一つでは、リングアテンション機構[18]が紹介されています。これは、入力トークンをブロックに分割し、各ブロックを異なるGPUに割り当てることで機能します。GPUがリング構造として考えられ、各GPUが隣接するGPUにデータを渡すことから、リングアテンションと呼ばれています。 これは、かつて通っていた社交ダンスのクラスを思い出させます。そこでは、パートナーが輪になり、女性はじっと動かず、男性が交代でパートナーを組んでいました。最終的には、すべての男性がすべての女性と踊れるようになりました。円形注意の原理も同様です。「女性」はクエリベクトル(各トークンが「探しているもの」を記述)を表し、「男性」はキーベクトル(各トークンの特徴を記述)を表します。キーベクトルは一連のGPUに渡され、すべてのクエリベクトルと順番に乗算されます。 要約すると、循環アテンション機構は、大規模言語モデル(LLM)が計算タスクを複数のGPUに分散させることで、より大きなコンテキストウィンドウを処理できるようにします。ただし、個々のアテンション計算のコストは削減されません。 05 RNNは復活できるか?RNNは固定サイズの隠れ状態を持つため、Transformerのようなスケーリングの課題に直面しません。最初のトークン、100番目、あるいは100万番目のトークンを生成する場合でも、RNNに必要な計算リソースはほぼ同じです。これは、アテンションベースのモデルと比較したRNNの大きな利点です。 トランスフォーマーの登場以来、RNN の地位は低下していますが、研究者たちは諦めることなく、最新の GPU でのトレーニングに適した新しいバージョンの RNN の探索を続けています。 今年4月、GoogleはInfini-attention[19]と呼ばれる新しいモデルを発表しました。このモデルは、TransformerとRNNの「ハイブリッド」と言えます。Infini-attentionは、従来のTransformerと同様に最新のトークンを処理し、アテンションメカニズムを用いてそれらを記憶・想起します。 しかし、Infini-Attentionはコンテキスト内のすべてのトークンを記憶しようとするわけではありません。代わりに、RNNの隠れ状態に似た「圧縮メモリ」アプローチを用いて古いトークンを保存します。このデータ構造は少数のトークンの保存と呼び出しには最適ですが、トークンの数が増えるにつれて呼び出し率が低下します。 しかし、機械学習の分野でYouTubeでセンセーションを巻き起こしたヤニック・キルヒャーは、Googleのアプローチに満足していない。[20] 「この方法が確かに効果的で、無限の注意力を獲得する方法だと信じているつもりですが、それでもまだ懐疑的です」とキルチャー氏は述べた。「これは一種の圧縮記憶方式を使っており、記憶しながら保存していきますが、実際には保存方法を学習するわけではありません。ただ決定論的に保存するだけなので、何をどのように保存するかを私たちがほとんど制御できないのです。」 06 マンバは未来になるか?リカレントニューラルネットワーク(RNN)を復活させようとする多くの試みの中で、Mambaアーキテクチャは間違いなく最も注目すべきものです。これは、2023年12月に論文[21]で発表されたアーキテクチャで、コンピュータ科学者のTri Dao(前述のFlashAttentionの主任開発者でもある)とAlbert Guによって開発されました。 従来のRNNと同様に、Mambaはアテンションメカニズムに依存しません。Mambaには「メモリ」として機能する隠れ状態があります。この隠れ状態のサイズは固定されているため、入力プロンプトが長くなっても、Mambaが各トークンを処理するコストは増加しません。 3月にこの記事を書き始めた当初は、Mambaのアーキテクチャを深く掘り下げるつもりでした。しかし、5月に研究チームはMamba-2[22]をリリースしましたが、そのアーキテクチャはオリジナルのMambaとは大きく異なっていました。正直なところ、私はオリジナルのMambaの原理を理解しようとしており、Mamba-2の動作メカニズムをまだ完全には理解できていません。 ただし、Mamba にはトランスフォーマー モデルのパフォーマンスと従来の RNN の効率性を組み合わせる可能性があることを理解する必要があります。 6月、ダオ氏とグ氏はNVIDIAの研究者と共同で、80億のパラメータを持つMambaモデルを評価する論文[23]を発表しました。この研究では、Mambaモデルは複数のタスクにおいて同規模のモデルと同等の性能を示しましたが、コンテキスト学習とコンテキストからの情報抽出能力においてはわずかに劣ることがわかりました。 トランスフォーマーモデルはコンテキスト内のすべてのトークンを「記憶」できるため、情報抽出に優れています。そのため、コンテキストの長さが長くなるにつれて、トランスフォーマーモデルの効率は低下します。一方、Mambaはコンテキスト全体を固定サイズの状態に圧縮しようとするため、長いコンテキストを処理する際には一部の情報を破棄する必要があります。 Nvidiaチームは、24層のMamba層と4層のアテンション層を交互に配置するハイブリッドアーキテクチャを採用することで、最適なパフォーマンスを実現できることを発見しました。このハイブリッドアーキテクチャは、純粋なTransformerモデルと純粋なMambaモデルのどちらよりも優れた性能を発揮しました。 モデルは、初期のコンテキストから重要な詳細を記憶するために、いくつかの注意層を必要とします。しかし、必要な注意層の数はごくわずかのようです。残りの注意層は、モデル全体のパフォーマンスへの影響を最小限に抑えながら、より低コストのMamba層に置き換えることができます。 8月には、イスラエルのスタートアップ企業AI21がJamba 1.5シリーズのモデル[24]をリリースしました。最大版は3980億のパラメータを持ち、MetaのLlama 405Bモデルと同等のサイズです。Jamba 1.5 Largeモデルは、アテンション層としてMamba層の7倍の数を備えています。その結果、Jamba 1.5 Largeは、Metaや他の企業の類似モデルと比較して、必要なメモリが大幅に少なくなります。例えば、AI21は、Llama 3.1 70Bが256,000のコンテキストトークンを追跡するのに80GBのメモリが必要であると推定していますが、Jamba 1.5 Largeはわずか9GBしか必要としないため、より低性能のハードウェアでもモデルを実行できます。 Jamba 1.5 LargeモデルのMMLUスコアは80で、Llama 3.1 70Bの86を大きく下回っています。したがって、この基準では、MambaはTransformerモデルを完全に上回る性能ではありません。しかし、これは完全に公平な比較ではないかもしれません。Metaのような主要な研究機関は、MMLUなどのベンチマークでパフォーマンスを数パーセント向上させるために、トレーニングデータとトレーニング後のインフラストラクチャに多額の投資を行っています。このような徹底的な最適化により、Jambaと最先端モデルとの差は縮まる可能性があります。 したがって、コンテキストウィンドウを長くすることのメリットは明らかである一方で、この目標を達成するための最適な戦略は依然として不明確です。短期的には、AI企業はFlashAttentionやRingAttentionといった巧妙な効率化・スケーリング技術を用いて標準的なLLMを拡張し続けるかもしれません。長期的には、Mambaやその他のアテンションフリーアーキテクチャへの関心が高まる可能性があります。あるいは、誰かがTransformerを時代遅れにする全く新しいアーキテクチャを提案するかもしれません。 しかし、トランスフォーマーベースのフロンティアモデルを単純にスケールアップするだけでは完全な解決策にはならないと私は確信しています。数十億トークンを扱えるモデル(多くの人が求めているもの)を求めるのであれば、既成概念にとらわれず、新たなアプローチを見つける必要があります。 1 オンラインソースによると、ChatGPTは当初4,096トークンのコンテキストウィンドウを持つように設定されていましたが、リリース直後の実験[25]では、それ以上の数のトークンを記憶できることが示されました。 2. 10年前、リカレントニューラルネットワーク(RNN)は通常、エンコーダとデコーダの両方を備えていましたが、GPT-3のような現代の大規模言語モデル(LLM)はデコーダのみを備えていました。教育目的で、歴史的な規範から逸脱し、デコーダのみを備えたRNNモデルを提示しました。これにより、GPT-3のような現代のLLMとの比較が容易になります。2010年代初頭の実際のRNNモデルにも同じ分析アプローチが適用されますが、当時のモデルグラフはより複雑でした。 3GPUは中間計算結果を大容量の高帯域幅メモリに転送することができる。しかし、高帯域幅メモリ(HBM)の速度制限により、この操作では学習速度は向上しない[26]。 4. これは、1750億のパラメータを持つGPT-3のバージョンの初期推定値です。このバージョンには96層があり、各層には96個のアテンションヘッドがあります。したがって、実際にはトークンのペア間で9,216回のアテンション計算が必要になります。 5. Jamba モデルはハイブリッド エキスパート モデルです。つまり、特定のトークンに対して、ネットワークの一部 (980 億のパラメータのうち 3980 億) のみがアクティブ化され、使用されます。 読んでくれてありがとう! このブログを楽しんで、新しいことを学んでいただければ幸いです。 著者について ティモシー・B・リー ニュースレター「Understanding AI」を執筆し、ポッドキャスト「AI Summer」の共同ホストを務めています。以前はArs Technica、Vox、ワシントン・ポストで記者を務めていました。twitter.com/binarybits 終わり 今週のインタラクティブコンテンツ🍻 ❓長いコンテキストを処理する能力は、AIの発展にとってどのような意味を持つとお考えですか?情報処理能力の面で、人間とAIの最大のギャップは何でしょうか? 🔗記事内のリンク🔗 [1]https://platform.openai.com/docs/models/gp [2]https://www.anthropic.com/news/claude-3-5-sonnet [3]https://blog.google/technology/ai/google-gemini-update-flash-ai-assistant-io-2024/ [4]https://en.wikipedia.org/wiki/Vector_database [5]https://en.wikipedia.org/wiki/Multithreading_(コンピューターアーキテクチャ) [6]https://en.wikipedia.org/wiki/Moore%27s_law [7]https://en.wikipedia.org/wiki/GeForce_256 [8]https://www.techpowerup.com/gpu-specs/geforce-gtx-580.c270 [9]https://www.understandingai.org/p/why-the-deep-learning-boom-caught [10]https://arstechnica.com/science/2018/12/how-computers-got-shockingly-good-at-recognizing-images/3/ [11]https://arxiv.org/pdf/1409.0473 [12]https://arxiv.org/abs/1706.03762 [13]https://en.wikipedia.org/wiki/GPT-1 [14]https://en.wikipedia.org/wiki/GPT-3 [15]https://arxiv.org/abs/2205.14135 [16]https://arxiv.org/abs/2307.08691 [17]https://arxiv.org/abs/2407.08608 [18]https://arxiv.org/abs/2310.01889 [19]https://arxiv.org/abs/2404.07143 [20]https://www.youtube.com/watch?v=r_UBBfTPcF0&t=2s [21]https://arxiv.org/abs/2312.00752 [22]https://arxiv.org/abs/2405.21060 [23]https://arxiv.org/abs/2406.07887 [24]https://arxiv.org/abs/2408.12570 [25]https://x.com/goodside/status/1598874674204618753 [26]https://en.wikipedia.org/wiki/High_Bandwidth_Memory オリジナルリンク: https://www.understandingai.org/p/why-large-language-models-struggle |
01 GPUがディープラーニングを実現する02 トランスフォーマーが自然言語理解のボトルネックを突破03 Transformers モデルにはスケーリングの問題があります。04 注意の効率性と拡張性を向上させる。05 RNNは復活できるか?06 マンバは未来になるか? |