假设你已经完成了 Conda、CUDA、驱动的安装与配置,接下来就是让大模型真正跑起来。本文面向个人在阿里云租用单台 GPU 服务器的场景,从模型下载、框架选型,到部署、远程访问、后台运行与省钱,给出一条完整、可复现的路径。
一、先确认基础环境
登录服务器后,先确认 GPU 和 PyTorch 是否正常:
nvidia-smi
conda activate llm
python -c "import torch; print(torch.__version__, torch.cuda.is_available(), torch.version.cuda)"
重点看:
- GPU 型号和显存,比如 T4 16GB、A10 24GB、V100 32GB、A100 40/80GB;
-
torch.cuda.is_available()是否为True; -
torch.version.cuda是否不超过nvidia-smi右上角显示的 CUDA Version。
这一步确认后,再往下走。
二、模型准备:下载模型文件
运行模型前,首先需要获取模型权重。有两种常用方式。
方式一:Hugging Face
安装下载工具:
pip install -U huggingface_hub
下载模型到本地目录:
huggingface-cli download meta-llama/Meta-Llama-3-8B-Instruct --local-dir ./llama3-8b-instruct
如果下载速度慢,可设置镜像:
export HF_ENDPOINT=https://hf-mirror.com
方式二:ModelScope(国内服务器推荐)
国内阿里云服务器用 ModelScope 下载通常更快:
pip install modelscope
modelscope download --model Qwen/Qwen2.5-7B-Instruct-AWQ --local_dir ./Qwen2.5-7B-Instruct-AWQ
如果显存 24GB 以上,可以下载非量化版:
modelscope download --model Qwen/Qwen2.5-7B-Instruct --local_dir ./Qwen2.5-7B-Instruct
三、按显存选模型
单台服务器上,显存决定你能跑多大的模型。参考下表:
| 显存 | 推荐模型 |
|---|---|
| 8–12GB | Qwen2.5-3B、Llama-3.2-3B、7B 的 AWQ/GPTQ 量化版 |
| 16GB | Qwen2.5-7B-Instruct-AWQ、Llama-3.1-8B-Instruct-AWQ |
| 24GB | Qwen2.5-7B/14B-AWQ,7B/8B FP16 |
| 40GB | Qwen2.5-14B FP16、32B-AWQ |
| 80GB | Qwen2.5-32B FP16、72B-AWQ |
个人使用优先选 Qwen2.5-7B-Instruct 或它的 AWQ 量化版。量化版显存占用低,速度也够用。
四、四种主流推理框架对比
环境就绪后,选择哪个框架来运行模型,取决于你的需求。
| 框架 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| vLLM | 生产部署、高并发 API 服务 | 吞吐量极高,显存管理高效 | 仅支持 Linux,对显存要求较高 |
| Ollama | 个人快速体验、轻量级应用 | 极简,一键运行,跨平台 | 定制性较弱,性能不如 vLLM |
| llama.cpp | 资源受限、CPU/混合推理 | 资源占用低,支持 CPU 和量化 | 配置稍复杂,需要编译 |
| Transformers | 快速脚本测试、研究 | 简单直接,与 Python 生态无缝集成 | 缺少生产级优化,性能一般 |
对于阿里云单台 GPU 服务器,推荐 vLLM + Open WebUI,兼顾性能与易用性;如果只想最简,Ollama + Open WebUI 也足够。
五、通用运行方法简介
5.1 vLLM:生产级高性能推理
安装:
conda create -n vllm python=3.11 -y
conda activate vllm
pip install -U vllm
启动 OpenAI 兼容 API:
vllm serve ./Qwen2.5-7B-Instruct-AWQ \
--served-model-name qwen \
--host 127.0.0.1 \
--port 8000 \
--max-model-len 8192 \
--gpu-memory-utilization 0.9
关键参数:
-
--model:模型路径或 Hugging Face 模型 ID; -
--port:API 端口,默认 8000; -
--max-model-len:最大上下文长度,显存不足时降低; -
--gpu-memory-utilization:GPU 显存利用率,默认 0.9。
测试:
curl http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen",
"messages": [{"role": "user", "content": "你好,介绍一下你自己"}],
"max_tokens": 200
}'
5.2 Ollama:极简快速体验
安装:
curl -fsSL https://ollama.com/install.sh | sh
运行模型:
ollama run qwen2.5:7b
Ollama 默认监听 127.0.0.1:11434。
5.3 llama.cpp:资源受限环境
编译安装(开启 CUDA 支持):
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release
运行 GGUF 模型:
./build/bin/llama-cli -m ./your-model.Q4_K_M.gguf -p "你的提示词" -n 256
5.4 Transformers:快速脚本调试
from transformers import pipeline
pipe = pipeline("text-generation", model="./llama3-8b-instruct", device_map="auto")
result = pipe("Explain the theory of relativity in simple terms.", max_new_tokens=200)
print(result[0]['generated_text'])
适合快速验证,但缺少 vLLM 那样的高级优化。
六、阿里云单台服务器推荐路线
6.1 路线一:vLLM + Open WebUI(推荐)
这是单台服务器上兼顾性能和易用性的方案。vLLM 提供 OpenAI 兼容 API,Open WebUI 提供浏览器聊天界面。
步骤 1:新建 conda 环境并安装 vLLM
建议单独建环境,避免和已有 PyTorch 冲突:
conda create -n vllm python=3.11 -y
conda activate vllm
pip install -U vllm modelscope
步骤 2:下载模型
modelscope download --model Qwen/Qwen2.5-7B-Instruct-AWQ --local_dir ./Qwen2.5-7B-Instruct-AWQ
步骤 3:启动 vLLM
vllm serve ./Qwen2.5-7B-Instruct-AWQ \
--served-model-name qwen \
--host 127.0.0.1 \
--port 8000 \
--max-model-len 8192 \
--gpu-memory-utilization 0.9
如果显存不够,把 --max-model-len 降到 4096,或把 --gpu-memory-utilization 降到 0.8。
步骤 4:安装 Open WebUI
如果服务器上有 Docker:
docker run -d --network host \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
--network host 让 Open WebUI 能直接访问宿主机的 127.0.0.1:8000。
6.2 路线二:Ollama + Open WebUI(极简)
如果只想快速聊天,不想折腾 vLLM:
curl -fsSL https://ollama.com/install.sh | sh
ollama run qwen2.5:7b
Ollama 默认监听 127.0.0.1:11434。同样可以配合 Open WebUI:
docker run -d --network host \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
在 Open WebUI 里连接 Ollama:http://127.0.0.1:11434。
七、远程访问:用 SSH 隧道,不要开公网端口
假设你的阿里云公网 IP 是 1.2.3.4。在你自己电脑上执行:
ssh -L 3000:127.0.0.1:8080 -L 8000:127.0.0.1:8000 root@1.2.3.4
然后本地浏览器访问:
http://localhost:3000
Open WebUI 里配置:
- OpenAI API 地址:
http://127.0.0.1:8000/v1 - API Key:随便填,或 vLLM 启动时设置的 key
- 模型名:
qwen
这样阿里云安全组只需要开 22 端口,不需要开放 8000、8080、11434。个人使用最安全。
如果你一定要公网访问,至少做到:
- 安全组源 IP 限制为你自己的固定 IP;
- vLLM 加
--api-key; - 前面加 Nginx + HTTPS + 密码;
- 不要用
0.0.0.0/0开放端口。
八、后台运行与省钱建议
8.1 用 tmux 挂后台
vLLM 用 tmux 挂后台:
tmux new -s vllm
conda activate vllm
vllm serve ./Qwen2.5-7B-Instruct-AWQ --served-model-name qwen --host 127.0.0.1 --port 8000
# 按 Ctrl+b,再按 d 退出
回来:
tmux attach -t vllm
Open WebUI 已经用 --restart always,会自动重启。
8.2 阿里云省钱注意
- 不用时在控制台停止实例,按量付费通常停止后不再收计算资源费,但云盘和公网 IP 可能继续计费;
- 设置自动释放或节省计划;
- 公网流量单独计费,SSH 隧道访问基本不产生额外公网流量费;
- 定期看账单和
nvidia-smi。
九、常见问题排查
9.1 显存不足 (CUDA Out of Memory)
如果遇到 torch.cuda.OutOfMemoryError,可以尝试:
- 降低
--gpu-memory-utilization,例如从 0.9 降到 0.8 或 0.7; - 减小
--max-model-len,降低上下文长度以节省显存; - 使用量化模型,选择 4-bit 或 8-bit 量化版本;
- 检查其他进程,确保没有其他程序占用 GPU 显存。
9.2 模型加载失败
- 确认模型路径正确,且包含所有必需文件(如
config.json、tokenizer.json等); - 对于某些模型(如 Qwen),可能需要添加
--trust-remote-code参数。
9.3 服务无法访问
- 检查端口是否被占用,可以尝试更换
--port; - 如果是在容器或远程服务器上运行,确保端口已正确映射或开放防火墙。
十、最快跑通命令清单
假设你已有 conda 环境 llm,显存 16GB 以上:
conda create -n vllm python=3.11 -y
conda activate vllm
pip install -U vllm modelscope
modelscope download --model Qwen/Qwen2.5-7B-Instruct-AWQ --local_dir ./Qwen2.5-7B-Instruct-AWQ
vllm serve ./Qwen2.5-7B-Instruct-AWQ \
--served-model-name qwen \
--host 127.0.0.1 \
--port 8000 \
--max-model-len 8192 \
--gpu-memory-utilization 0.9
本地电脑:
ssh -L 3000:127.0.0.1:8080 -L 8000:127.0.0.1:8000 root@你的阿里云公网IP
浏览器打开 http://localhost:3000,在 Open WebUI 中连接 http://127.0.0.1:8000/v1,模型名 qwen,就可以聊天了。
总结
个人在阿里云单台 GPU 服务器上运行大模型,最推荐 vLLM + Open WebUI + SSH 隧道;如果只想最简,就用 Ollama + Open WebUI。核心原则:
- 按显存选模型,优先量化版;
- 服务只监听
127.0.0.1,通过 SSH 隧道远程访问; - 安全组只开 22 端口;
- 用 tmux 挂后台,Open WebUI 加
--restart always; - 不用时停止实例,注意云盘和公网 IP 的计费。
按本文路径操作,你可以从环境就绪一路跑到浏览器聊天,安全、省钱、可复现。