mcpField
T
tensorrt-llm

tensorrt-llm

github.com/kalarislabs其他7344 次安装4 天前更新
代码仓库

关于 tensorrt-llm

tensorrt-llm 是面向 NVIDIA GPU 的开源 LLM 推理优化库,适合部署和服务化模型的工程人员。它提供量化、动态批处理及多 GPU 扩展能力。

主要功能

  1. 01NVIDIA GPU 推理优化
  2. 02动态批处理与 KV 缓存
  3. 03FP8、INT4 和 FP4 量化
  4. 04张量、流水线及专家并行
  5. 05推测解码与 LoRA 服务

适用场景

  1. 01在 NVIDIA GPU 上部署 LLM
  2. 02量化模型以降低推理开销
  3. 03跨多 GPU 或节点扩展
  4. 04通过 trtllm-serve 提供模型服务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kalarislabs/research-agent-skills --skill tensorrt-llm

安装后在 Claude Code 中输入/tensorrt-llm确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
multi-gpu.md
optimization.md
serving.md

详细介绍

TensorRT-LLM

NVIDIA 的开源库,用于优化大模型推理,并在 NVIDIA GPU 上实现业界领先的性能。

何时使用 TensorRT-LLM

在以下情况下使用 TensorRT-LLM:

  • 部署在 NVIDIA GPU(A100、H100、GB200)上
  • 需要最大吞吐量(Llama 3 每秒超过 24,000 个 token)
  • 实时应用需要低延迟
  • 使用量化模型(FP8、INT4、FP4)
  • 扩展到多块 GPU 或多个节点

在以下情况下改用 vLLM:

  • 需要更简单的设置和以 Python 为先的 API
  • 希望使用 PagedAttention,而无需进行 TensorRT 编译
  • 使用 AMD GPU 或非 NVIDIA 硬件

在以下情况下改用 llama.cpp:

  • 部署在 CPU 或 Apple Silicon 上
  • 需要在没有 NVIDIA GPU 的情况下进行边缘部署
  • 希望使用更简单的 GGUF 量化格式

快速开始

安装
# Docker (recommended)
docker pull nvidia/tensorrt_llm:latest

# pip install
pip install tensorrt_llm==1.2.0rc3

# Requires CUDA 13.0.0, TensorRT 10.13.2, Python 3.10-3.12
基本推理
from tensorrt_llm import LLM, SamplingParams

# Initialize model
llm = LLM(model="meta-llama/Meta-Llama-3-8B")

# Configure sampling
sampling_params = SamplingParams(
    max_tokens=100,
    temperature=0.7,
    top_p=0.9
)

# Generate
prompts = ["Explain quantum computing"]
outputs = llm.generate(prompts, sampling_params)

for output in outputs:
    print(output.text)
使用 trtllm-serve 提供服务
# Start server (automatic model download and compilation)
trtllm-serve meta-llama/Meta-Llama-3-8B \
    --tp_size 4 \              # Tensor parallelism (4 GPUs)
    --max_batch_size 256 \
    --max_num_tokens 4096

# Client request
curl -X POST http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "meta-llama/Meta-Llama-3-8B",
    "messages": [{"role": "user", "content": "Hello!"}],
    "temperature": 0.7,
    "max_tokens": 100
  }'

主要功能

性能优化
  • In-flight batching:生成期间进行动态批处理
  • Paged KV cache:高效的内存管理
  • Flash Attention:经过优化的注意力内核
  • 量化:使用 FP8、INT4、FP4,实现 2–4 倍的推理加速
  • CUDA graphs:降低内核启动开销
并行
  • 张量并行(TP):将模型拆分到多块 GPU 上
  • 流水线并行(PP):按层分配
  • 专家并行:用于混合专家模型
  • 多节点:扩展到单台机器以外
高级功能
  • 推测解码:使用草稿模型加快生成
  • LoRA 服务:高效部署多个适配器
  • 分离式服务:将预填充与生成分开

常见模式

量化模型(FP8)
from tensorrt_llm import LLM

# Load FP8 quantized model (2× faster, 50% memory)
llm = LLM(
    model="meta-llama/Meta-Llama-3-70B",
    dtype="fp8",
    max_num_tokens=8192
)

# Inference same as before
outputs = llm.generate(["Summarize this article..."])
多 GPU 部署
# Tensor parallelism across 8 GPUs
llm = LLM(
    model="meta-llama/Meta-Llama-3-405B",
    tensor_parallel_size=8,
    dtype="fp8"
)
批量推理
# Process 100 prompts efficiently
prompts = [f"Question {i}: ..." for i in range(100)]

outputs = llm.generate(
    prompts,
    sampling_params=SamplingParams(max_tokens=200)
)

# Automatic in-flight batching for maximum throughput

性能基准

Meta Llama 3-8B(H100 GPU):

  • 吞吐量:每秒 24,000 个 token
  • 延迟:每个 token 约 10 毫秒
  • 相比 PyTorch:快 100 倍

Llama 3-70B(8× A100 80GB):

  • FP8 量化:比 FP16 快 2 倍
  • 内存:使用 FP8 可减少 50%

支持的模型

  • LLaMA 系列:Llama 2、Llama 3、CodeLlama
  • GPT 系列:GPT-2、GPT-J、GPT-NeoX
  • Qwen:Qwen、Qwen2、QwQ
  • DeepSeek:DeepSeek-V2、DeepSeek-V3
  • Mixtral:Mixtral-8x7B、Mixtral-8x22B
  • 视觉:LLaVA、Phi-3-vision
  • HuggingFace 上的 100 多个模型

参考资料

资源

Agent 操作流程

  1. 检查环境。 确认硬件、框架和服务版本、模型格式及预期负载。
  2. 明确输入。 根据数据或用户确认格式、标识符和参数。任何会改变结果的值都应询问,不要猜测。
  3. 先运行小规模版本。 扩大规模前,先提供或记录单个请求,或端到端运行一次。
  4. 根据上述说明和参考资料执行完整任务。
  5. 验证结果。 对照参考值测量延迟、吞吐量和输出正确性;检查资源使用情况和成本。
  6. 报告。 说明运行了什么(版本、命令、参数)、检查了什么,以及还有哪些不确定之处。
如果发生这种情况请执行以下操作
服务无法启动或发生 OOM检查模型大小与内存是否匹配,以及量化和并行设置。
这些说明中的函数、标志或端点在已安装版本中不存在查阅已安装版本自身的文档(help()、--help、官方文档),进行适配并告知用户。切勿编造 API。
必需的输入、标识符或参数存在歧义询问用户,或在运行前明确说明所作假设。

诚信守则

  • 切勿编造结果、参数、标识符、引文或统计数据。如果无法运行或验证某项内容,请明确说明。
  • 不要公开服务或凭据;配置资源前确认云服务成本。
  • 此处与特定版本相关的细节可能已过时:请对照已安装版本的官方文档进行确认。
  • 对于会产生费用、占用共享 GPU 或云配额、涉及个人或患者数据,或无法撤销的操作,请先征求同意。

相关技能

  • serving-llms-vllm:使用 vLLM 的 PagedAttention 和连续批处理,以高吞吐量提供 LLM 服务。
  • miles-rl-training:提供使用 miles(一个适用于生产环境的 slime 分支)进行企业级 RL 训练的指导。
  • llama-cpp:无需 NVIDIA 硬件,即可在 CPU、Apple Silicon 和消费级 GPU 上运行 LLM 推理。

评论

支持 Markdown