ホームページ > 記事 > テクノロジー周辺機器 > 最大 400 万のトークン コンテキストと 22 倍高速な推論を備えた StreamingLLM は人気があり、GitHub で 2.5,000 個のスターを獲得しています。
会話型 AI ボットとやり取りしたことがあるなら、非常にイライラした瞬間を覚えているでしょう。たとえば、前日の会話であなたが話した重要な事柄は AI によって完全に忘れられました...
これは、現在の LLM が限られたコンテキストしか覚えていないためです。試験のための予備校の場合、少し質問すればその欠点が明らかになります。
AI アシスタントが数週間または数か月前の会話をチャットで状況に応じて参照できたり、AI アシスタントに数千ページのレポートを要約するよう依頼できたらどうでしょうか長いから、こんなこと あなたの能力は羨ましいですか?
LLM がより多くのコンテンツを記憶し、記憶できるようにするために、研究者たちは懸命に取り組んできました。最近、MIT、メタ AI、カーネギー メロン大学の研究者は、言語モデルが無限のテキストをスムーズに処理できるようにする「StreamingLLM」と呼ばれる手法を提案しました。
論文アドレス: https://arxiv.org/pdf/2309.17453.pdf
# 具体的には、StreamingLLM は次のとおりです。 a 言語モデルが最後の試合のスコア、生まれたばかりの赤ちゃんの名前、長い契約、または討論の内容を正確に記憶できるようにするテクノロジー。 AI アシスタントのメモリをアップグレードするのと同じように、より重いワークロードを完璧に処理できます。
# 技術的な詳細を見てみましょう。
メソッドの革新
通常、LLM は事前トレーニング中のアテンション ウィンドウによって制限されます。このウィンドウ サイズを拡大し、トレーニングと推論の効率を向上させるためにこれまで多くの研究が行われてきましたが、LLM の許容シーケンス長は依然として制限されており、永続的な展開には適していません。この論文で、研究者は最初に LLM ストリーム アプリケーションの概念を紹介し、「効率とパフォーマンスを犠牲にすることなく無限の長さで使用できるのか? 入力展開 LLM は?」という疑問を提起しました。
1. デコード段階では、トランスフォーマー図 1 (a) に示すように、ベースの LLM は以前のすべてのトークンのキーと値のステータス (KV) をキャッシュするため、過剰なメモリ使用量が発生し、デコード遅延が増加する可能性があります。既存のモデルの長さの外挿能力は制限されており、シーケンスの長さが事前トレーニング中に設定されたアテンション ウィンドウ サイズを超えると、パフォーマンスが低下します。
直感的な方法は、ウィンドウ アテンションと呼ばれます (図 1 b)。この方法は、最新のトークンのみに焦点を当てます。 KV 状態のウィンドウを使用すると、キャッシュがいっぱいになった後も安定したメモリ使用量とデコード速度を維持できますが、シーケンスの長さがキャッシュ サイズを超えると、最初のトークンの KV だけでも追い出されます。モデルは崩壊します。 。もう 1 つの方法は、スライディング ウィンドウを再計算することです (図 1 c に示されています)。この方法では、生成されたトークンごとに最近のトークンの KV 状態が再構築されます。パフォーマンスは強力ですが、ウィンドウ内で二次的な注意を計算する必要があります。結果は大幅に遅くなり、実際のストリーミング アプリケーションでは理想的ではありません。
研究者たちは、ウィンドウ アテンションの失敗を研究する過程で、興味深い現象を発見しました。図 2 によると、タグが言語に関連しているかどうかに関係なく、初期タグに多数のアテンション スコアが割り当てられています。モデリング タスクに関連する
研究者はこれらのトークンを「アテンション プール」と呼んでいます。意味的な意味はありませんが、重要な役割を果たします。注目ポイントがたくさん。研究者らは、この現象は Softmax (すべてのコンテキスト トークンのアテンション スコアの合計が 1 である必要がある) のせいだと考えています。現在のクエリに以前の多くのトークンの間で強い一致がない場合でも、モデルはこれらの不必要なアテンションを転送する必要があります。 . 合計が 1 になるように値がどこかに割り当てられます。最初のトークンが「プール」になる理由は直感的です。自己回帰言語モデリングの特性により、最初のトークンは後続のほぼすべてのトークンに表示されるため、アテンション プールとしてトレーニングすることが容易になります。
上記の洞察に基づいて、研究者は StreamingLLM を提案しました。これは、制限されたアテンション ウィンドウでトレーニングされたアテンション モデルが微調整することなく無限に長いテキストを処理できるようにする、シンプルかつ効率的なフレームワークです。
StreamingLLM はアテンションを活用します。プールには高いアテンション値があり、保持されます。これらのアテンション プールにより、アテンション スコアの分布を正規分布に近づけることができます。したがって、StreamingLLM は、アテンションの計算を固定し、モデルのパフォーマンスを安定させるために、アテンション プール トークンの KV 値 (初期トークン 4 つだけで十分) とスライディング ウィンドウの KV 値を保持するだけで済みます。
Llama-2-[7,13,70] B、MPT-[7,30] B、Falcon-[7,40] B、および Pythia [2.9 を含む StreamingLLM を使用する] ,6.9,12] B を含むモデルは、400 万以上のトークンを確実にシミュレートできます。
スライディング ウィンドウの再計算と比較して、StreamingLLM はパフォーマンスを損なうことなく 22.2 倍高速です。
実験では、図 3 に示すように、20K トークンにわたるテキストの場合、StreamingLLM の複雑さは、スライディング ウィンドウを再計算する Oracle のベースラインに匹敵します。同時に、入力長が事前トレーニング ウィンドウを超えると、高密度アテンションは失敗し、入力長がキャッシュ サイズを超えると、ウィンドウ アテンションがスタックし、最初のタグが削除されてしまいます
# 図 5 は、StreamingLLM の信頼性をさらに裏付けています。StreamingLLM は、さまざまなモデル ファミリとサイズをカバーし、400 万を超えるトークンを含む、型破りなスケールのテキストを処理できます。これらのモデルには、Llama-2-[7,13,70] B、Falcon-[7,40] B、Pythia-[2.8,6.9,12] B、MPT-[7,30] B# が含まれます。
## その後、研究者らは「アテンション プール」の仮説を確認し、言語モデルは事前トレーニング可能であり、ストリーミング デプロイ中に必要なアテンション プール トークンは 1 つだけであることを証明しました。具体的には、すべてのトレーニング サンプルの先頭に、指定されたアテンション プールとして学習可能なトークンを追加することを提案しています。研究者らは、1 億 6,000 万個のパラメーターを使用して言語モデルをゼロから事前トレーニングすることにより、私たちの方法がモデルのパフォーマンスを維持できることを実証しました。これは、同じレベルのパフォーマンスを達成するために複数の初期トークンをアテンション プールとして再導入する必要がある現在の言語モデルとは大きく対照的です。最後に、研究者らは、単一の NVIDIA A6000 GPU 上の Llama-2-7B と Llama- を使用して、StreamingLLM のデコード レイテンシとメモリ使用量を、再計算されたスライディング ウィンドウと比較しました。モデルがテストされました。図 10 の結果によると、キャッシュ サイズが増加するにつれて、StreamingLLM のデコード速度は直線的に増加しますが、デコード遅延は二次関数的に増加します。実験により、StreamingLLM が各トークンの速度を最大 22.2 倍に向上させ、驚異的な高速化を達成することが証明されました。詳細 研究の詳細については、元の論文を参照してください。
以上が最大 400 万のトークン コンテキストと 22 倍高速な推論を備えた StreamingLLM は人気があり、GitHub で 2.5,000 個のスターを獲得しています。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。