「ストリーミングLLMの紹介 無限長の入力に対するLLM」
「ストリーミングLLMの魅力:無限長入力に対するLLMの魔法」
大型言語モデル(LLM)は、人々が働く方法を変えました。広く使用されるGPTファミリーのようなモデルを使うことで、みんなはこれらのモデルに慣れてきました。LLMのパワーを活用することで、質問に迅速に回答を得ることができますし、コードのデバッグなどもできます。これにより、多くのアプリケーションでモデルが役立つのです。
LLMの課題の一つは、モデルが事前に定義されたトレーニングシーケンスの長さを超える長い会話を扱うことができないため、ストリーミングアプリケーションには適していないということです。さらに、メモリの消費量も問題となっています。
以上の問題を解決するために、これらの研究が生まれました。この研究について詳しく見ていきましょう。
- 自分自身のGPTをChatGPTのGPTで作成しましょう!
- 3Dボディモデルに音声が付きました:Meta AIが完全な人体に対して正確な3D空間音響を生成できる人工知能モデルを紹介
- Google AIが簡単なエンドツーエンドの拡散ベースのテキスト読み上げE3-TTSを提案します:拡散に基づくシンプルで効率的なエンドツーエンドのテキスト読み上げモデルに基づくものです
StreamingLLM
StreamingLLMは、ストリーミングアプリケーションの問題に取り組むために、Xiao et al.(2023年)の研究によって確立されたフレームワークです。既存の手法は、事前学習中にLLMを制約するアテンションウィンドウの問題に直面しています。
アテンションウィンドウのテクニックは効率的かもしれませんが、キャッシュサイズよりも長いテキストを扱う際には使いにくいです。そのため、研究者は最初のトークン(アテンションシンク)のキーとバリューステートを使用し、最近のトークンと組み合わせることでStreamingLLMと他の手法との比較を行っています。それを以下の画像で見ることができます。
StreamingLLMがどのように課題に取り組んでいるか、アテンションシンクの方法を使っていることがわかります。このアテンションシンク(初期トークン)は安定したアテンション計算のために使用され、効率的かつ長いテキストでも安定したパフォーマンスを維持します。
さらに、既存の手法はメモリの最適化に苦労しています。しかし、LLMは最近のトークンのキーとバリューステートの固定サイズウィンドウを維持することで、これらの問題を回避しています。著者はまた、StreamingLLMのスライドウィンドウ再計算ベースラインによる最大22.2倍の高速化の利点にも触れています。
パフォーマンスの面では、StreamingLLMはベンチマークデータセットで他の手法と比較して優れた精度を提供しています。以下の表で確認できます。
上の表では、StreamingLLMの精度がベンチマークデータセットで他の手法を上回ることが示されています。そのため、StreamingLLMは多くのストリーミングアプリケーションに潜在的な可能性を持っていると言えます。
StreamingLLMを試してみるには、彼らのGitHubのページを訪れることができます。該当のディレクトリでリポジトリをクローンし、以下のコードをCLIで使用して環境を設定できます。
conda create -yn streaming python=3.8conda activate streamingpip install torch torchvision torchaudiopip install transformers==4.33.0 accelerate datasets evaluate wandb scikit-learn scipy sentencepiecepython setup.py develop
それから、以下のコードを使用してLLMstreamingでLlamaチャットボットを実行できます。
CUDA_VISIBLE_DEVICES=0 python examples/run_streaming_llama.py --enable_streaming
StreamingLLMの全体的なサンプル比較は、以下の画像で示されています。
以上がStreamingLLMの紹介でした。全体的に、StreamingLLMはストリーミングアプリケーションにおいて重要な役割を果たし、アプリケーションの動作に変革をもたらすことができると私は考えています。
結論
ストリーミングアプリケーションにLLMを導入することは、長期的にはビジネスに助けになりますが、実装にはいくつかの課題があります。ほとんどのLLMは事前に定義されたトレーニングシーケンスの長さを超えることができず、メモリの消費量も多くなります。Xiao et al.(2023年)はStreamingLLMという新しいフレームワークを開発し、これらの問題を解決することができました。StreamingLLMを使用することで、ストリーミングアプリケーションで動作するLLMを実現することができるようになりました。
[Cornellius Yudha Wijaya](https://www.linkedin.com/in/cornellius-yudha-wijaya/)はデータサイエンスのアシスタントマネージャーであり、データライターでもあります。Allianz インドネシアでフルタイムで働きながら、彼はソーシャルメディアと執筆メディアを通じてPythonとデータのヒントを共有することが大好きです。
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