ハオのガジェット工房

※当サイトでは一部アフィリエイト広告を利用しています。自作PC、スマホを中心とした最新情報をお届けします。

NVIDIA、TensorRTでAI性能を向上

クエイサゾン

 

 

NVIDIAは、AI/ML(AI/Machine Learning)およびLLM(大規模言語モデル)ツールスイートをさらに改善しました。最近追加されたTensorRTとTensorRT-LLMは、消費者GPUと複数の最高のグラフィックカードのパフォーマンスを最適化し、Stable DiffusionやLlama 2のテキスト生成などのタスクを実行するように設計されています。TensorRTを使用して一部のNvidiaの最新のGPUをテストしたところ、ステープルディフュージョンのパフォーマンスが最大70%向上することがわかりました。この初期テストでは早期アクセスバージョンを試しましたが、現在NvidiaのGithubページからTensorRTをダウンロードできます。

 

ここ1年余りの間、安定的な拡散に多くの動きがありました。最初のルックではAutomatic1111のwebiiを使用しましたが、最初はWindowsでNvidia GPUのみをサポートしました。それ以来、イメージAI作成ツールのフォークと代替テキストの数が爆発的に増加し、AMDとIntelの両方がより細かく調整されたライブラリをリリースし、Nvidiaのパフォーマンスとのギャップをある程度絞り込みました。最新のStable Diffusionベンチマークは、AMD RX 7800 XTおよびRX 7700 XTのレビューで確認できます。NVIDIAはTensorRTで再びギャップを広げる準備が整いました。

 

基本的なアイデアは、AMDとIntelがすでにやってきたものと似ています。AIおよびMLモデルとオペレータのためのオープンフォーマットであるONNXを活用して、基本的なハギングフェース安定拡散モデルをONNXフォーマットに変換します。ここで使用している特定のGPUに合わせてパフォーマンスをさらに最適化できます。TensorRTを調整するには数分かかりますが、一度完了するとメモリ使用率が向上し、パフォーマンスが大幅に向上します。

 

私たちは、最適なパフォーマンスを得るためにそれぞれ個別に実行する必要があるチューニングプロセスを通じて、すべてのNvidiaの最新のRTX 40シリーズGPUを実行し、基本的なStable Diffusionパフォーマンスとxformersを使用したパフォーマンスもテストしました。最新のオプティマイザを使用して複数の追加GPUを再テストしているため、Stable DiffusionのAMD、Intel、Nvidiaのパフォーマンスを比較するフルアップデートはまだ準備されていないので、今回の初期の姿ではNvidia GPUにのみ焦点を当てました。良好な測定のためにRTX 30シリーズ1個を含み、近いうちにRTX 20シリーズ1個を追加して、テンソルRTのゲインがNVIDIAのすべてのRTXラインに適用されることを示す計画です。

 

クエイサゾン
クエイサゾン

 

上記の各ギャラリー(512x512および768x768)は、安定した拡散1.5モデルを使用しています。クリエイターコミュニティでは通常1.5の結果を好むように見えるため、2.1の代わりに1.5を使用するように「回帰」しましたが、通常は新しいトレーニングモデルでも同じ結果が得られます。最適なスループットを見つけるために、各GPUに対してさまざまなバッチサイズとバッチ数を実行して、実行ごとに合計24の画像を作成しました。その後、全体の速度を決定するために、3つの個別の実行スループットを平均して、各モデル形式とGPUに対して合計72の画像を作成しました。

 

全体のスループットにはさまざまな要因が作用します。メモリ帯域幅と同様に、GPU演算もかなり重要です。VRAM容量は、より大きな画像解像度のターゲットまたはバッチサイズを許容できることを除いて、それほど重要ではありません。つまり、8GBでは不可能な作業を24GBのVRAMにできる場合があります。L2キャッシュサイズも影響を与える可能性がありますが、直接モデリングを試みませんでした。私たちが言うことができるのは、基本的に同じ仕様(16 GBのカスタムモデルのためクロックがわずかに異なる)である4060 Ti 16 GBと8 GBのカードが、ほぼ同じ性能と最適なバッチサイズを持っていることです。

 

使用されたモデル形式によっては、相対的なパフォーマンスに若干の違いがありました。基本モデルが最も遅く、512x512イメージの場合はXformersが30〜50%、768x768イメージの場合50〜100%までパフォーマンスが向上しました。その後、TensorRTは512x512で40〜65%、768x768で25〜70%のパフォーマンスをさらに向上させます。

 

興味深いのは、これまでテストしたGPUのうち、最小のパフォーマンス向上がすべてRTX 3090で発生したことです(XフォーマーとTensorRTの両方)。これは異なるアーキテクチャを考えると当然の結果です。RTX 40シリーズには第4世代テンソルコア、RTX 30シリーズには第3世代テンソルコア、RTX 20シリーズには第2世代テンソルコアが搭載されています(ボルタアーキテクチャには第1世代テンソルコアが搭載されています)。つまり、最新のアーキテクチャはより優れたパフォーマンスを発揮します。RTX 20シリーズが最新のGPUに比べてどのように拡張されるかはもう少し見守る必要があります。

 

NVIDIAと全世界のパフォーマンスの比較ではありませんが、たとえばRX 7900 XTXの更新されたテストでは、512×512の場合は1分あたり約18〜19個の画像、768x768の場合は1分あたり約5個の画像が最高値を記録しました。最新のAutomatic1111 DirectMLブランチを使用してAMD GPUの完全なテストを進めています。テストが完了したら、安定した拡散の概要を更新します。また、IntelのArc A770は512x512で1分あたり15.5枚の画像を、768x768では1分あたり4.7枚の画像を管理します。

 

クエイサゾン

 

それでは、TensorRTのパフォーマンスがこのように大幅に向上できるのはなぜですか?このトピックについてNvidiaと話し合ったのは、主にリソースとモデル形式の最適化に関するものでした。

 

ONNXはもともとFacebookとMicrosoftによって開発されましたが、Apacheライセンスモデルに基づいたオープンソースイニシアチブです。ONNXは、さまざまなバックエンドでAIモデルを使用できるように設計されています。PyTorch、OpenVINO、DirectML、TensorRTなどがあります。ONNXはさまざまなAIモデルを共通に定義することができ、必要な組み込み演算子と標準データ型のセットとともに計算グラフモデルを提供します。これにより、さまざまなAI加速フレームワーク間でモデルを簡単に転送できます。

 

一方、TensorRTはNvidia GPUでより高いパフォーマンスを発揮するように設計されています。TensorRTを利用するには、通常、開発者はTensorRTが期待する形式にモデルを直接作成するか、既存のモデルをその形式に変換する必要があります。ONNXはこのプロセスを簡素化するのに役立つので、AMD(DirectML)とIntel(OpenVINO)のStable Diffusionの同調ブランチに使用されました。

 

最後に、TensorRTのオプションの1つは、モデルを使用して最適なパスを調整することもできることです。私たちの場合は、512x512と768x768の画像の配置を行います。私たちが生成する一般的なTensorRTモデルは、動的画像サイズが512x512〜1024x1024、バッチサイズが1〜8、最適構成は512x512、バッチサイズが1です。512x512 のバッチを 8 個で行うと、10% 程度の速度が遅くなることがあります。したがって、512x512x8や768x768x4などをターゲットにした別のTensorRTモデルを作成できます。そして、各GPUに最適な設定を見つけるために、これをすべて行いました。

 

AMDのDirectMLフォークにも同様のオプションがありますが、現時点ではいくつかの制限があります(たとえば、バッチサイズを1つ以外にすることはできません)。時間が経つにつれて利点が減少する可能性がありますが、AMD と Intel モデルの追加チューニングが行われると予想されます。

 

クエイサゾン

 

もちろん、TensorRTアップデートは安定した拡散のためだけではありません。NVIDIAは、上記のスライドを通してTensorRTを使用したRama 2 7B int4推論で測定された改善点について詳しく説明しました。これは70億のパラメータを持つテキスト生成ツールです。

 

チャートからわかるように、単一のテキスト配置を作成することにはいくつかの利点がありますが、この場合、GPU(RTX 4090)が十分に利用されていないようです。バッチサイズを4つに増やすと全体のスループットが3.6倍、バッチサイズを8つに増やすと速度が4.4倍向上します。この場合、バッチサイズが大きいほど複数のテキストレスポンスを生成するために使用できるため、ユーザーが希望するレスポンスを選択したり、出力の一部を組み合わせたりして便利に使用することもできます。

 

TesorRT-LLMはまだリリースされていませんが、すぐにdeveloper.nvidia.com(無料登録が必要)で利用できるようになります。

 

クエイサゾン

 

最後に、LLMのAI中心のアップデートの一環として、NVIDIAはLlama 2を基本モデルとして使用し、ローカルデータを取得してより多くのドメイン固有および更新された知識を得るためのTensorRT-LLMツールも開発中です。このツールの機能の例として、30の最新のNVIDIAニュース記事をこのツールにインポートした結果、基本Llama 2モデルとこのローカルデータを使用したモデルとの応答の違いを確認できます。

 

基本モデルは意味のある文を生成する方法などに関するすべての情報を提供しますが、最近のイベントや発表に関する知識はありません。この場合、アランウェイク2の公式情報は公開されていないと見なされます。ただし、更新されたローカルデータを使用すると、より意味のある応答を提供できます。

 

Nvidiaが提示するもう1つの例は、これらのローカルデータを電子メールまたはチャット履歴と組み合わせて使用​​することです。「昨年、Chrisと私はどんな映画について話しましたか?」のような質問をすると、答えを提供できます。独自の情報を使用して、よりスマートな検索オプションにすることができます。

 

特定のサーバーで利用可能かどうか(RTXカードが必要なので)確認する必要がありますが、私たちはそれを独自のHammerBotの潜在的なユースケースとして見るしかありません。すべてのLLMと同様に、学習データと質問によって結果の品質が多少異なる場合があります。

 

クエイサゾン

 

さらに、NVIDIAはRTX 20シリーズGPUと基本的なアーティファクト削減をサポートするビデオスーパー解像度アップデートを発表しました。つまり、1080p モニターで 1080p ストリームを視聴している場合でも、VSR を使用してノイズ除去とイメージの向上を支援できます。VSR 1.5はNvidiaの最新ドライバで利用可能です。

https://www.tomshardware.com/news/nvidia-boosts-ai-performance-with-tensorrt