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

データサイエンス

2023年にAmazonのデータサイエンティストになる方法は?

ほとんどのビジネスは現在、膨大な量のデータを生成し、編集し、管理しています。しかし、ほとんどのビジネスは、収集したデ...

人工知能

「クリス・サレンス氏、CentralReachのCEO - インタビューシリーズ」

クリス・サレンズはCentralReachの最高経営責任者であり、同社を率いて、自閉症や関連する障害を持つ人々のために優れたクラ...

人工知能

『DeepHowのCEO兼共同創業者、サム・ジェン氏によるインタビューシリーズ』

ディープハウのCEO兼共同創設者であるサム・ジェンは、著名な投資家から支持される急速に進化するスタートアップを率いていま...

人工知能

「ジャスティン・マクギル、Content at Scaleの創設者兼CEO - インタビューシリーズ」

ジャスティンは2008年以来、起業家、イノベーター、マーケターとして活動しています彼は15年以上にわたりSEOマーケティングを...

データサイエンス

「3つの質問:ロボットの認識とマッピングの研磨」

MIT LIDSのLuca CarloneさんとJonathan Howさんは、将来のロボットが環境をどのように知覚し、相互作用するかについて議論し...

人工知能

Aaron Lee、Smith.aiの共同設立者兼CEO - インタビューシリーズ

アーロン・リーさんは、Smith.aiの共同創業者兼CEOであり、AIと人間の知性を組み合わせて、24時間365日の顧客エンゲージメン...