一、前言最近准备系统学习大模型相关的部署技术目标是在本地环境跑通一个开源 LLM后续会继续深入 RAG检索增强生成、模型量化、端侧部署等方向。这篇文章记录了我从零开始在 WSL 2 上部署 Qwen的完整过程包括环境配置、模型下载、推理验证以及期间遇到的坑。为什么选择 WSL主流 AI 工具链PyTorch、Transformers、CUDA 等均原生支持 Linux而日常开发、文档撰写在 Windows 下更顺手。WSL 2 提供了接近原生的 Linux 内核体验无需双系统重启切换文件互通方便资源占用动态可控。后续如需迁移到实验室服务器或云端开发环境基本一致几乎零成本迁移。二、安装 Ubuntu2.1 安装 Ubuntu这里主要参考了文章Windows10开发环境搭建(5) | WSLVS Code 搭建Python开发环境_哔哩哔哩_bilibili全网最细 WSL2 部署教程Ubuntu22.04 迁移 D 盘 权限配置全程无踩坑_wsl2迁移d盘-CSDN博客https://blog.csdn.net/weixin_43722052/article/details/161088690?sharetypeblogdetailshareId161088690sharereferAPPsharesourceweixin_43722052sharefromlink这里只记录我遇到的问题在安装的时候通过命令不用魔法会遇到网络问题wsl --install -d Ubuntu-22.04我采用的是微软商店安装的方式比命令行更直观稳定。在微软商店搜索Ubuntu点击安装即可。这里安装下来的版本是Ubuntu 24.04安装完成后在 PowerShell 中确认安装成功wsl -l -v如果看到类似输出说明安装成功NAME STATE VERSION * Ubuntu Stopped 2首次启动 Ubuntu 时系统会提示创建用户名和密码按提示设置即可。2.2 更换国内软件源重要由于 Ubuntu 官方源在国内访问较慢建议更换为国内镜像源以中科大源为例sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i s//.*archive.ubuntu.com//mirrors.ustc.edu.cng /etc/apt/sources.list sudo sed -i ssecurity.ubuntu.commirrors.ustc.edu.cng /etc/apt/sources.list sudo apt update2.3 安装基础开发工具这里下载完Ubuntu系统自带了python 3.12.3的版本不用另外下载但需要一些基础开发工具如pip等sudo apt install python3 python3-pip git -y三、创建 Python 虚拟环境Python 项目推荐使用虚拟环境来隔离依赖避免不同项目之间的包版本冲突。这里使用 Python 自带的 venv 工具简单轻量无需额外安装。3.1 确认 venv 可用Ubuntu 系统默认可能未安装 venv 模块先确认一下python3 -m venv --help如果提示 No module named venv先安装sudo apt install python3-venv -y3.2 创建虚拟环境在项目目录下创建虚拟环境cd ~/python-demo python3 -m venv env13.3 激活虚拟环境source env1/bin/activate激活成功后终端提示符前会出现 (env1)表示当前处于虚拟环境中。3.4 退出虚拟环境deactivate说明venv 是 Python 官方自带的虚拟环境工具不需要额外安装但 Ubuntu 最小化安装时可能需要单独安装 python3-venv 包。如果 python3 -m venv 命令可用说明已就绪直接跳过安装步骤。四、安装 PyTorch 与 Transformers4.1 安装 PyTorch这里选择安装 CPU 版本足够用于学习和验证pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu4.2 安装 Transformers 和 Acceleratepip install transformers accelerate4.3 验证安装import torch from transformers import AutoModelForCausalLM, AutoTokenizer print(torch.__version__) print(CUDA available:, torch.cuda.is_available())如果输出正常没有报错说明环境已准备就绪。五、编写推理脚本在终端中使用nano编辑器创建test_qwen.py文件nano test_qwen.py关于 nanonano 是 Ubuntu 系统自带的轻量级文本编辑器适合在终端中快速编辑文件。它的操作提示会显示在屏幕底部^ 表示 Ctrl 键例如 ^X 表示 CtrlX。在 nano 编辑器中将以下 Python 代码完整粘贴进去from transformers import AutoModelForCausalLM, AutoTokenizer model_name Qwen/Qwen2-0.5B print(加载 tokenizer...) tokenizer AutoTokenizer.from_pretrained(model_name, trust_remote_codeTrue) print(加载模型...) model AutoModelForCausalLM.from_pretrained(model_name, trust_remote_codeTrue) print(生成回答...) inputs tokenizer(你好请介绍一下你自己, return_tensorspt) outputs model.generate(**inputs, max_new_tokens100) response tokenizer.decode(outputs[0], skip_special_tokensTrue) print(回答, response)如果你的电脑配置较好可以尝试更大的模型将第 4 行的model_name改为Qwen/Qwen2-1.5B约 3GB或Qwen/Qwen2-7B约 14GB模型越大回答质量通常越高但对硬件要求也相应提高。按键盘上的 Ctrl X退出命令终端底部会提示 Save modified buffer?按 Y表示 yes要保存系统询问 File Name to Write: test_qwen.py直接按 Enter回车确认这样就完成了文件的创建和保存会回到终端提示符。六、运行与结果执行脚本python3 test_qwen.py首次运行时会自动下载模型文件约 1GB下载完成后即可看到输出。七、踩坑记录7.1 网络不可达Network is unreachable报错信息[Errno 101] Network is unreachable thrown while requesting HEAD https://huggingface.co/...原因Hugging Face 官网在国内访问不稳定。解决方案设置 Hugging Face 镜像站加速export HF_ENDPOINThttps://hf-mirror.com