阿里云部署qwen 大模型从0-1,第3步:阿里云服务器上部署大模型

背景知识

阿里云 ECS,系统已经装好 CUDA12.8 显卡驱动,部署 PyTorch+Qwen 大模型,用 venv 完全合适,不要直接装到系统全局环境!

❌不推荐直接在终端全局 pip 安装(不创建虚拟环境) ✅推荐:python3.13 venv虚拟环境安装 pytorch、transformers 全套

1、直接装系统全局(不做虚拟环境)有什么风险?

就是不创建 rag_env,直接pip install xxx

  1. Ubuntu 系统本身有很多系统工具依赖自带的 Python3.10,如果你 pip 把 numpy、transformers 这些包升级 / 覆盖系统自带包,有可能弄坏系统工具,严重会导致系统命令报错
  2. 包版本混杂,以后分不清哪些是比赛项目的包、哪些是系统自带。
  3. 以后想清理环境只能一个个 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

功能解释

  1. apt update -y:更新Ubuntu软件源索引,让系统识别最新软件包;
  2. apt install software-properties-common -y:安装工具,用于添加第三方软件源;
  3. add-apt-repository ppa:deadsnakes/ppa -y:添加deadsnakes源,这个源提供多个版本Python;
  4. 再次apt update -y:刷新源,识别刚添加的Python3.13;
  5. 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部分完整依赖树。别的机器可以用这个文件一键复现环境。


环境装好之后,接下来要做(你后面才做,现在不用执行)

  1. Xftp使用ECS公网IP 连接服务器,把本地workspace整个文件夹上传到服务器 /root/

  2. 在服务器进入目录:

    cd /root/workspace
    ls

功能解释 :切换到workspace文件夹,ls列出文件夹内文件,确认两个.tar.gz模型压缩包上传成功。

  1. 解压模型:

    tar -zxvf Qwen3_5‑0_8B.tar.gz
    tar -zxvf Qwen3‑Embedding‑0_6B.tar.gz

功能解释tar -zxvf解压gz格式的压缩包,释放Qwen大模型和向量模型文件,解压完成后就可以运行RAG代码。


常用备忘命令(记一下)

  1. deactivate 功能解释:退出当前虚拟环境,回到系统默认环境。
  2. Ctrl+b 松开,再按 d 功能解释:脱离tmux窗口,程序继续后台运行,不会停止。
  3. tmux a -t rag 功能解释:重新接入名字叫rag的tmux后台会话,查看之前任务进度。
  4. rm -rf rag_env 功能解释:直接删除整个虚拟环境文件夹,如果环境彻底搞坏,执行这条,回到步骤3重新创建即可,不会破坏服务器系统。

现在从步骤1开始复制执行,哪一步报错,直接把终端输出贴给我

相关推荐
少陽君1 小时前
服务器服务检查报告
python
x秀x1 小时前
sam3新手使用教程
开发语言·python
Java后端的Ai之路1 小时前
大模型LLM评估完全指南
开发语言·人工智能·python·llm·评估
外收内放1 小时前
Python学习记录25(基础知识终结篇)
python·学习
别动我齐刘海1 小时前
ROS2 Jazzy + C++ 实战路线——基础学习1
c++·vscode·python·ubuntu·机器学习·自动驾驶·github
life码农1 小时前
python框架Flask多语言配置示例
python·flask
苏离~Hack1 小时前
SL-crawler:一个可视化配置的通用网页与 API 数据采集工具
python
小白学大数据1 小时前
Python 小工具实战:用问财接口搭建金融数据采集器
开发语言·人工智能·python
青少儿编程课堂2 小时前
多源最短路与最小环(Floyd 算法图论解析)
c++·python·算法·bfs·信息学竞赛