Wan2.1-umt5入门指南:Ubuntu 20.04系统下的完整部署流程

张开发
2026/7/1 13:45:14 15 分钟阅读
Wan2.1-umt5入门指南:Ubuntu 20.04系统下的完整部署流程
Wan2.1-umt5入门指南Ubuntu 20.04系统下的完整部署流程如果你刚接触AI模型部署看到一堆命令和配置可能会有点发怵。别担心今天咱们就来聊聊怎么在Ubuntu 20.04上把一个叫Wan2.1-umt5的模型跑起来。整个过程其实就像搭积木跟着步骤走一步步来你会发现并没有想象中那么复杂。这篇文章的目标很明确让你从零开始在自己的Ubuntu 20.04机器上成功部署并运行Wan2.1-umt5模型。我会尽量用大白话解释每一步在干什么并提供可以直接复制粘贴的命令。你不需要是系统管理员或者AI专家只要对命令行有最基本的了解比如知道怎么打开终端、粘贴命令就完全可以跟上。1. 部署前先看看你的“地基”牢不牢在开始安装任何软件之前我们得先确保你的Ubuntu系统已经准备好了。这就好比盖房子前要检查地面是否平整材料是否齐全。1.1 确认你的系统版本首先打开终端快捷键CtrlAltT输入下面的命令看看你的系统是不是Ubuntu 20.04。lsb_release -a你会看到类似这样的输出No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal重点看Release: 20.04这一行。如果不是20.04后面的步骤可能会遇到一些依赖库版本不匹配的问题需要额外处理。1.2 更新系统软件包这是一个好习惯能确保你安装的软件都是最新的减少兼容性问题。在终端里依次运行下面两条命令sudo apt update sudo apt upgrade -y第一条命令是刷新软件源列表就像去超市前先看看最新的商品目录。第二条命令是升级所有可以升级的软件包-y参数表示自动同意所有升级提示省得你一直按回车。这个过程可能需要几分钟取决于你的网络速度和需要升级的软件数量。2. 搭建核心环境安装DockerWan2.1-umt5模型我们选择用Docker来部署。你可以把Docker理解成一个超级轻量级的虚拟机它能把模型运行所需的所有环境比如特定的Python版本、库文件打包成一个“集装箱”镜像。我们直接拉取这个集装箱到本地运行就免去了手动配置各种复杂环境的麻烦。2.1 安装Docker的依赖工具这些工具是安装Docker所必需的。在终端里执行sudo apt install -y apt-transport-https ca-certificates curl software-properties-commonapt-transport-https: 让apt包管理器能通过HTTPS协议下载软件。ca-certificates: 数字证书用于验证网站安全性。curl: 一个在命令行下载文件的工具我们马上就会用到它。software-properties-common: 用于管理软件源。2.2 添加Docker的官方软件源Ubuntu自带的软件源里可能没有最新版的Docker或者根本没有。所以我们需要把Docker官方的软件源地址添加到系统里。curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository deb [archamd64] https://download.docker.com/linux/ubuntu focal stable第一条命令下载Docker的GPG密钥并添加到系统中这个密钥用来验证下载的软件包是否真的来自Docker官方防止被篡改。第二条命令就是把Docker针对Ubuntu 20.04代号focal的稳定版软件源地址添加进去。2.3 安装Docker引擎添加好软件源后再次更新软件列表然后安装Docker。sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.iodocker-ce: Docker社区版的核心引擎。docker-ce-cli: Docker的命令行工具我们用的docker命令就是它。containerd.io: 容器运行时负责管理容器的生命周期。安装完成后运行下面的命令来验证Docker是否安装成功sudo docker run hello-world如果看到一段欢迎信息最后有 “Hello from Docker!” 的字样说明Docker已经正确安装并可以运行容器了。2.4 让普通用户也能运行Docker可选但推荐默认情况下运行docker命令需要sudo权限。每次都输入密码很麻烦我们可以把当前用户加入到docker用户组这样就有权限了。sudo usermod -aG docker $USER重要提示执行完这条命令后你需要完全退出当前终端并重新登录或者重启电脑这个改动才会生效。重新登录后你再运行docker ps命令试试应该就不需要sudo了。3. 为GPU加速做好准备Wan2.1-umt5这类模型在GPU上运行会快很多。如果你的机器有NVIDIA显卡并且希望使用GPU来加速推理那么还需要安装NVIDIA驱动和相关的Docker工具。3.1 安装NVIDIA显卡驱动首先检查你的显卡型号并推荐一个合适的驱动版本。ubuntu-drivers devices在输出结果里找到带有 “recommended” 标记的驱动版本号。然后使用apt安装它。例如如果推荐的是nvidia-driver-535sudo apt install -y nvidia-driver-535安装完成后必须重启电脑才能使驱动生效。sudo reboot重启后登录系统打开终端输入nvidia-smi。如果能看到一个表格显示了你的GPU型号、驱动版本、CUDA版本等信息那就说明驱动安装成功了。3.2 安装NVIDIA Container Toolkit为了让Docker容器也能使用宿主机的GPU我们需要安装这个工具包。distribution$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt update sudo apt install -y nvidia-container-toolkit安装完成后需要重启Docker服务来加载新的配置。sudo systemctl restart docker现在你可以测试一下Docker是否能够调用GPU。运行docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu20.04 nvidia-smi这个命令会启动一个带有CUDA基础环境的临时容器并在容器内运行nvidia-smi。如果输出的GPU信息和你直接在宿主机上运行nvidia-smi的结果一致恭喜你Docker GPU环境配置成功4. 拉取并运行Wan2.1-umt5镜像环境都搭好了现在主角该上场了。我们将从一个集中的镜像仓库拉取已经打包好的Wan2.1-umt5镜像。4.1 拉取模型镜像假设我们已经有一个制作好的镜像名字叫registry.cn-hangzhou.aliyuncs.com/your_namespace/wan2.1-umt5:latest。你可以用下面的命令把它下载到本地docker pull registry.cn-hangzhou.aliyuncs.com/your_namespace/wan2.1-umt5:latest请将your_namespace替换为实际的命名空间。这条命令会从远程仓库下载镜像速度取决于你的网络。下载完成后可以用docker images命令查看本地已有的镜像列表确认它是否存在。4.2 启动模型服务容器镜像下载好了现在要让它运行起来变成一个正在工作的“服务”。docker run -d \ --name wan2.1-umt5-service \ --gpus all \ -p 8000:8000 \ registry.cn-hangzhou.aliyuncs.com/your_namespace/wan2.1-umt5:latest我来解释一下这个命令的每个部分docker run: 运行一个新容器。-d: 让容器在“后台”运行这样终端不会被占用。--name wan2.1-umt5-service: 给这个容器起个名字方便后续管理。--gpus all: 将宿主机的所有GPU都分配给这个容器使用。如果你的机器没有GPU或者不想用GPU可以去掉这个参数。-p 8000:8000: 端口映射。格式是宿主机端口:容器内端口。这里把容器内部的8000端口映射到了宿主机的8000端口。这样我们通过访问本机的8000端口就能访问到容器里模型提供的服务了。最后一行是镜像的名字。运行后可以使用docker ps命令查看正在运行的容器。如果能看到名为wan2.1-umt5-service的容器并且状态是 “Up”说明服务已经启动。5. 验证服务是否正常容器跑起来了但我们怎么知道里面的模型服务真的准备好了呢我们需要“敲敲门”看看它会不会回应。5.1 使用curl进行健康检查很多模型服务会提供一个/health或/这样的接口来报告自身状态。我们可以用curl这个命令行工具来发送一个简单的HTTP请求测试一下。curl http://localhost:8000/health或者如果健康检查接口是根路径curl http://localhost:8000/如果服务正常你可能会看到类似{status: ok}或者{message: 服务运行中}的JSON格式的返回信息。如果返回Connection refused说明服务可能还没完全启动好或者端口映射错了。可以稍等几秒再试或者用docker logs wan2.1-umt5-service查看容器的日志输出看看有没有错误信息。5.2 使用Python脚本进行简单推理测试健康检查通过了我们再进一步试试模型的核心功能。假设Wan2.1-umt5是一个文本处理模型它提供了一个/generate接口来接收文本并返回结果。我们可以写一个简单的Python脚本来测试。创建一个新文件比如叫test_model.py把下面的代码粘贴进去。记得把input_text换成你想测试的内容。import requests import json # 模型服务的地址 url http://localhost:8000/generate # 准备请求的数据具体格式需要参考模型的API文档 payload { text: 你好请介绍一下你自己。, max_length: 100 } headers { Content-Type: application/json } try: # 发送POST请求 response requests.post(url, datajson.dumps(payload), headersheaders) # 检查响应状态码 if response.status_code 200: result response.json() print(请求成功) print(模型返回结果, result.get(generated_text, 未找到结果字段)) else: print(f请求失败状态码{response.status_code}) print(错误信息, response.text) except requests.exceptions.ConnectionError: print(无法连接到服务请检查服务是否启动以及端口号是否正确。) except Exception as e: print(f发生未知错误{e})保存文件后在终端里运行它python3 test_model.py如果一切顺利脚本会打印出模型生成的文本。这个测试成功就说明你的Wan2.1-umt5模型服务已经完全部署好并且可以正常工作了6. 遇到问题怎么办部署过程很少一帆风顺这里列举几个新手可能会遇到的常见问题及解决办法。问题一docker pull速度太慢或者失败。这是因为默认的Docker镜像仓库在国外。我们可以为Docker配置国内镜像加速器。编辑或创建/etc/docker/daemon.json文件需要sudo权限{ registry-mirrors: [ https://docker.mirrors.ustc.edu.cn, https://hub-mirror.c.163.com ] }保存后重启Docker服务sudo systemctl restart docker然后再尝试拉取镜像。问题二运行容器时提示端口已被占用。这意味着你宿主机上的8000端口已经被其他程序比如另一个容器使用了。你有两个选择停止占用端口的程序用sudo lsof -i:8000或sudo netstat -tlnp | grep 8000找到是什么进程然后停止它。换一个端口修改docker run命令中的-p参数比如改成-p 8001:8000这样就是通过宿主机的8001端口来访问服务了。问题三GPU在容器内不可用nvidia-smi命令找不到。首先确认宿主机上nvidia-smi命令工作正常。然后检查NVIDIA Container Toolkit 是否安装正确参考3.2节。docker run命令中是否包含了--gpus all参数。运行docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu20.04 nvidia-smi这个测试命令是否成功。问题四模型服务启动后curl测试返回错误。别急着关容器先看看日志里面通常有详细的错误信息。docker logs wan2.1-umt5-service查看日志的最后几十行重点关注ERROR或Traceback等关键词这能帮你快速定位问题原因比如是模型文件加载失败还是某个Python库缺失。7. 总结走完这一整套流程你应该已经在Ubuntu 20.04上把Wan2.1-umt5模型服务跑起来了。回顾一下关键步骤就这几步准备好Ubuntu系统、装上Docker、配置好GPU环境如果需要、拉取镜像、运行容器、最后测试验证。整个过程最花时间的可能就是下载镜像和安装驱动剩下的命令执行起来都很快。用Docker部署的好处这时候就体现出来了所有复杂的依赖和环境都封装在镜像里我们只需要一条docker run命令就能得到一个完整、可用的服务非常干净利落。现在模型服务已经在你的8000端口上监听了接下来你就可以基于这个HTTP接口开发自己的应用程序比如做一个简单的网页界面或者集成到你的业务系统里。如果后续想停止服务用docker stop wan2.1-umt5-service就行想再次启动用docker start wan2.1-umt5-service。管理起来也很方便。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章