04. 大模型docker部署及vLLM加速推理

1. 环境配置(NVIDIA显卡为例)

1.1 机器上需要安装的各组件

  1)显卡驱动Driver:显卡硬件对外的交互媒介,作用类似于CPU的kernel核。
  2)cuda Toolkit:cuda Toolkit也常被叫做 cuda。作用是:封装了显卡Driver的调用逻辑,提供更高一层的对外调用接口。cuda提供了对Driver的基本封装,Toolkit基于cuda进行更高一层的接口封装。
  3)cuDNN:cuda DeepNeuralNetwork,专门为深度神经网络任务而加速的包。是在cuda Toolkit基础上开发的。就像 java应用程序是在 jdk基础上开发的一样。

1.2 大模型使用docker部署(推荐)

  基于docker部署模型,需要安装 显卡驱动cuda container toolkit即可。然后再安装 docker即可。docker内部已经安装了cuda toolkit。

# 下载显卡驱动,
# 下载 cuda container toolkit,
# 下载docker,vllm镜像,
# 命令启动【详见 Ai_base_alibity:llm:笔记.md】

1.3 模型不用docker部署(不推荐)

  不推荐,容易引发依赖冲突。

# 下载显卡驱动
# 下载 cuda toolkit,
# 下载项目依赖
# 项目部署,脚本启动

2. vLLM、sglang vs onnx runtime、TensorRT

  vLLM、sglang更侧重于对自回归语言模型的 token-by-token 的加速推理,目前 vLLM 也增加了对 embeddings和rerank 模型的支持。onnx runtime和TensorRT则支持所有类型的神经网络(CNN、RNN、BERT、GPT…),而TensorRT仅支持NVIDIA显卡。

docker和虚拟环境

Conda 虚拟环境只是“应用层”的隔离,而 Docker 提供的是“系统级”的隔离。Docker 可以完全替代虚拟环境(如 Conda、venv)在部署层面的作用,但在本地开发或训练阶段,Docker 和虚拟环境各有优势,最好结合使用。
和 Kubernetes 相比,Docker只是 构建、运行、打包 单个容器;而 Kubernetes 可以 管理、调度、扩缩容 多个容器。

posted @ 2025-06-03 17:44  橘子葡萄火龙果  阅读(574)  评论(0)    收藏  举报