tensorrt-llm
作者: firecrawl
使用NVIDIA TensorRT优化LLM推理,实现最大吞吐量和最低延迟。适用于在NVIDIA GPU(A100/H100)上进行生产部署,当您需要…
npx skills add https://github.com/firecrawl/ai-research-skills --skill tensorrt-llmTensorRT-LLM
NVIDIA's open-source library for optimizing LLM inference with state-of-the-art performance on NVIDIA GPUs.
When to use TensorRT-LLM
Use TensorRT-LLM when:
- Deploying on NVIDIA GPUs (A100, H100, GB200)
- Need maximum throughput (24,000+ tokens/sec on Llama 3)
- Require low latency for real-time applications
- Working with quantized models (FP8, INT4, FP4)
- Scaling across multiple GPUs or nodes
Use vLLM instead when:
- Need simpler setup and Python-first API
- Want PagedAttention without TensorRT compilation
- Working with AMD GPUs or non-NVIDIA hardware
Use llama.cpp instead when:
- Deploying on CPU or Apple Silicon
- Need edge deployment without NVIDIA GPUs
- Want simpler GGUF quantization format
Quick start
Installation
# 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
Basic inference
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)
Serving with 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
}'
Key features
Performance optimizations
- In-flight batching: Dynamic batching during generation
- Paged KV cache: Efficient memory management
- Flash Attention: Optimized attention kernels
- Quantization: FP8, INT4, FP4 for 2-4× faster inference
- CUDA graphs: Reduced kernel launch overhead
Parallelism
- Tensor parallelism (TP): Split model across GPUs
- Pipeline parallelism (PP): Layer-wise distribution
- Expert parallelism: For Mixture-of-Experts models
- Multi-node: Scale beyond single machine
Advanced features
- Speculative decoding: Faster generation with draft models
- LoRA serving: Efficient multi-adapter deployment
- Disaggregated serving: Separate prefill and generation
Common patterns
Quantized model (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..."])
Multi-GPU deployment
# Tensor parallelism across 8 GPUs
llm = LLM(
model="meta-llama/Meta-Llama-3-405B",
tensor_parallel_size=8,
dtype="fp8"
)
Batch inference
# 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
Performance benchmarks
Meta Llama 3-8B (H100 GPU):
- Throughput: 24,000 tokens/sec
- Latency: ~10ms per token
- vs PyTorch: 100× faster
Llama 3-70B (8× A100 80GB):
- FP8 quantization: 2× faster than FP16
- Memory: 50% reduction with FP8
Supported models
- LLaMA family: Llama 2, Llama 3, CodeLlama
- GPT family: GPT-2, GPT-J, GPT-NeoX
- Qwen: Qwen, Qwen2, QwQ
- DeepSeek: DeepSeek-V2, DeepSeek-V3
- Mixtral: Mixtral-8x7B, Mixtral-8x22B
- Vision: LLaVA, Phi-3-vision
- 100+ models on HuggingFace
References
- Optimization Guide - Quantization, batching, KV cache tuning
- Multi-GPU Setup - Tensor/pipeline parallelism, multi-node
- Serving Guide - Production deployment, monitoring, autoscaling
Resources
来自 firecrawl 的更多技能
oracle
firecrawl
使用oracle CLI的最佳实践(提示词与文件打包、引擎、会话及文件附件模式)。
official
firecrawl-monitor
firecrawl
检测网站内容变化,并通过webhook或邮件接收通知——无需cron任务、爬虫或差异脚本。当用户想要追踪页面变化、监控竞争对手定价、在新职位或博客发布时接收提醒、监测文档/更新日志/状态页面,或说出“监控”、“关注”、“追踪”、“当……时提醒我”、“当X变化时通知我”、“如果……请通知我”、“当……时发邮件给我”或“当……时发送webhook”时,使用此技能。内置AI判断器会过滤掉格式、时间戳和……
officialweb-scrapingresearch
firecrawl-deep-research
firecrawl
使用 Firecrawl 进行多源深度研究。当用户要求研究某个主题、比较不同观点、生成带来源的简报、调查技术或市场问题,或综合多个来源的网络证据时使用。
officialresearchweb-scraping
firecrawl-research-papers
firecrawl
使用Firecrawl查找并综合研究论文、白皮书、PDF文件、技术报告及学术来源。适用于用户需要文献综述、论文摘要、研究现状分析,或从PDF及学术/行业出版物中获取有来源的综合内容时。
officialresearchweb-scraping
firecrawl-market-research
firecrawl
使用Firecrawl提取市场、财务、收益、行业和公司指标。当用户询问市场研究、行业趋势、上市公司数据、财务比较、收益研究或结构化市场报告时使用。
officialresearchweb-scraping
firecrawl-website-design-clone
firecrawl
使用 Firecrawl 抓取证据,将任意网站的设计系统提取为可供智能体使用的 DESIGN.md 文件。当用户需要从网站获取颜色、字体、间距、组件、布局模式或品牌/UI 指导,以便 AI 智能体创建新网站、克隆外观或受该设计启发构建页面时使用。
officialdesignweb-scraping
firecrawl-knowledge-base
firecrawl
使用Firecrawl从网页内容构建知识库。适用于本地参考文档、RAG就绪文本块、微调数据集、文档镜像、主题语料库,或从网页来源整理的LLM就绪Markdown。
officialweb-scrapingresearch
firecrawl-lead-research
firecrawl
使用Firecrawl生成会前潜在客户情报简报。适用于用户在销售通话、合作会议、投资者对话或客户访谈前需要公司调研、人物调研、最新动态、谈话要点、痛点分析或外联准备时。
officialresearchweb-scraping