| --- |
| pipeline_tag: text-generation |
| base_model: deepseek-ai/DeepSeek-R1 |
| license: mit |
| library_name: modelopt |
| tags: |
| - ModelOpt |
| - DeepSeekR1 |
| - quantized |
| - FP4 |
| - MLPerf |
| --- |
| |
| # Model Overview |
|
|
| ## Description: |
|
|
| This model is a quantized version of DeepSeek AI's DeepSeek R1 model, produced with the official [NVIDIA TensorRT Model Optimizer DeepSeek recipe](https://github.com/NVIDIA/Model-Optimizer/tree/089c06e4/examples/deepseek) and calibrated with the [MLPerf Inference deepseek-r1 calibration dataset](https://github.com/mlcommons/inference/blob/master/language/deepseek-r1/README.md). It is quantized with FP4 weights and activations (the same quantization scheme as [nvidia/DeepSeek-R1-FP4-v2](https://huggingface.co/nvidia/DeepSeek-R1-FP4-v2), including the `wo` module in attention layers) and is ready for inference with TensorRT-LLM. This model is ready for commercial/non-commercial use. |
|
|
| ## Third-Party Community Consideration |
|
|
| This model is not owned or developed by NVIDIA or DeepSeek AI. It has been produced by a third party from the open DeepSeek R1 checkpoint for the MLPerf Inference deepseek-r1 benchmark. See the original [DeepSeek R1 Model Card](https://huggingface.co/deepseek-ai/DeepSeek-R1). |
|
|
| ### License/Terms of Use: |
|
|
| [MIT](https://huggingface.co/datasets/choosealicense/licenses/blob/main/markdown/mit.md) |
|
|
| ## Model Architecture: |
|
|
| **Architecture Type:** Transformers |
|
|
| **Network Architecture:** DeepSeek R1 |
|
|
| ## Input: |
|
|
| **Input Type(s):** Text |
|
|
| **Input Format(s):** String |
|
|
| **Input Parameters:** 1D (One Dimensional): Sequences |
|
|
| **Other Properties Related to Input:** Context length up to 128K. Per DeepSeek's usage recommendations: temperature 0.5–0.7 (0.6 recommended), no system prompt, and for math problems ask for step-by-step reasoning with the final answer in `\boxed{}`. |
|
|
| ## Output: |
|
|
| **Output Type(s):** Text |
|
|
| **Output Format:** String |
|
|
| **Output Parameters:** 1D (One Dimensional): Sequences |
|
|
| ## Software Integration: |
|
|
| **Supported Runtime Engine(s):** |
|
|
| - TensorRT-LLM |
|
|
| **Supported Hardware Microarchitecture Compatibility:** |
|
|
| - NVIDIA Blackwell |
|
|
| **Preferred Operating System(s):** |
|
|
| - Linux |
|
|
| ## Model Version(s): |
|
|
| Quantized with [NVIDIA TensorRT Model Optimizer](https://github.com/NVIDIA/Model-Optimizer), main branch @ [`089c06e4`](https://github.com/NVIDIA/Model-Optimizer/tree/089c06e4) (July 2026), using the [`examples/deepseek`](https://github.com/NVIDIA/Model-Optimizer/tree/089c06e4/examples/deepseek) recipe (`deepseek_v3/ptq.py` for calibration, `deepseek_v3/quantize_fp8_to_nvfp4.sh` for weight conversion). |
|
|
| ## Datasets: |
|
|
| **Calibration Dataset:** `mlperf_deepseek_r1_calibration_dataset_500_fp8_eval` — the official 500-sample MLPerf Inference deepseek-r1 calibration set. See the [MLPerf deepseek-r1 reference README](https://github.com/mlcommons/inference/blob/master/language/deepseek-r1/README.md) for dataset details and download instructions. |
|
|
| - Data collection method: Hybrid: Human, Automated |
| - Labeling method: Hybrid: Human, Automated |
|
|
| ## Inference: |
|
|
| **Engine:** TensorRT-LLM |
|
|
| **Test Hardware:** NVIDIA GB200 NVL72 |
|
|
| ## Post Training Quantization |
|
|
| This model was obtained by quantizing the weights and activations of DeepSeek R1 to FP4 data type, ready for inference with TensorRT-LLM. Only the weights and activations of the linear operators within the transformer blocks are quantized (fine-grained FP4 block scaling with group size 16; the KV cache is quantized to FP8; MLA attention projections remain in higher precision). This optimization reduces the number of bits per parameter from 8 to 4, reducing the disk size and GPU memory requirements by approximately 1.6x. |
|
|
| Calibration runs the official recipe unmodified except for the calibration dataloader, which reads the MLPerf deepseek-r1 calibration set (500 samples, max sequence length 2048, batch size 4). |
|
|
| ## Usage |
|
|
| ### Deploy with TensorRT-LLM |
|
|
| To deploy the quantized checkpoint with [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM) LLM API, use the following sample code (requires 8 GPUs of Blackwell generation or later, and TensorRT-LLM built from source with the latest main branch): |
|
|
| ```python |
| from tensorrt_llm import SamplingParams |
| from tensorrt_llm._torch import LLM |
| |
| def main(): |
| |
| prompts = [ |
| "Hello, my name is", |
| "The president of the United States is", |
| "The capital of France is", |
| "The future of AI is", |
| ] |
| sampling_params = SamplingParams(max_tokens=32) |
| |
| llm = LLM(model="centml/DeepSeek-R1-NVFP4-v2-mlpinf", tensor_parallel_size=8, enable_attention_dp=True) |
| |
| outputs = llm.generate(prompts, sampling_params) |
| |
| # Print the outputs. |
| for output in outputs: |
| prompt = output.prompt |
| generated_text = output.outputs[0].text |
| print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}") |
| |
| |
| # The entry point of the program need to be protected for spawning processes. |
| if __name__ == '__main__': |
| main() |
| ``` |
|
|
|
|