ローカル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

人工知能

「トリントの創設者兼CEO、ジェフ・コフマンへのインタビューシリーズ」

ジェフ・コーフマンは、ABC、CBS、CBCニュースで30年のキャリアを持った後、Trintの創設者兼CEOとなりましたジェフは手作業の...

機械学習

「Prolificの機械学習エンジニア兼AIコンサルタント、ノラ・ペトロヴァ – インタビューシリーズ」

『Nora Petrovaは、Prolificの機械学習エンジニア兼AIコンサルタントですProlificは2014年に設立され、既にGoogle、スタンフ...

人工知能

「UVeyeの共同設立者兼CEO、アミール・ヘヴェルについてのインタビューシリーズ」

アミール・ヘヴァーは、UVeyeのCEO兼共同創設者であり、高速かつ正確な異常検出により、自動車およびセキュリティ産業に直面...

人工知能

「aiOlaのCEO兼共同創設者、アミール・ハラマティによるインタビューシリーズ」

アミール・ハラマティは、aiOlaのCEO兼共同創業者であり、スピーチを作業可能にし、どこでも完全な正確さで業界固有のプロセ...

人工知能

「コマンドバーの創設者兼CEO、ジェームズ・エバンスによるインタビューシリーズ」

ジェームズ・エバンズは、CommandBarの創設者兼CEOであり、製品、マーケティング、顧客チームを支援するために設計されたAIパ...

人工知能

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

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