0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

アウトプットアドカレ2024Advent Calendar 2024

Day 21

Apple-NVIDIAが公開したReDrafterについて

Posted at

はじめに

本記事はReDrafterの紹介記事です。以下のコンテンツを含みます。

  • Appleのプレスリリース
  • NVIDIAのディベロッパーブログ

NVIDIA GPUでのReDrafterを用いたLLM推論の高速化

LLM推論の高速化は、機械学習における重要な研究課題です。なぜなら、自己回帰型トークン生成は計算コストが高く、比較的遅いため、推論効率を改善することでユーザーの待機時間を短縮できるからです。Appleシリコンでの推論高速化に向けた取り組みを続ける中、業界全体で幅広く使用されているNVIDIA GPU向けのLLM推論の高速化においても大きな進展がありました。

今年初め、私たちはRecurrent Drafter(ReDrafter)を発表し、オープンソース化しました。ReDrafterは革新的な推測デコード手法であり、最先端の性能を実現しています。この手法はRNNドラフトモデルを使用し、ビームサーチと動的ツリーアテンションを組み合わせることで、オープンソースモデルでのトークン生成速度を1ステップあたり最大3.5トークンまで向上させ、従来の推測デコード手法を超える性能を達成しました。

トークン生成速度の向上

以下の棒グラフは、NVIDIA TensorRT-LLMを用いたReDrafterと通常の自己回帰推論を比較したトークン生成速度の向上を示しています。
• ReDrafter: 2.7倍速
• 自己回帰: 1倍速

図1: NVIDIA TensorRT-LLMにおけるReDrafterと自己回帰のトークン生成速度の比較

ReDrafterをNVIDIA TensorRT-LLMでの高速化に適用

この研究は強力な結果を示しましたが、その最大の影響は、NVIDIA GPUでのLLM推論を高速化するために実際の運用環境で適用されたことです。ReDrafterをNVIDIA GPU向けに運用可能な形にするため、NVIDIAと協力し、NVIDIA TensorRT-LLM推論高速化フレームワークに統合しました。

TensorRT-LLMは、数多くのオープンソースLLMやMedusa推測デコード手法をサポートしていますが、ReDrafterのビームサーチとツリーアテンションアルゴリズムでは、従来のアプリケーションで使用されていなかったオペレーターを必要とします。この統合を実現するために、NVIDIAは新たなオペレーターの追加や既存オペレーターの公開を行い、TensorRT-LLMが高度なモデルとデコード手法に対応できる能力を大幅に向上させました。

これにより、NVIDIA GPUを使用する機械学習開発者は、TensorRT-LLMを通じてReDrafterの高速化されたトークン生成を簡単に活用し、自身のLLMアプリケーションを運用環境で実現できるようになりました。

NVIDIA GPU上で数十億パラメータのモデルを使用してベンチマークを行った結果、NVIDIA TensorRT-LLM推論高速化フレームワークとReDrafterを用いた場合、貪欲デコードで生成トークン数が1秒あたり2.7倍に高速化されました(図1参照)。この結果は、ユーザーの待機時間を大幅に短縮できる可能性があるだけでなく、使用するGPUの台数を減らし、消費電力を削減できることを示しています。

詳細については、NVIDIAデベロッパーブログの記事をご覧ください。

まとめ

LLMは生産アプリケーションを支える技術としてますます使用されています。推論効率を改善することで、計算コストに影響を与えるとともに、ユーザーの待機時間を短縮できます。ReDrafterの革新的な推測デコード手法がNVIDIA TensorRT-LLMフレームワークに統合されたことで、開発者はNVIDIA GPU上でより高速なトークン生成の恩恵を受け、運用アプリケーションの性能を向上させることができます。

NVIDIAのデベロッパーブログ

ReDrafter: NVIDIA TensorRT-LLMによる革新的な推測デコード技術

Recurrent drafting(ReDrafter)は、Appleが開発しオープンソース化した、LLM推論を加速させるための新しい推測デコード手法です。この技術は現在、NVIDIAのLLM推論最適化ライブラリであるTensorRT-LLMで利用可能となり、NVIDIA GPUでのLLMのパフォーマンス向上を大きく支援します。

NVIDIA TensorRT-LLMとは

TensorRT-LLMは、LLM推論の最適化を目的としたライブラリで、使いやすいPython APIを提供しています。このライブラリにより、LLMを定義し、NVIDIA TensorRTエンジンを構築することで、最先端の最適化を利用した効率的な推論が可能になります。主な最適化には以下が含まれます:
• カスタムアテンションカーネル
• 実行中のバッチング(inflight batching)
• ページングされたKVキャッシング
• 量子化(FP8、INT4 AWQ、INT8 SmoothQuant)
• その他多数

推測デコード(Speculative Decoding)とは

推測デコードは、LLM推論を加速させる技術で、複数のトークンを並列で生成します。この手法では、小型の「ドラフト」モジュールを使用して将来のトークンを予測し、それをメインモデルで検証します。この方法により、出力品質を維持しながら応答時間を大幅に短縮できます。特に低トラフィック時には、低レイテンシの推論を実現するためにリソースを効率的に活用できます。

ReDrafterの特徴とTensorRT-LLMへの統合

ReDrafterは、再帰型ニューラルネットワーク(RNN)ベースのサンプリングを使用してトークンを生成する「ドラフティング」を採用しています。また、Medusaなどの技術で使用されていたツリー型のアテンションを組み合わせることで、複数の可能な経路からドラフトトークンを予測し、検証する精度を向上させます。この方法により、デコーダーの各反復で複数のトークンを受け入れる可能性が広がります。

NVIDIAはAppleと協力し、この技術をTensorRT-LLMに統合しました。これにより、ReDrafterはより広い開発者コミュニティに提供され、以前のMedusaと比較して新たな最適化の可能性が解放されました。

MedusaとReDrafterの違い

Medusaでは、経路の受け入れやトークンサンプリングがTensorRT-LLMランタイム内で行われますが、この方法では将来の経路をすべて処理する必要があり、そのほとんどが最終的に破棄されるため、オーバーヘッドが発生します。一方で、ReDrafterは、次の反復でトークンを生成する前に、最適な経路のトークン検証と受け入れを行う必要があります。これにより、オーバーヘッドが削減されます。

TensorRT-LLMの更新

TensorRT-LLMは、ドラフティングと検証ロジックを1つのエンジン内に統合するよう更新されました。このアプローチにより、ランタイムや別個のエンジンに依存することなくオーバーヘッドを最小化できます。さらに、TensorRT-LLMのカーネル選択やスケジューリングの自由度が向上し、ネットワーク性能を最大化する最適化が可能になりました。

ReDrafterの改善点

ReDrafterの改善をより明確にするため、図1ではTensorRT-LLMにおけるその実装とMedusaの違いを示しています。ReDrafterに関連する推測デコードのほとんどの処理がエンジン内で行われており、これによりランタイムで必要な変更が大幅に簡素化されています。

この技術統合により、NVIDIA GPUを活用する開発者は、より効率的で高速な推論を実現できるようになりました。

image.png

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?