背景知识
阿里云 ECS,系统已经装好 CUDA12.8 显卡驱动,部署 PyTorch+Qwen 大模型,用 venv 完全合适,不要直接装到系统全局环境!
❌不推荐直接在终端全局 pip 安装(不创建虚拟环境) ✅推荐:
python3.13 venv虚拟环境安装 pytorch、transformers 全套
1、直接装系统全局(不做虚拟环境)有什么风险?
就是不创建 rag_env,直接pip install xxx
- Ubuntu 系统本身有很多系统工具依赖自带的 Python3.10,如果你 pip 把 numpy、transformers 这些包升级 / 覆盖系统自带包,有可能弄坏系统工具,严重会导致系统命令报错。
- 包版本混杂,以后分不清哪些是比赛项目的包、哪些是系统自带。
- 以后想清理环境只能一个个 pip 卸载,很难干净复原。
很多新手图省事直接全局 pip,深度学习包版本很高,会把系统 Python 组件搞崩,服务器命令异常。
2、venv 跑 PyTorch 大模型会不会有短板?
venv只隔离 Python 包,不隔离底层驱动、CUDA。
- 你的服务器的 NVIDIA 驱动、CUDA12.8 是装在操作系统层面;
- PyTorch 内部自带自己需要的 cu126 运行库,不需要操作系统层面去改 CUDA 版本。
👉 pytorch 的 cuda 是 pytorch 包里自带的,venv 完全不影响 GPU 调用。 只要虚拟环境里面安装的torch==2.14.0+cu126版本正确,torch.cuda.is_available()就能返回 True,GPU 正常跑大模型。
conda 的优势是可以帮你装、切换操作系统级别的 CUDA。但你这里根本不需要切换 CUDA,系统已经就绪,conda 的优势发挥不出来,反而增加安装负担。
2、安装模型运行环境,整体分为 5 大块,每块先讲目标,再放命令,再统一解释这一块所有命令含义
目标:
安装 Python3.13 → 创建隔离虚拟环境 → 开启防断线会话 → 安装竞赛指定依赖包 → 环境校验备份
完整一步步操作(复制粘贴执行,按顺序)
当前系统:Ubuntu,自带Python3.10.12;比赛要求 Python3.13 注意:全部在服务器终端执行;网页Workbench做长时间pip安装建议开tmux防止断线
步骤1:安装Python3.13
apt update -y apt install software-properties-common -y add-apt-repository ppa:deadsnakes/ppa -y apt update -y apt install python3.13 python3.13-venv python3.13-dev -y功能解释:
apt update -y:更新Ubuntu软件源索引,让系统识别最新软件包;apt install software-properties-common -y:安装工具,用于添加第三方软件源;add-apt-repository ppa:deadsnakes/ppa -y:添加deadsnakes源,这个源提供多个版本Python;- 再次
apt update -y:刷新源,识别刚添加的Python3.13;apt install python3.13 python3.13-venv python3.13-dev -y:安装Python3.13本体、venv虚拟环境模块、开发库。步骤2:验证Python3.13是否安装成功
python3.13 --version功能解释 :查看Python3.13版本号,确认是否正确安装。预期输出类似:
Python 3.13.x,出现版本号就成功。步骤3:创建venv虚拟环境(环境名叫rag_env)
python3.13 -m venv rag_env功能解释 :使用Python3.13自带venv模块,创建隔离虚拟环境,文件夹名为
rag_env。 所有项目后续的Python包都会存放在这个文件夹,不会改动系统自带Python,环境损坏直接删文件夹即可。步骤4:激活虚拟环境
source rag_env/bin/activate功能解释 :激活刚刚创建的rag_env虚拟环境。 ✅成功标志:命令提示符前面出现
(rag_env)。⚠️重要提醒:每次重新登录服务器,环境不会自动激活,都要重新执行这条激活命令;不激活的话pip会装到系统Python。
步骤5:开启tmux(准备跑长时间pip安装,防止网页断线杀掉进程)
tmux new -s rag功能解释 :新建名为
rag的tmux后台会话。网页Workbench闲置超时会断开连接,断开后普通终端内运行的程序会被杀死;tmux可以让任务在服务器后台继续运行。如果以后断线重连回来恢复会话用:
tmux a -t rag步骤6:升级pip
pip install --upgrade pip功能解释:在已经激活的虚拟环境内部,把pip包管理器升级到最新版本,避免旧版本pip下载、安装包出现异常报错。
步骤7:安装指定版本PyTorch(cu126)
pip install torch==2.14.0 --index-url [https://download.pytorch.org/whl/test/cu126](https://download.pytorch.org/whl/test/cu126)功能解释 :安装竞赛指定版本torch 2.14.0,
cu126代表适配CUDA12.6;--index-url指定pytorch官方下载源,保证下载带GPU支持的版本。PyTorch是大模型运行的核心深度学习框架。步骤8:安装竞赛清单其余指定版本包
pip install faiss-cpu==1.15.0 numpy==2.5.2 sentence-transformers==6.0.1 transformers==5.16.1功能解释:按照竞赛文档严格安装固定版本依赖:
- faiss‑cpu:向量检索库,RAG做向量搜索;
- numpy:数值计算基础库;
- sentence‑transformers:用来生成文本向量;
- transformers:huggingface库,加载、运行Qwen大模型。
步骤9:校验安装版本 & GPU是否可用
9.1 查看全部已安装包,核对版本
pip list功能解释:列出当前虚拟环境所有已经安装的包以及对应版本,对照竞赛清单检查版本号是否匹配。 核对这几个:
- faiss‑cpu:1.15.0
- numpy:2.5.2
- sentence‑transformers:6.0.1
- torch:2.14.0+cu126
- transformers:5.16.1
9.2 测试GPU CUDA是否可用
python -c "import torch; print('torch版本:',torch.__version__); print('cuda可用:',torch.cuda.is_available()); print('GPU名称:',torch.cuda.get_device_name(0))"功能解释:调用torch库,验证:①torch版本;②GPU CUDA是否可以被pytorch调用;③识别到的显卡型号。 ✅预期输出:
torch版本: 2.14.0+cu126 cuda可用: True GPU名称: NVIDIA A10
cuda可用:True代表GPU可以正常跑大模型。步骤10:导出依赖备份文件requirements.txt(比赛交付用)
pip freeze > requirements.txt功能解释 :把当前虚拟环境所有包+版本导出保存到
requirements.txt文件,对应竞赛文档第4部分完整依赖树。别的机器可以用这个文件一键复现环境。
环境装好之后,接下来要做(你后面才做,现在不用执行)
Xftp使用ECS公网IP 连接服务器,把本地
workspace整个文件夹上传到服务器/root/在服务器进入目录:
cd /root/workspace
ls功能解释 :切换到workspace文件夹,ls列出文件夹内文件,确认两个
.tar.gz模型压缩包上传成功。
解压模型:
tar -zxvf Qwen3_5‑0_8B.tar.gz
tar -zxvf Qwen3‑Embedding‑0_6B.tar.gz功能解释 :
tar -zxvf解压gz格式的压缩包,释放Qwen大模型和向量模型文件,解压完成后就可以运行RAG代码。
常用备忘命令(记一下)
deactivate功能解释:退出当前虚拟环境,回到系统默认环境。Ctrl+b松开,再按d功能解释:脱离tmux窗口,程序继续后台运行,不会停止。tmux a -t rag功能解释:重新接入名字叫rag的tmux后台会话,查看之前任务进度。rm -rf rag_env功能解释:直接删除整个虚拟环境文件夹,如果环境彻底搞坏,执行这条,回到步骤3重新创建即可,不会破坏服务器系统。现在从步骤1开始复制执行,哪一步报错,直接把终端输出贴给我。