ソフトウェア

処理するトークンが増えすぎるとAI言語モデルが動作困難になる理由、計算コストは​​入力サイズの2乗に比例


ChatGPTなど、人間から得た情報を解釈して人間にわかりやすく返答する生成AIは、情報を「トークン」という単位で認識して処理を行っています。近年のAIは一度に何百万ものトークンを処理できるモデルもありますが、人間が求める専門的なタスクを処理するにはまだまだ不十分だという考え方もあります。ところが、処理可能なトークン数を増やすと現状のAIは動作困難になってしまうという問題があるのも事実。なぜ動作困難になるのかについて、テクノロジー系メディアのArs Technicaが解説しています。

Why AI language models choke on too much text - Ars Technica
https://arstechnica.com/ai/2024/12/why-ai-language-models-choke-on-too-much-text/

そもそも「トークン」とは、大規模言語モデルが処理する情報の単位であり、英語であればおおむね1単語当たり1トークンで計算されます。ただし単語の長さによって例外があり、例えばOpenAIの「GPT-4o」などは「the」や「it」を1トークンで処理しますが、「indivisible」は「ind」「iv」「isible」といったように複数に分割して3トークンとして処理します。どの単語がどんなトークン数で処理されるのかは以下の記事で確認できます。

ChatGPTなどのチャットAIがどんな風に文章をトークンとして認識しているのかが一目で分かる「Tokenizer」 - GIGAZINE


生成AIチャットサービスの先駆けとして知られる「ChatGPT」は、リリース当初の処理能力はわずか8192トークンでした。これはおよそ6000語のテキストに相当し、これ以上のテキストを与えると「文章の頭から順番に情報を忘れてしまう」という制限がありました。

この制限は、AIモデルが年々進化を続けるにつれて緩和されつつあります。GPT-4oは12万8000トークンを処理でき、AnthropicのClaude 3.5 Sonnetは20万トークン、GoogleのGemini 1.5 Proは200万トークンを受け付けるなど、ちょっとしたタスクをAIに任せるには十分すぎる量になってきています。

それでも、人間レベルの認知能力を持つAIシステムを望むのであれば、まだまだ進歩が必要です。人間というものは活動している間にいくつもの情報を仕入れる生き物で、例えば辺りを見渡すだけでも、何かの物体があること、その物体の色や形、物体がなぜそこにあるのか、物理現象はどう働いているのか、といったさまざまな情報を複合的に認知・理解できます。人間レベルの知能を達成するためには、AIシステムにも同様の情報量を吸収させる能力が必要になるのです。


Ars Technicaによると、大量の情報を扱う大規模言語モデル(LLM)のシステムを構築する最も一般的な方法は、検索支援型生成(RAG)と呼ばれる技術だそうです。RAGとは、ユーザーの質問に関連する文書を外部のデータベースで検索し、最も関連性の高い文書を抽出してトークンを生成し、ユーザーの質問と合わせて処理することで情報を生成する方法です。

Ars Technicaいわく、RAGが最も関連性の高い文書を見つけるためのメカニズムはあまり洗練されておらず、例えばユーザーが複雑で分かりにくい質問をした場合にRAGが間違った文書を検索してしまい、間違った答えを返す可能性が高いそうです。加えて大量の文書に対して洗練された方法で推論することはできず、「何十万通もの電子メールを要約させる」「工場に設置した何千時間ものカメラ映像を分析させる」など大量の情報を読み込ませたい場合、RAGは適さないといいます。

このことから、Ars Technicaは「今日のLLMは、大量の情報を吸収し理解する能力において、明らかに人間以下である」と指摘しています。


もちろん、LLMはトレーニングをする時に超人的な量の情報を吸収するのは事実です。最新のAIモデルは人間が読んだり聞いたりするよりもはるかに多い何兆ものトークンで訓練されています。しかし、専門的な知識を深めるために必要な情報の多くは自由にアクセスできるものではなく、専門的な知識はトレーニング時ではなくユーザーが実際に使う際に教え込む必要があります。そのため、AIモデルには使用時に200万以上のトークンを読み、記憶してもらう必要があるのですが、これは容易ではありません。

その理由は、近年のLLMが「アテンション」という演算を行っているためだとArs Technicaは指摘しています。LLMは新しいトークンを生成する前にアテンション演算を行い、最新のトークンを以前のトークンと比較するのですが、こうするとトークンが大きくなるにつれて効率が悪くなっていきます。


そもそも、このような演算をするのはハードウェアの性能に起因します。もともとAIの処理にはCPUが使われていて、ハードウェアメーカーは当初はCPUの処理性能を上げるためにCPUの「鼓動」とも言えるクロックの周波数を上げることで対応していました。しかし2000年代初頭、CPUの過熱という問題が出現するようになり、この手法には限界が見られ始めました。

代わりにハードウェアメーカーは一度に複数の命令を実行できるCPUを作り始めたのですが、命令を順番に実行しなければならず、動作が高速にならないという問題がありました。これを解決したのがGPUでした。


GPUメーカーのNVIDIAが開発したGPUの一部は、ゲーム内の壁、武器、モンスター、その他のオブジェクトを何千もの「三角形」で構築し、それぞれの三角形を高速に描画することに適していました。このGPUは命令を1つずつ実行する単一のプロセッサではなく、並列に動作する12個の特殊なコアを備えていて、三角形をどのような順序でも描画できるのを特徴としていました。やがてNVIDIAは数十、数百、そして最終的には数千のコアを持つGPUを製造できるようになり、人々はこのGPUをゲーム以外の用途に使い始めたのです。

2012年、トロント大学の3人のコンピュータ科学者は、2台のNVIDIA GTX 580を使用して、画像を認識するためのニューラルネットワークを訓練しました。それぞれ512個のコアを持つGPUの巨大な計算能力により、当時としては驚異的な6000万個のパラメータを持つネットワークを訓練することができ、画像認識精度の新記録を樹立しました。

研究者たちは、自然言語を含むさまざまな領域に同様の技術を適用するようになったのですが、その1つがリカレント・ニューラル・ネットワーク(RNN)というものでした。RNNは自然言語を理解するためのアーキテクチャで、「一度に1単語ずつ言語を処理し、各単語の処理が終わるごとに、これまで理解した文を数字として記録したリストを更新する」という特徴を備えていました。

RNNは短い文章ではうまく機能しましたが、長い文章では苦戦しました。長い文章を推論する際、RNNは文の序盤で重要な単語を「忘れる」ことがあったのです。これを改善したのが2014年で、コンピューター科学者により「文中の前の単語を振り返る」というメカニズムがRNNに追加され、パフォーマンスが大幅に向上しました。


ところが2017年、Googleの研究者がRNNとRNNのリストを完全に廃止するメカニズム「トランスフォーマー」を開発します。これまで「文章中の単語を頭から順番に処理する」というメカニズムだったのを、「すべての単語を同時に処理する」というメカニズムに変えたことで、GPUの並列計算能力を生かしつつ、言語モデルの規模拡大における深刻なボトルネックを解消することに成功しました。

トランスフォーマーにより、主要なLLMの処理能力は数億パラメーターから数千億パラメーターにまで成長したのですが、「すべての単語について同時に処理する」という特徴により、トークン数が増えれば増えるほど計算コストは容赦なく増大してしまいます。例えば10トークンのプロンプトに41万4720回のアテンション演算が必要だとすると、100トークンで4560万回、1万トークンだと4600億回にもなります。

この動作を最適化するため、GPUから最大限の効率を引き出そうとする研究が進められています。その1つが「Mamba」というアーキテクチャで、トランスフォーマーのような性能と従来のRNNのような効率を両立させる可能性を秘めているのが特徴です。

Ars Technicaは「長いトークンを扱うことの利点は明らかですが、そこに到達するための最善の戦略はわかりません。長期的にはMambaや他のアーキテクチャへの関心が高まるかもしれず、あるいはMambaやトランスフォーマーを上回るような全く新しいアーキテクチャを誰かが考え出すかもしれません。何十億ものトークンを扱えるモデルを望むのであれば、既成概念にとらわれない発想が必要になるでしょう」と述べました。

この記事のタイトルとURLをコピーする

・関連記事
検索や分類などの用途のためにベクトル化を行うモデル「BERT」の後継モデル「ModernBERT」が登場 - GIGAZINE

MITからスピンオフした「Liquid AI」が非トランスフォーマーAIモデル「LFM 1B・3B・40B MoE」をリリース - GIGAZINE

ニューラルネットワークの中身を分割してAIの動作を分析・制御する試みが成功、ニューロン単位ではなく「特徴」単位にまとめるのがポイント - GIGAZINE

in ソフトウェア, Posted by log1p_kr

You can read the machine translated English article here.