从零部署千问模型(一):Qwen模型简介与环境准备
前言
随着大语言模型(LLM)的蓬勃发展,阿里巴巴推出的通义千问(Qwen)系列模型凭借出色的中文理解能力、开源友好的协议以及多尺寸覆盖,成为国内开发者和企业私有化部署的首选。本系列教程将从零开始,带你一步步完成千问模型的本地部署,涵盖环境准备、vLLM 高性能推理、Ollama 轻量部署以及 Web 对话界面搭建。
本文是系列第一篇,重点介绍 Qwen 系列模型的基本情况、硬件选型和软件环境搭建。
一、Qwen 系列模型概览
通义千问(Qwen)是阿里巴巴开源的大语言模型系列,目前已发展到 Qwen2.5/Qwen3 系列。以下是目前主流的模型版本:
1.1 模型版本与参数规模
- Qwen3-0.6B / 1.7B / 4B:超小尺寸模型,适合边缘设备和 CPU 推理
- Qwen3-8B:中小型模型,单张消费级显卡即可部署,性价比极高
- Qwen3-14B / 32B:中型模型,适合企业级应用,需要较好的 GPU
- Qwen3-72B / 235B:大型模型,性能接近 GPT-4,需要多卡或专业服务器
- Qwen3-Coder:专为编程优化的版本,支持超长上下文
- Qwen3-VL:视觉语言多模态模型,支持图片理解
- Qwen3-MoE:混合专家模型,在保持性能的同时降低推理成本
1.2 模型特性
- 卓越的中文能力:在中文理解和生成任务上表现优异
- 长上下文支持:Qwen3 系列原生支持 128K 上下文
- 多语言能力:支持 29 种以上语言
- 工具调用:原生支持 Function Calling,适合 Agent 开发
- 开源协议:采用 Apache 2.0 协议,可商用
二、硬件需求评估
选择合适的硬件是部署大模型的第一步。不同参数规模的模型对显存的要求差异很大,下表列出了常见模型的硬件需求参考:
| 模型 | 参数量 | FP16 显存 | INT4 量化显存 | 推荐显卡 |
|---|---|---|---|---|
| Qwen3-0.6B | 0.6B | ~2GB | ~1GB | CPU / 任意 GPU |
| Qwen3-4B | 4B | ~9GB | ~3GB | RTX 3060 12GB |
| Qwen3-8B | 8B | ~17GB | ~6GB | RTX 4060 Ti 16GB |
| Qwen3-14B | 14B | ~30GB | ~10GB | RTX 4090 24GB |
| Qwen3-32B | 32B | ~68GB | ~20GB | A100 40GB / 双 4090 |
| Qwen3-72B | 72B | ~150GB | ~40GB | 2×A100 80GB |
提示:上表为推理时的显存占用,实际使用中还需预留 KV Cache 空间(与上下文长度和并发数相关)。一般建议显存有 20% 以上的余量。
2.1 GPU 选型建议
- 个人学习/开发:RTX 3060 12GB 或 RTX 4060 Ti 16GB,可跑 4B-8B 量化模型
- 小团队使用:RTX 4090 24GB,可流畅运行 14B 模型
- 企业生产环境:A100 40GB/80GB 或多卡方案,适合 32B-72B 模型
- 纯 CPU 方案:仅推荐 0.6B-4B 小模型,使用 llama.cpp + GGUF 量化
2.2 其他硬件建议
- 内存:至少为模型大小的 2 倍,推荐 32GB 以上
- 存储:SSD 必须,模型文件动辄数十 GB,HDD 加载极慢
- 网络:下载模型需要较好的网络环境(建议用国内镜像源)
三、软件环境搭建
3.1 操作系统选择
推荐使用 Ubuntu 22.04 LTS,社区支持最好,驱动安装最简单。CentOS 7/8 已停止维护,不推荐。Windows 可通过 WSL2 部署,但性能略有损失。
3.2 安装 NVIDIA 驱动
首先确认系统已识别 GPU 设备:
lspci | grep -i nvidia
# 输出示例:
# 01:00.0 VGA compatible controller: NVIDIA Corporation AD102 [GeForce RTX 4090] (rev a1)
安装 NVIDIA 驱动(推荐方式):
# 查看推荐驱动版本
ubuntu-drivers devices
# 自动安装推荐驱动
sudo ubuntu-drivers autoinstall
# 或者指定版本安装
sudo apt install nvidia-driver-535
# 重启生效
sudo reboot
重启后验证驱动安装:
nvidia-smi
# 输出示例:
# +-----------------------------------------------------------------------------+
# | NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 |
# |-------------------------------+----------------------+----------------------+
# | 0 NVIDIA GeForce RTX 4090 On | 00000000:01:00.0 On | |
# | 30% 35C P8 20W / 450W | 5128MiB / 24564MiB | 12% Default |
# +-----------------------------------------------------------------------------+
3.3 安装 CUDA Toolkit
对于推理部署,通常不需要单独安装完整 CUDA Toolkit——PyTorch 自带的 CUDA 运行时已经够用。但如果需要编译某些依赖,可以按以下方式安装:
# 下载 CUDA 12.4 安装包(推荐版本,兼容性最好)
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"
sudo apt update
sudo apt install cuda-toolkit-12-4
# 配置环境变量
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
# 验证
nvcc --version
3.4 安装 Python 与 Conda 环境
推荐使用 Miniconda 管理 Python 环境,避免系统 Python 污染:
# 下载并安装 Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# 重新加载环境变量
source ~/.bashrc
# 创建 Qwen 部署专用环境
conda create -n qwen python=3.11 -y
conda activate qwen
3.5 安装 PyTorch(GPU 版)
# 安装 PyTorch 2.4 + CUDA 12.4
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
# 验证 GPU 可用性
python -c "import torch; print(f'PyTorch: {torch.__version__}'); print(f'CUDA available: {torch.cuda.is_available()}'); print(f'GPU: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else \"N/A\"}')"
预期输出:
PyTorch: 2.4.0+cu124
CUDA available: True
GPU: NVIDIA GeForce RTX 4090
四、下载 Qwen 模型
4.1 使用 HuggingFace 镜像(国内推荐)
国内访问 HuggingFace 较慢,推荐使用 ModelScope(魔搭) 或 HuggingFace 镜像站下载:
方式一:ModelScope(推荐)
# 安装 modelscope
pip install modelscope
# 下载 Qwen3-8B 模型到本地目录
modelscope download --model Qwen/Qwen3-8B --local_dir ./models/Qwen3-8B
方式二:HuggingFace 镜像
# 设置 HuggingFace 镜像端点
export HF_ENDPOINT=https://hf-mirror.com
# 安装 huggingface_hub
pip install huggingface_hub
# 下载模型
huggingface-cli download Qwen/Qwen3-8B --local-dir ./models/Qwen3-8B
4.2 使用 Git LFS 克隆
# 安装 git-lfs
sudo apt install git-lfs
git lfs install
# 从 ModelScope 克隆
git clone https://www.modelscope.cn/Qwen/Qwen3-8B.git ./models/Qwen3-8B
4.3 验证模型文件
下载完成后,检查模型文件完整性:
ls -lh ./models/Qwen3-8B/
# 预期输出:
# -rw-r--r-- 1 root root 4.9K config.json
# -rw-r--r-- 1 root root 250K generation_config.json
# -rw-r--r-- 1 root root 5.0G model-00001-of-00004.safetensors
# -rw-r--r-- 1 root root 4.9G model-00002-of-00004.safetensors
# -rw-r--r-- 1 root root 4.9G model-00003-of-00004.safetensors
# -rw-r--r-- 1 root root 1.2G model-00004-of-00004.safetensors
# -rw-r--r-- 1 root root 26K model.safetensors.index.json
# -rw-r--r-- 1 root root 819 tokenizer_config.json
# -rw-r--r-- 1 root root 7.0M tokenizer.json
五、快速验证模型可用性
在正式部署之前,先用 Transformers 库快速验证模型能正常加载和推理:
pip install transformers accelerate
创建测试脚本 test_qwen.py:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "./models/Qwen3-8B"
print("正在加载模型...")
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True
)
print(f"模型加载完成,设备: {model.device}")
# 简单对话测试
messages = [
{"role": "system", "content": "你是一个有用的AI助手。"},
{"role": "user", "content": "请用三句话介绍你自己。"}
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
print("\n正在生成回复...")
outputs = model.generate(**inputs, max_new_tokens=256, temperature=0.7)
response = tokenizer.decode(outputs[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(f"\n回复: {response}")
python test_qwen.py
如果看到模型正常输出回复,说明环境搭建成功!🎉
六、总结与下一步
本文完成了 Qwen 模型部署的基础准备工作:
- ✅ 了解了 Qwen 系列模型的版本和特性
- ✅ 评估了硬件需求并选择了合适的 GPU
- ✅ 安装了 NVIDIA 驱动、CUDA、PyTorch
- ✅ 下载了 Qwen3-8B 模型
- ✅ 验证了模型可以正常推理
下一篇中,我们将使用 vLLM 框架部署高性能推理服务,支持 OpenAI 兼容 API、连续批处理和 PagedAttention,大幅提升推理吞吐量。







