ローカルLLM推論を10倍速く実行する(244 TOK/s) PyTorch II

「ローカルLLM推論を10倍速く実行するためのPyTorch II(244 TOK/s)」

走る方法はたくさんありますが、ここでは簡単な概要をご紹介します

要点:

Pytorchチームは、下に最適化を構築することによって純粋に最適化する方法を考案しました

  • Torch.compile:PyTorchモデルのコンパイラ
  • GPU量子化:低精度演算でモデルを高速化
  • 推論の高速化:小さな「下書き」モデルを使用して大きな「目標」モデルの出力を予測することでLLMを高速化
  • テンソル並列処理:複数のデバイスでモデルを実行して高速化する

Pytorchはこれらすべてをわずか1000行のコードで実現しました。

以下にパフォーマンスの比較を示します。

さあ、1つずつ詳しく見ていきましょう!

バニラ(25トークン/秒)

これはLLaMA-7bのパフォーマンスです。

新しいコンパイラと巧妙な割り当てを使用した最初の3倍の向上(76トークン/秒)

LLaMA-7Bを使用することで、PytorchはCPUによって制約されるパフォーマンスの問題を分析しました。つまり、オーバーヘッドを効率化するための第一のターゲットです。

それに登場するのがコンパイラです。より大きな領域を事前コンパイルされた状態にコンパイルすることで、操作ごとのCPU呼び出しの数が減少します。これにより、下記のようにこのラッパーはギャップなく動作するようになります。

使用方法は、次のコードを使用するだけです

torch.compile(decode_one_token, mode="reduce-overhead", fullgraph=True)

内部で何が起こっているのでしょうか?

まず第一に、トークンが生成されるほど、kvキャッシュが成長し、キャッシュが成長するたびに再割り当てとコピー(高コストな計算)が必要になります。最大サイズを許容するためにPytorchは大きなキャッシュを導入しました。

次に、プリフィルフェーズ中に分離してコンパイルするために2つのストラテジーが必要です。プロンプト全体が動的に処理され、上記のコードのようにトークンがデコードされます。これらの2つのストラテジーを並列して使用することで、さらなる最適化が可能となります。これらの2つのストラテジーだけでも、推論のパフォーマンスを4倍に向上させることができます。

さらに34%の向上を得るには…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

「リオール・ハキム、Hour Oneの共同創設者兼CTO - インタビューシリーズ」

「Hour Oneの共同創設者兼最高技術責任者であるリオール・ハキムは、専門的なビデオコミュニケーションのためのバーチャルヒ...

人工知能

キャルレールの最高製品責任者、ライアン・ジョンソンへのインタビューシリーズ

ライアンは、初期のスタートアップからフォーチュン100の組織まで、多様なテクノロジーと製品開発のリーダーシップ経験を15年...

人工知能

「ゲイリー・ヒュースティス、パワーハウスフォレンジクスのオーナー兼ディレクター- インタビューシリーズ」

ゲイリー・ヒュースティス氏は、パワーハウスフォレンジックスのオーナー兼ディレクターであり、ライセンスを持つ私立探偵、...

データサイエンス

アステラソフトウェアのCOO、ジェイ・ミシュラ - インタビューシリーズ

ジェイ・ミシュラは、急速に成長しているエンタープライズ向けデータソリューションの提供企業であるAstera Softwareの最高執...

人工知能

「ジンディのCEO兼共同創設者、セリーナ・リー― インタビューシリーズ」

「Celina Leeは、ZindiのCEO兼共同創設者であり、アフリカのデータサイエンティスト向けの最大の専門ネットワークです Celina...

人工知能

「15Rockの共同創業者兼CEO、ガウタム・バクシ氏によるインタビューシリーズ」

「ガウタム・バクシは、気候リスク管理とアドバイザリーサービスのグローバルリーダーである15Rockの共同創設者兼CEOですガウ...