NVIDIA Llama 3.1 70B Instruct FP8 模型是 Meta 的 Llama 3.1 70B Instruct 模型的量化版本,后者是一种采用优化 Transformer 架构的自回归语言模型。欲了解更多信息,请查看此处。NVIDIA Llama 3.1 70B Instruct FP8 模型通过 TensorRT Model Optimizer 进行量化。
本模型可供商业/非商业用途。
本模型不由 NVIDIA 拥有或开发。本模型是应第三方针对此应用和使用场景的要求而开发构建的;详见非 NVIDIA(Meta-Llama-3.1-70B-Instruct)模型卡片链接(Meta-Llama-3.1-70B-Instruct) Model Card。
架构类型: Transformers
网络架构: Llama3.1
输入类型: 文本
输入格式: 字符串
输入参数: 序列
其他输入相关属性: 上下文长度最高达 128K
输出类型: 文本
输出格式: 字符串
输出参数: 序列
其他输出相关属性: 不适用
支持的运行时引擎:
支持的硬件微架构兼容性:
推荐操作系统:
该模型使用 nvidia-modelopt v0.15.1 进行量化
引擎: Tensor(RT)-LLM 或 vLLM
测试硬件: H100
本模型通过将 Meta-Llama-3.1-70B-Instruct 的权重和激活量化为 FP8 数据类型获得,可直接用于 TensorRT-LLM 推理。仅对Transformer模块内线性算子的权重和激活进行量化。此优化将每个参数的比特数从16位减少到8位,磁盘大小和GPU内存需求减少约50%。在H100上,我们实现了1.5倍的速度提升。
要使用 TensorRT-LLM 部署量化后的检查点,请按照以下示例命令操作(需结合 TensorRT-LLM GitHub 仓库):
python examples/llama/convert_checkpoint.py --model_dir Llama-3.1-70B-Instruct-FP8 --output_dir /ckpt --use_fp8trtllm-build --checkpoint_dir /ckpt --output_dir /engine详情请参考 TensorRT-LLM 基准测试文档。
| 精度 | MMLU | GSM8K (CoT) | ARC Challenge | IFEVAL | TPS |
| BF16 | 83.3 | 95.3 | 93.7 | 92.1 | 1356.92 |
| FP8 | 83.2 | 94.3 | 93.2 | 92.2 | 2040.30 |
要使用 vLLM 部署量化后的检查点,请按照以下说明操作:
LLM 引擎时必须在配置中传入 quantization=modelopt 标志。在 H100 上部署的示例:
from vllm import LLM, SamplingParams
model_id = "nvidia/Llama-3.1-70B-Instruct-FP8"
sampling_params = SamplingParams(temperature=0.8, top_p=0.9)
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")
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 兼容服务器上。相关说明请参见此处。