NVIDIA Llama 3.1 405B Instruct FP8 模型是 Meta 的 Llama 3.1 405B Instruct 模型的量化版本,后者是一款采用优化 Transformer 架构的自回归语言模型。欲了解更多信息,请查看此处。NVIDIA Llama 3.1 405B Instruct FP8 模型通过 TensorRT Model Optimizer 进行量化。
本模型可用于商业/非商业用途。
本模型并非由 NVIDIA 所有或开发。该模型是应第三方的特定应用和使用场景需求而开发构建的;详见非 NVIDIA(Meta-Llama-3.1-405B-Instruct)模型卡片链接(Meta-Llama-3.1-405B-Instruct) Model Card。
架构类型: Transformers
网络架构: Llama3.1
输入类型: 文本
输入格式: 字符串
输入参数: 序列
其他与输入相关的属性: 上下文长度最长可达 128K
输出类型: 文本
输出格式: 字符串
输出参数: 序列
其他与输出相关的属性: 不适用
支持的运行时引擎:
支持的硬件微架构兼容性:
推荐操作系统:
该模型使用 nvidia-modelopt v0.15.1 进行量化
引擎: Tensor(RT)-LLM 或 vLLM
测试硬件: H200
本模型通过将 Meta-Llama-3.1-405B-Instruct 的权重和激活量化为 FP8 数据类型获得,可直接用于 TensorRT-LLM 推理。仅对Transformer块内线性算子的权重和激活进行量化。此优化将每个参数的比特数从16减少到8,磁盘大小和GPU内存需求减少约50%。在 H200 上,我们实现了1.7倍的速度提升。
要使用 TensorRT-LLM 部署量化后的检查点,请按照以下示例命令操作(需结合 TensorRT-LLM GitHub 仓库):
python examples/llama/convert_checkpoint.py --model_dir Llama-3.1-405B-Instruct-FP8 --output_dir /ckpt --use_fp8trtllm-build --checkpoint_dir /ckpt --output_dir /engine详情请参考 TensorRT-LLM 基准测试文档。
| 精度 | MMLU | GSM8K (CoT) | ARC Challenge | IFEVAL | TPS |
| BF16 | 87.3 | 96.8 | 96.9 | 88.6 | 275.0 |
| FP8 | 87.4 | 96.2 | 96.4 | 90.4 | 469.78 |
要使用 vLLM 部署量化后的检查点,请按照以下说明操作:
LLM 引擎时,必须在配置中传入 quantization=modelopt 标志。示例:
from vllm import LLM, SamplingParams
model_id = "nvidia/Llama-3.1-405B-Instruct-FP8"
tp_size = 8 #use the required number of gpus based on your GPU Memory.
sampling_params = SamplingParams(temperature=0.8, top_p=0.9)
max_model_len = 8192
prompts = [
"Hello, my name is",
"The president of the United States is",
"The capital of France is",
"The future of AI is",
]
llm = LLM(model=model_id, quantization='modelopt', tensor_parallel_size=tp_size, max_model_len=max_model_len)
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}")
该模型可通过 vLLM 后端部署在 OpenAI 兼容服务器上。相关说明请参见此处。