MARLIN: Mixed-Precision Auto-Regressive Parallel Inference on Large Language Models

要約

大規模言語モデル (LLM) での推論が機械学習アプリケーションの重要なワークロードとして浮上するにつれ、重み量子化は効率的な GPU 展開のための標準的な手法になりました。
量子化はモデルのサイズを縮小するだけでなく、精度への影響は低いものの、メモリの移動が減少するため、シングルユーザー推論の大幅な高速化をもたらすことが示されています。
ただし、複数の並列クライアントを使用した \emph{batched} 設定でも高速化が達成できるかどうかは不明のままであり、これは実際のサービス提供に大きく関係します。
GPU カーネルが、バッチ化されたワークロードの大幅に増加したコンピューティング要件をサポートしながら、実質的にメモリに依存したままになるように設計できるかどうかは不明です。
この論文では、MARLIN と呼ばれる混合精度自動回帰リニア カーネルの設計について説明することで、この疑問を積極的に解決します。
具体的には、量子化によって重みが要素あたり 4 ビットなどに圧縮されるモデルを考えると、MARLIN は、最大 ($4\times$) に近い量子化速度の向上で最大 16 ~ 32 のバッチサイズをサポートでき、最大で 16 ~ 32 までのより大きなバッチサイズをサポートできることを示しています。
64-128 で、徐々に減少しますが、依然として大幅な加速が見られます。
MARLIN は、非同期メモリ アクセス、複雑なタスクのスケジューリングとパイプライン化、特注の量子化サポートなどの技術を組み合わせてこれを実現します。
私たちの実験では、さまざまなシナリオにわたる個々の LLM レイヤーでの MARLIN の最適に近いパフォーマンスは、人気の vLLM サービング エンジンと統合すると、エンドツーエンドの LLM 推論の高速化 (最大 $2.8\times$) につながる可能性があることを示しています。
最後に、MARLIN は、NVIDIA 2:4 スパース性などのさらなる圧縮技術に拡張可能であり、さらなる高速化につながります。

要約(オリジナル)

As inference on Large Language Models (LLMs) emerges as an important workload in machine learning applications, weight quantization has become a standard technique for efficient GPU deployment. Quantization not only reduces model size, but has also been shown to yield substantial speedups for single-user inference, due to reduced memory movement, with low accuracy impact. Yet, it remains open whether speedups are achievable also in \emph{batched} settings with multiple parallel clients, which are highly relevant for practical serving. It is unclear whether GPU kernels can be designed to remain practically memory-bound, while supporting the substantially increased compute requirements of batched workloads. This paper resolves this question positively by describing the design of Mixed-precision Auto-Regressive LINear kernels, called MARLIN. Concretely, given a model whose weights are compressed via quantization to, e.g., 4 bits per element, MARLIN shows that batchsizes up to 16-32 can be supported with close to maximum ($4\times$) quantization speedup, and larger batchsizes up to 64-128 with gradually decreasing, but still significant, acceleration. MARLIN accomplishes this via a combination of techniques, such as asynchronous memory access, complex task scheduling and pipelining, and bespoke quantization support. Our experiments show that MARLIN’s near-optimal performance on individual LLM layers across different scenarios can also lead to end-to-end LLM inference speedups (of up to $2.8\times$) when integrated with the popular vLLM serving engine. Finally, MARLIN is extensible to further compression techniques, like NVIDIA 2:4 sparsity, leading to additional speedups.

arxiv情報

著者 Elias Frantar,Roberto L. Castro,Jiale Chen,Torsten Hoefler,Dan Alistarh
発行日 2024-08-21 16:10:41+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.LG パーマリンク