私たちはどのように大規模な言語モデルをストリーミングアプリケーションで効率的に展開できるのでしょうか?このAI論文では、無限のシーケンス長のためのStreamingLLMフレームワークを紹介しています
大規模な言語モデルをストリーミングアプリケーションで効率的に展開する方法とは?AI論文によると、「StreamingLLMフレームワーク」が無限のシーケンス長に対応しています
大きな言語モデル(LLM)は、コード補完、質問応答、文書要約、対話システムなど自然言語処理アプリケーションのパワーとして、ますます使用されています。事前にトレーニングされたLLMは、正確かつ迅速に拡張シーケンス作成を行う必要があり、その全ての潜在能力を発揮するためには可能な限り大量のシーケンスを処理できる必要があります。例えば、最近の日中のチャットのコンテンツを信頼性を持って編集する理想的なチャットボットヘルパーです。4KのLlama-2など、事前学習されたものよりも大きなシーケンス長に一般化することは、LLMにとって非常に困難です。事前トレーニング中のアテンションウィンドウのため、LLMは制約されます。
長い入力に対してこのウィンドウの大きさを拡張し、トレーニングと推論の効果を高めるための取り組みが行われていますが、許容されるシーケンス長はまだ見直す必要があり、永続的な展開を妨げています。MIT、Meta AI、カーネギーメロン大学の研究者らは、この研究で最初にLLMストリーミングアプリケーションのアイデアを検討し、次の質問を提起しています:LLMを無限の入力ストリームに使用する際には、2つの主要な問題が浮かび上がります:
1. TransformerベースのLLMは、デコーディングステージ中にすべての前のトークンのKeyとValueの状態(KV)をキャッシュします(図1(a)参照)。これは、過剰なメモリ使用量とデコードの遅延の増加を引き起こす可能性があります。
- ウェイモのMotionLMを紹介します:最新型のマルチエージェントモーション予測アプローチで、大規模言語モデル(LLM)が自動車の運転をサポートできるようにする可能性のあるものです
- CPR-CoachによるCPRトレーニングの革命:エラー認識と評価に人工知能を活用
- Amazon SageMakerのCanvas sentiment analysisとtext analysisモデルを使用して製品レビューから洞察を抽出するために、ノーコードの機械学習を使用してください
2. シーケンスの期間が事前学習中のアテンションウィンドウサイズを超えると、既存のモデルのパフォーマンスが低下します。
図1は、StreamingLLMと以前の技術を比較しています。トークンT(T>>L)は、長さLのテキストで事前トレーニングされた言語モデルによって予測されます。(a)密なアテンションはキャッシュ容量が上昇し、時間の複雑さがO(T^2)になります。テキストの長さが事前トレーニングのテキスト長を超えるとパフォーマンスが低下します。(b)ウィンドウアテンションは、キャッシュ中で最新のLトークンのKVを保存します。推論ではパフォーマンスが良いですが、最初のトークンのキーと値が削除されると急速に悪化します。新しいトークンごとに、(c)スライディングウィンドウとリコンピューテーションは、最新のLトークンを使用してKV状態を再構築します。長いテキストの処理には優れていますが、O(T L^2)の計算量と文脈の再計算における二次関数のアテンションのため、非常に遅いです。(d)「ステディなアテンションの計算のため、StreamingLLMは最新のトークンとともに少数の初期トークンをアテンションシンクとして保持します。長いテキストに対して効果的かつ一貫して機能します。Llama-2-13Bモデルは、PG-19テストセットの最初の本(65Kトークン)におけるPerplexityを計算するために使用されます。
ウィンドウアテンションは、最新のトークンのKV状態の固定サイズのスライディングウィンドウを保持する明確な戦略です(図1b)。最初のトークンのKVを排除するだけで、シーケンス長がキャッシュ容量を超えると、モデルは崩壊します。キャッシュが最初に一杯になった後も、一貫したメモリ使用量とデコード性能を保証します。さらなる戦略として、再計算を行うスライディングウィンドウ(図1c)があります。このテクニックは、ウィンドウ内の二次関数のアテンション計算により、非常に遅くなりますが、パフォーマンスは良好です。これは、実世界のストリーミングアプリケーションには適していません。
ウィンドウアテンションの失敗を説明するための自己回帰LLMの興味深い現象を彼らは発見しました。言語モデリングのタスクと関連性に関係なく、初期トークンに驚くほど高いアテンションスコアが割り当てられています。これらのトークンは「アテンションシンク」と呼ばれ、意味的な価値はほとんどありませんが、重要なアテンションスコアを受け取ります。関連するトークンすべてにおいてアテンションスコアが1になる必要があるソフトマックス処理が原因とされています。そのため、現在のクエリが多くの以前のトークンと良い一致がない場合でも、モデルはこれらの余分なアテンション値を一に加える必要があります。
初期トークンは、シンプルな理由で注意の溜め場として使用されます: 自己回帰型言語モデリングの性質により、実質的にすべての後続トークンに対して可視性があり、トレーニングが容易です。前述の発見に基づいて、ストリーミングLLMという直感的で効果的なアーキテクチャを提案しています。これにより、有限な注意ウィンドウで準備されたLLMが、細かな調整なしで無期限のテキストに対応できるようになります。注意の消耗が高いため、StreamingLLMはこの特性を活用して注目度の分布を適度に維持します。StreamingLLMは、スライディングウィンドウのキーバリューと初期トークンの注目計算とモデルの安定性を維持するために使用されます (初期トークンはわずか4つだけ必要です)。
Llama-2-B、MPT-B、Falcon-B、およびPythiaBのようなモデルは、StreamingLLMの助けを借りて4百万トークンを正確に表現できるでしょう、さらに多くの可能性もあります。StreamingLLMは、再計算を伴うスライディングウィンドウとの比較で最大22.2倍の高速化を実現し、LLMのストリーミング使用を実現します。最後に、言語モデルはストリーミング展開に必要な注目の溜め場トークンを単一にすることが事前学習で可能であることを示しています。トレーニングサンプルの開始時に、選択した注目の溜め場を追加の学習可能なトークンとして実装することを提案しています。この単一の溜め場トークンの導入により、1億6000万パラメータからゼロから言語モデルを事前学習することで、ストリーミングインスタンスにおけるモデルのパフォーマンスを維持できます。これは、同じパフォーマンスレベルを維持するために複数の初期トークンを溜め場として再導入する必要があるバニラモデルとは対照的です。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- 「Java での AI:Spring Boot と LangChain を使用して ChatGPT のクローンを構築する」
- 「ChatGPTがGPT-4V(Vision)とともに視覚を獲得することで、マルチモーダルAIが進化します」
- セールスフォース・アインシュタイン:あなたは顧客との関係を築きます、AIがそれらを自動的に維持する手助けをします
- 「改善された推論のためのアナロジー提示による言語モデルの拡張」
- 私たちは本当に人工知能AIウォーターマーキングを信頼できるのでしょうか? このAI論文は、現在のディープフェイクの防御方法の脆弱性を暴きます
- 大型言語モデルへの優しい導入
- Google DeepMindは、直接報酬微調整(DRaFT)を導入しました:微分可能な報酬関数を最大化するための効果的な人工知能手法における拡散モデルの微調整