「たった1行のコードで、Optimum-NVIDIAが驚くほど高速なLLM推論を解除します」
「たった1行のコードで、Optimum-NVIDIAが驚くほど高速なLLM推論を実現します」
大規模言語モデル(LLM)は、自然言語処理を革新し、複雑な問題を解決するためにますます展開されています。これらのモデルの最適な性能を達成することは、固有の計算的要求のために非常に困難です。最適化されたLLMの性能は、応答性のある高速な体験を求めるエンドユーザーだけでなく、改善されたスループットがコスト削減に直結するスケーリング展開にとっても非常に価値があります。
それがOptimum-NVIDIAの役割です。Hugging Faceで利用できるOptimum-NVIDIAは、非常にシンプルなAPIを通じてNVIDIAプラットフォーム上のLLMの推論を劇的に高速化します。たった1行のコードを変更するだけで、NVIDIAプラットフォーム上で最大28倍の高速な推論速度と1,200トークン/秒を実現することができます。
Optimum-NVIDIAは、NVIDIA Ada LovelaceおよびHopperアーキテクチャでサポートされる新しいfloat8
フォーマットを活用した最初のHugging Face推論ライブラリです。さらに、NVIDIA TensorRT-LLMソフトウェアソフトウェアの高度なコンパイル機能により、LLMの推論を劇的に高速化します。
実行方法
Optimum-NVIDIAを使用したパイプラインで、素早い推論速度でLLaMAを実行するには、わずか3行のコードで開始できます。Hugging Faceのtransformersライブラリを使用してLLaMAを実行するためのパイプラインを既に設定している場合、パフォーマンスのピークを解除するためにわずかなコードの変更のみが必要です!
- 「イーロン・マスクのxAI、10億ドルの資金調達を目指す」
- 「クリスマスラッシュ」3Dシーンが今週の「NVIDIA Studio」でホリデーのチアをもたらします」
- 「アナコンダのCEO兼共同創業者、ピーターウォングによるインタビューシリーズ」
- from transformers.pipelines import pipeline+ from optimum.nvidia.pipelines import pipeline# transformersと同じです!pipe = pipeline('text-generation', 'meta-llama/Llama-2-7b-chat-hf', use_fp8=True)pipe("持続可能なエネルギーにおけるAIの実世界アプリケーションを説明してください。")
シングルフラグを使用してFP8量子化を有効にすることもできます。これにより、1つのGPU上で大きなモデルを高速かつ高速に実行し、精度を犠牲にすることなく動作させることができます。この例では、予め定義されたキャリブレーション戦略を使用していますが、独自のキャリブレーションデータセットとカスタマイズされたトークン化を提供することで、量子化を使用事例に合わせて調整することもできます。
- from transformers import LlamaForCausalLM+ from optimum.nvidia import AutoModelForCausalLMfrom transformers import AutoTokenizertokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2-13b-chat-hf", padding_side="left")model = AutoModelForCausalLM.from_pretrained( "meta-llama/Llama-2-13b-chat-hf",+ use_fp8=True, )model_inputs = tokenizer( ["自律型車両技術は、輸送と都市計画の未来をどのように変革していますか?"], return_tensors="pt").to("cuda")generated_ids, generated_length = model.generate( **model_inputs, top_k=40, top_p=0.7, repetition_penalty=10,)tokenizer.batch_decode(generated_ids[0], skip_special_tokens=True)
詳細については、ドキュメントをご覧ください。
パフォーマンス評価
LLMのパフォーマンスを評価する際には、2つのメトリックスを考慮します:最初のトークンレイテンシとスループットです。最初のトークンレイテンシ(または最初のトークンの取得にかかる時間または事前充填レイテンシとも呼ばれます)は、入力プロンプトを入力してから出力を受け取るまでの待ち時間を測定するもので、モデルの反応性を示すメトリックスです。Optimum-NVIDIAは、標準のtransformersに比べて最大で3.3倍高速な最初のトークンレイテンシを提供します。
一方、スループットはモデルがトークンを生成する速度を測定し、特にバッチでの生成をまとめて実行したい場合に重要です。スループットを計算するためのいくつかの方法がありますが、我々はエンドツーエンドのレイテンシをバッチごとの全てのバッチでの入力と出力トークンの合計シーケンス長で割る標準的な方法を採用しています。Optimum-NVIDIAは、標準のtransformersに比べて最大28倍の高速なスループットを提供します。
最近発表されたNVIDIA H200 Tensor Core GPUの初期評価では、NVIDIA H100 Tensor Core GPUと比較してLLaMAモデルのスループットが最大2倍向上することが示されています。H200がより利用可能になると、Optimum-NVIDIAでのH200のパフォーマンスデータを共有します。
次のステップ
Optimum-NVIDIAは現在、LLaMAForCausalLMアーキテクチャ+タスクのピークパフォーマンスを提供しているため、LLaMAベースのモデル(ファインチューニングバージョンを含む)は、今日からOptimum-NVIDIAで問題なく動作するはずです。Hugging Face内から、他のテキスト生成モデルアーキテクチャや他のタスクもサポートを拡大しています。
私たちはパフォーマンスの境界を em>の広げるため、プロンプトをストリーミングする際のスループットを向上させるためにIn-Flight Batchingなどの最先端の最適化技術を採用する予定です。また、1つのGPUでさらに大きなモデルを実行するためのINT4量子化も取り入れる予定です。
本日から、Optimum-NVIDIAリポジトリの最初のベータバージョンを公開し、スタートガイドなどの手順を説明しています。ぜひお試しください!ご意見をお寄せください 🤗!
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