第2章:环境搭建与安装
说实话,环境搭建这一步,劝退了很多人。
我见过不少同学,模型代码写得飞起,结果卡在安装TensorRT-LLM这一步,一卡就是两三天。嗯,今天咱们就把这事彻底说清楚。
2.1 硬件要求
先聊硬件。TensorRT-LLM这玩意儿,说白了就是给NVIDIA显卡量身定做的。你用AMD的卡?那不好意思,真不行。
GPU型号
我个人习惯,把GPU分成三个梯队:
- 第一梯队(推荐):NVIDIA A100、H100、H200。这些卡跑大模型,那叫一个丝滑。
- 第二梯队(能用):RTX 4090、RTX 6000 Ada、L40S。做实验、跑小模型,完全够用。
- 第三梯队(勉强):RTX 3090、RTX 4080。7B以下的模型还能玩玩,再大就吃力了。
⚠️ 注意:TensorRT-LLM目前不支持AMD、Intel、Apple Silicon。别问我为什么,生态就是这样。
显存要求
显存这东西,多多益善。我给大家一个参考:
| 模型规模 | 推荐显存 | 最低显存 |
|---|---|---|
| 7B 模型 | 24GB | 16GB |
| 13B 模型 | 40GB | 24GB |
| 70B 模型 | 160GB(多卡) | 80GB(多卡) |
你想想看,70B的模型,光加载权重就要140GB。单卡根本扛不住。所以多卡并行是常态。
驱动版本
驱动这块,我踩过坑。曾经有一次,我装了个最新的驱动,结果TensorRT-LLM死活不认。后来才发现,驱动版本太新反而有问题。
建议使用 NVIDIA Driver 535.154.05 或更新的稳定版。别追新,稳定第一。
2.2 软件依赖
软件依赖这块,版本匹配是重中之重。我列个表,你照着来就行。
| 软件 | 推荐版本 | 备注 |
|---|---|---|
| CUDA | 12.1 / 12.4 | TensorRT-LLM 0.9.0+ 推荐12.4 |
| cuDNN | 8.9.7 | 必须匹配CUDA版本 |
| Python | 3.10.x | 3.11也行,但3.10最稳 |
| TensorRT | 9.2.0 | 安装TensorRT-LLM时会自动处理 |
💡 我的建议:用CUDA 12.4 + cuDNN 8.9.7 + Python 3.10。这个组合我验证过无数次,最稳。
2.3 源码编译安装TensorRT-LLM
好,重头戏来了。源码编译,说白了就是自己动手做饭。虽然麻烦,但可控性最强。
第一步:准备环境
# 创建conda环境
conda create -n trt_llm python=3.10
conda activate trt_llm
# 安装基础依赖
pip install --upgrade pip
pip install setuptools wheel
第二步:克隆源码
git clone https://github.com/NVIDIA/TensorRT-LLM.git
cd TensorRT-LLM
git checkout v0.9.0 # 建议用稳定版
这里要注意,main分支是开发版,可能不稳定。我建议用tag版本,比如v0.9.0。
第三步:编译安装
# 安装TensorRT-LLM
pip install --no-cache-dir --extra-index-url https://pypi.nvidia.com \
-r requirements.txt
# 编译C++核心库
make -j$(nproc) release
# 安装Python包
pip install --no-cache-dir build/tensorrt_llm*.whl
⚠️ 注意:编译过程需要大量内存。我建议至少32GB内存,否则可能会OOM。我曾经在16GB的机器上编译,结果卡了整整两个小时,最后报错。血的教训。
第四步:验证安装
# 检查是否安装成功
python -c "import tensorrt_llm; print(tensorrt_llm.__version__)"
# 如果输出类似 "0.9.0",说明安装成功
2.4 验证安装是否成功
安装完了,怎么知道它真的能用?我一般跑三个测试:
- 导入测试:看能不能正常import
- 简单推理测试:跑一个最小的模型
- 性能测试:看吞吐量是否正常
简单推理测试
from tensorrt_llm import LLM
# 加载一个最小的模型
llm = LLM("gpt2") # 124M参数,随便跑
# 推理
output = llm.generate("Hello, how are you?")
print(output)
如果这段代码能跑通,恭喜你,环境搭建成功了。
💡 小技巧:第一次跑的时候,TensorRT-LLM会做模型编译优化,可能会慢一点。别慌,这是正常的。第二次跑就快了。
2.5 知识体系总览
为了让你对整个环境搭建有个全局认识,我画了张图:
这张图把整个环境搭建分成了四层:硬件层、软件层、编译层、验证层。每一层都环环相扣,缺一不可。
2.6 避坑指南
最后,分享几个我踩过的坑:
- CUDA版本不匹配:我曾经在CUDA 11.8上折腾了两天,后来发现TensorRT-LLM 0.9.0根本不支持。换到12.4,十分钟搞定。
- 磁盘空间不足:编译过程中会下载大量依赖,建议预留至少50GB空间。
- 网络问题:如果下载慢,可以用国内镜像源。我个人习惯用清华源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple - 权限问题:别用root装,容易搞乱系统。用conda环境最安全。
嗯,环境搭建这块,说难不难,说简单也不简单。关键是把版本对应好,一步一个脚印来。你按照我上面的步骤走,应该不会出大问题。