NVIDIA CUDA Toolkit
PyTorch
FlashAttention
vLLM
一、系统准备
更新系统:
apt update
apt upgrade -y安装基础工具:
apt install -y \
git \
build-essential \
cmake \
ninja-build \
python3-dev \
python3-venv \
python3-pip \
htop二、安装 CUDA
确认 CUDA 已安装:
nvcc --version应该看到类似:
Cuda compilation tools, release 12.8如果 CUDA 在:
/usr/local/cuda-12.8加入环境变量:
echo 'export CUDA_HOME=/usr/local/cuda-12.8' >> ~/.bashrc
echo 'export PATH=$CUDA_HOME/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc验证:
echo $CUDA_HOME三、创建 Python 虚拟环境
创建环境:
python3 -m venv ~/vllm_venv进入环境:
source ~/vllm_venv/bin/activate升级 pip:
pip install --upgrade pip四、安装 PyTorch (CUDA 12.8)
pip install torch torchvision torchaudio \
--index-url https://download.pytorch.org/whl/cu128验证:
python -c "import torch; print(torch.__version__, torch.version.cuda)"应该类似:
2.x.x 12.8再确认 GPU:
python -c "import torch; print(torch.cuda.get_device_name(0))"五、安装编译工具
FlashAttention 需要:
pip install ninja packaging wheel六、安装 FlashAttention
4090D 的 GPU 架构是:
sm_89限制编译架构:
export TORCH_CUDA_ARCH_LIST="8.9"安装:
pip install flash-attn==2.5.9.post1 --no-build-isolation编译时间:
10 ~ 40分钟CPU 会看到:
nvcc
nvvm
ptxas跑满属于正常现象。
验证:
python -c "import flash_attn; print('flash-attn ok')"七、安装 vLLM
pip install vllm确认版本:
python -c "import vllm; print(vllm.__version__)"八、启动 vLLM API 服务
推荐启动:
vllm serve /root/vllm_deploy/Qwen3-14B-AWQ \
--served-model-name Qwen3-14B-AWQ \
--async-scheduling \
--host 0.0.0.0 \
--port 8000 \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.85 \
--enforce-eager \
--max_model_len 8000说明:
九、测试 API
curl http://localhost:8000/v1/models如果返回模型信息,说明成功。
测试推理:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model":"Qwen/Qwen2.5-7B-Instruct",
"messages":[{"role":"user","content":"你好"}]
}'十、性能小知识
安装 FlashAttention 后,注意力计算速度通常会:
提升 2~4 倍因为它减少了:
GPU显存访问
KV Cache读写
不必要的矩阵计算
这是 Transformer 推理速度提升的核心优化之一。
十一、推荐目录结构
为了以后维护:
/root
├─ vllm_venv
├─ models
├─ vllm_deploy
│ ├─ start.sh
│ └─ logs启动脚本示例:
#!/bin/bash
source ~/vllm_venv/bin/activate
python -m vllm.entrypoints.openai.api_server \
--model /root/models/Qwen2.5-7B-Instruct \
--tensor-parallel-size 4 \
--gpu-memory-utilization 0.9 \
--port 8000