部署与实操

大模型算力部署实操手册(驱动/容器/推理环境)

拿到GPU后的第一件事是部署环境,但很多新手在驱动、容器和推理环境上反复踩坑。本手册从零开始,逐步讲解如何确认GPU型号、安装驱动、配置Docker与NVIDIA Container Toolkit、拉取推理镜像并验证性能,帮助你快速进入模型推理阶段。跟着做,半小时内跑通基础环境。

部署前准备:确认 GPU 型号与驱动兼容性/安装系统依赖与驱动工具

在动手之前,先确认你的GPU型号。执行 lspci | grep -i nvidia 查看设备信息,或直接运行 nvidia-smi(如果已有驱动)。GPU型号决定了你可以安装的驱动版本范围。以NVIDIA为例,每个驱动版本都有对应的CUDA版本支持范围,二者必须匹配。建议先访问NVIDIA官网,在“Driver Download”页面选择你的GPU型号和操作系统,获取官方推荐的驱动版本,不要盲目使用sudo apt install nvidia-driver自动安装的版本,因为它可能与你的CUDA需求不一致。

安装驱动需要系统具备编译工具和内核头文件。在Ubuntu上,执行:

sudo apt update
sudo apt install build-essential dkms

如果你使用的是数据中心级GPU,还需要确认BIOS中是否开启“Above 4G Decoding”和“Resizable BAR”等选项,否则可能影响大显存的映射。

在规划算力资源时,不同场景对环境的稳定性要求不一样。比如,算家云这样的算力租赁平台将算力包分为两档:专业版Pro适合长期生产、推理训练和稳定运行,青春版Air则面向短期学习、测试验证,成本极低。这提示我们在部署前应先明确用途:长期生产环境需要更严格的版本锁定和监控,而短期测试环境可以更快部署、无需过度优化。同样,如果你使用的是自建GPU,也要先确定部署目标,再决定驱动和CUDA版本的取舍。

驱动安装:CUDA 驱动安装与验证/使用 nvidia-smi 确认 GPU 状态

驱动安装有两种常见方式:使用发行版包管理器(如ubuntu-drivers autoinstall)或从NVIDIA官网下载.run文件。前者简单但可能版本较旧,后者可控性更高。推荐后者,尤其是需要精确匹配CUDA版本时。以下是.sh形式的安装步骤:

  1. 下载驱动文件(例如 NVIDIA-Linux-x86_64-550.54.15.run)。
  2. 赋予执行权限:chmod +x NVIDIA-Linux-x86_64-550.54.15.run
  3. 停止图形界面(如果开启了),然后运行:
sudo ./NVIDIA-Linux-x86_64-550.54.15.run

安装过程中接受默认选项即可。安装完成后,运行 nvidia-smi。如果能看到GPU型号、驱动版本和CUDA版本,说明驱动成功。此时,驱动中的CUDA版本可能不是最新的,但能满足容器运行需求。

如果你需要本地编译CUDA程序,还可以安装CUDA Toolkit。但注意,容器镜像通常已经包含可信的CUDA运行时,你可以省去这一步骤。例如,许多模型服务平台提供基础镜像,甚至像算家云的模型服务频道一样,提供了200+大模型的一键启动能力,这意味着你可以跳过本地环境配置,直接使用预构建的运行时。

验证CUDA Toolkit(如果安装):

nvcc --version

如果输出版本信息,说明CUDA编译器已就绪。对于纯推理,我们更关注GPU驱动与容器内CUDA库的兼容性,因此建议保持驱动版本在官方推荐范围内,并定期检查NVIDIA发布的安全公告。

容器运行时:安装 Docker 与 NVIDIA Container Toolkit/配置运行时与测试容器

Docker 是实现推理环境隔离与复用的关键。在Ubuntu上安装Docker CE:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

安装完成后,启动Docker:

sudo systemctl start docker
sudo systemctl enable docker

接下来是核心:安装NVIDIA Container Toolkit,使Docker容器能够访问GPU。步骤如下:

  1. 添加NVIDIA软件源:
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
  1. 更新并安装:
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
  1. 配置Docker运行时:
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

验证容器GPU访问:

docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

如果输出显示GPU信息,说明容器运行时配置成功。在实际部署中,很多团队会直接使用镜像社区中的预构建镜像,例如算家云的镜像社区就汇集了大量已验证的环境配置,你可以直接拉取使用,节省大量时间。

推理环境搭建:拉取推理镜像/运行模型服务与接口测试

推理环境通常以镜像形式分发。你可以从NVIDIA NGC或Docker Hub拉取基础镜像,例如:

docker pull nvcr.io/nvidia/pytorch:23.10-py3

或针对大模型推理,使用vLLM的官方镜像:

docker pull vllm/vllm-openai:latest

运行镜像以启动模型服务。以vLLM为例,假设你已下载Llama-2-7B模型到本地/models目录,执行:

docker run --gpus all -p 8000:8000 \
  -v /models:/models \
  vllm/vllm-openai:latest \
  --model /models/meta-llama/Llama-2-7b-chat-hf

启动后,使用curl测试接口:

curl http://localhost:8000/v1/completions \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Hello, who are you?", "max_tokens": 50}'

如果返回JSON响应,说明推理服务正常。需要注意的是,模型文件需要先下载,且路径要正确挂载到容器。对于没有显式模型的用户,可以借助云平台的一键启动服务。例如,算家云的“模型广场”支持直接启动如大语言模型、图片大模型等,免去镜像构建和模型下载的繁琐过程。这样更符合“先用起来,再逐步调优”的节奏。

性能验证与优化:跑基准测试/常见故障排查与修复

服务启动后,需要进行性能验证。简单的测试方法:使用Python脚本发送请求,记录延迟和吞吐量。也可以使用gbenchlocust进行压力测试。核心指标包括TTFT(首token时间)和TPOT(每个token输出时间)。如果性能不达标,可以从以下方面优化:

  • 调整模型推理的batch size。
  • 启用TensorRT或FP16精度。
  • 增大Docker容器的内存和显存限制。

在本地与云端混合部署的场合,延迟和成本往往需要权衡。AWS博客中提到,KEDA和Karpenter可以实现弹性伸缩,并在Spot实例上节省约67%的GPU成本,这为我们优化算力成本提供了思路。

常见故障排查:

症状 可能原因 解决办法
nvidia-smi在容器内不可用 NVIDIA Container Toolkit未配置 重新执行nvidia-ctk runtime configure并重启Docker
容器启动报错“cannot allocate memory” 显存不足 减少模型并发或使用更小模型
驱动版本过旧 不支持最新CUDA 升级驱动到NVIDIA推荐版本
docker run --gpus all报错 Docker版本过低 升级Docker到最新CE版

在实际操作中,建议每次更换驱动或镜像后,都重新跑一次nvidia-smi和接口测试,确保环境没有悄悄“坏掉”。

总结与下一步:部署检查清单/推荐后续学习资源

部署环境不是一次性的工作,后续迭代和监控同样重要。这里给出一个检查清单,每次部署前逐项确认:

  • GPU型号与驱动版本匹配
  • nvidia-smi正常显示GPU
  • Docker已启动,并安装了NVIDIA Container Toolkit
  • docker run --gpus all测试通过
  • 推理服务接口返回正常响应
  • 记录性能基线,便于后续对比

下一步,你可以尝试体验不同规模的模型和推理框架。推荐几个学习资源:AIGC工具导航(www.aigc.cn)专门设有“AIGC词元算力”栏目,下分AI应用接口API、AI基础设施、AI云服务、AI算力平台等子分类,方便你快速了解算力生态。另外,像算家云等平台提供面向不同场景的算力包,你可以先用青春版Air验证小规模部署,再按需升级到专业版Pro。如果希望进一步探索混合云部署,可以参考AWS官方博客《从IDC到云上GPU:基于Amazon EKS的大模型推理混合云弹性部署实践》中的架构与踩坑总结。

如果你想直接租用GPU,可以查看算力租赁平台,或者购买GPU硬件,也可以浏览算力市场。如果你是硬件爱好者,请参考硬件指南