🚀 DeepSeek R1 AWQ
DeepSeek R1のAWQ版です。高精度な量子化技術を用いて、モデルの性能と効率を最適化します。
🚀 クイックスタート
このモデルを8台の80GB GPUを搭載した環境でvLLMを使用してサーブするには、以下のコマンドを実行してください。
VLLM_USE_V1=0 VLLM_WORKER_MULTIPROC_METHOD=spawn VLLM_MARLIN_USE_ATOMIC_ADD=1 python -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --port 12345 --max-model-len 65536 --max-seq-len-to-capture 65536 --enable-chunked-prefill --enable-prefix-caching --trust-remote-code --tensor-parallel-size 8 --gpu-memory-utilization 0.95 --served-model-name deepseek-reasoner --model cognitivecomputations/DeepSeek-R1-AWQ
ここをクリックすると、PyTorch 2.6とPython 3.12用にビルドしたホイールをダウンロードできます。以下のベンチマークはこのホイールを使用して行われており、2つのPRマージとA100用の最適化されていないFlashMLA(Tritonよりも高速)が含まれており、パフォーマンスが大幅に向上しています。A100 FlashMLAを含むvLLMリポジトリはLagPixelLOL/vllm@sm80_flashmlaで見つけることができ、これはvllm-project/vllmのフォークです。使用されているA100 FlashMLAはLagPixelLOL/FlashMLA@vllmに基づいており、これはpzhao-eng/FlashMLAのフォークです。
✨ 主な機能
- この量子化では、float16を使用する際のオーバーフロー問題を修正するために、モデルコードの一部を変更しています。
- vLLMでのサービングが可能で、8台の80GB GPUで全コンテキスト長でモデルを実行できます。
📦 インストール
必要なパッケージや依存関係のインストールについては、上記のコマンドを参考にしてください。
💻 使用例
基本的な使用法
VLLM_USE_V1=0 VLLM_WORKER_MULTIPROC_METHOD=spawn VLLM_MARLIN_USE_ATOMIC_ADD=1 python -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --port 12345 --max-model-len 65536 --max-seq-len-to-capture 65536 --enable-chunked-prefill --enable-prefix-caching --trust-remote-code --tensor-parallel-size 8 --gpu-memory-utilization 0.95 --served-model-name deepseek-reasoner --model cognitivecomputations/DeepSeek-R1-AWQ
📚 ドキュメント
TPS Per Request
GPU \ バッチ 入力 出力 |
B: 1 I: 2 O: 2K |
B: 32 I: 4K O: 256 |
B: 1 I: 63K O: 2K |
事前読み込み |
8x H100/H200 |
61.5 |
30.1 |
54.3 |
4732.2 |
4x H200 |
58.4 |
19.8 |
53.7 |
2653.1 |
8x A100 80GB |
46.8 |
12.8 |
30.4 |
2442.4 |
8x L40S |
46.3 |
OOM |
OOM |
688.5 |
注意事項
- A100の設定では、最適化されていないFlashMLA実装を使用しています。これは高コンテキスト推論時にのみTritonよりも優れており、最適化されればさらに高速になります。
- L40Sの設定ではFlashMLAをサポートしていないため、Triton実装が使用されます。これにより、高コンテキストでは非常に低速になります。ただし、L40SのVRAMはあまり多くないため、それほど多くのコンテキストを持つことができず、GPU間の高速な相互接続帯域もないため、さらに低速になります。この設定でのサービングはお勧めしません。コンテキストを <= 4096、
--gpu-memory-utilization
を0.98、--max-num-seqs
を4に制限する必要があります。
- ベンチマークで使用されているすべてのGPUタイプは、L40Sを除いてSXMフォームファクターです。
- 低バッチサイズでは推論速度がFP8よりも良くなりますが、高バッチサイズではFP8よりも悪くなります。これは低ビット量子化の特性です。
- vLLMは現在、AWQ用のMLAをサポートしています。8台の80GB GPUで全コンテキスト長でこのモデルを実行できます。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。