Qwen1.5-1.8B GPTQ入门部署教程:Ubuntu系统环境一键搭建

想试试最新的轻量级大模型,但被复杂的部署步骤劝退?今天,咱们就来聊聊怎么在Ubuntu系统上,用最简单的方式把Qwen1.5-1.8B GPTQ模型跑起来。整个过程,基本上就是“点几下鼠标,敲几行命令”的事儿,哪怕你之前没怎么接触过Docker或者模型部署,跟着走一遍也能搞定。

我最近在星图GPU平台上试了试,发现他们提供的预置镜像真是省心。你不用自己去折腾CUDA环境、安装各种依赖,也不用担心模型文件下载出错。这篇文章,我就把自己实际操作的步骤和遇到的小坑都记录下来,希望能帮你快速上手。

1. 准备工作:检查你的Ubuntu环境

在开始之前,咱们先花两分钟看看自己的电脑环境合不合适。这就像做饭前先看看厨房里有没有锅碗瓢盆,能避免做到一半发现缺东西的尴尬。

1.1 系统版本确认

Qwen1.5-1.8B GPTQ对Ubuntu的系统版本有一定要求,主要是为了确保内核和基础库的兼容性。打开你的终端,输入下面这行命令:

lsb_release -a

你会看到类似这样的输出:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

这里关键看 Release 这一行。Ubuntu 20.04 LTS (Focal Fossa) 或 22.04 LTS (Jammy Jellyfish) 都是经过验证可以完美运行的版本。如果你用的是更老的18.04或者更新的23.10,可能就需要额外处理一些依赖问题,建议优先使用20.04或22.04。

1.2 基础依赖检查

模型运行需要一些基础的软件包。咱们一次性把它们都装上,避免后续报错。在终端里执行:

sudo apt update && sudo apt install -y \
    curl \
    wget \
    git \
    python3 \
    python3-pip \
    python3-venv

这行命令做了两件事:先是更新软件包列表,然后安装了几个必备工具。curlwget用来下载文件,git用来克隆代码仓库,后面三个则是Python环境的核心。安装过程大概一两分钟,完成后可以验证一下Python版本:

python3 --version

能正常显示版本号(比如 Python 3.10.12)就说明没问题。

1.3 Docker环境准备

这是我们今天部署的“核心武器”。GPTQ模型部署在Docker容器里,能保证环境绝对干净、一致。如果你的系统还没装Docker,可以用官方提供的一键安装脚本:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

安装完成后,把当前用户加到docker组里,这样以后就不用每次都加 sudo 了:

sudo usermod -aG docker $USER

重要提示:执行完上面这行命令后,你需要完全退出当前终端,重新登录一次,或者直接重启系统,这个分组变更才会生效。不然接下来运行docker命令可能还是会报权限错误。

验证Docker是否安装成功:

docker --version

看到版本信息就说明准备就绪了。

2. 三步部署法:从零到运行

环境准备好了,咱们就进入正题。整个部署过程,我把它总结为三个清晰的步骤,你一步一步跟着来就行。

2.1 第一步:获取并启动预置镜像

这是最省心的一步。星图GPU平台提供了打包好的Qwen1.5-1.8B GPTQ镜像,里面模型、环境、依赖全都配置好了。你只需要一条命令就能把它拉取到本地并运行起来。

打开终端,输入以下命令:

docker run -d \
  --name qwen1.5-1.8b-gptq \
  -p 7860:7860 \
  -v /path/to/your/models:/app/models \
  --gpus all \
  registry.cn-hangzhou.aliyuncs.com/csdn_mirrors/qwen1.5-1.8b-gptq:latest

我来解释一下这条命令的每个部分:

  • docker run -d:在后台运行一个新的容器。
  • --name qwen1.5-1.8b-gptq:给容器起个名字,方便后面管理。
  • -p 7860:7860:把容器内部的7860端口映射到你电脑的7860端口。等下我们就是通过访问 http://你的IP:7860 来使用模型的。
  • -v /path/to/your/models:/app/models:这是一个卷映射,非常有用。它把你本地电脑的某个目录(比如 /home/yourname/ai_models)挂载到容器里的 /app/models 目录。这样,模型文件虽然放在容器里,但实际存储在你自己的硬盘上,删除容器也不会丢数据。记得把 /path/to/your/models 换成你电脑上真实的目录路径
  • --gpus all:告诉Docker可以使用所有的GPU资源。这是模型能快速运行的关键。
  • 最后那一长串就是镜像的地址,Docker会自动去拉取。

执行命令后,Docker会开始下载镜像。第一次运行需要下载几个GB的文件,速度取决于你的网络,喝杯咖啡等一下就好。下载完成后,容器会自动在后台启动。

你可以用下面这个命令查看容器是否在正常运行:

docker ps

如果看到名为 qwen1.5-1.8b-gptq 的容器状态是 Up,那就成功了。

2.2 第二步:访问Web交互界面

容器跑起来之后,模型其实已经在一个Web服务里待命了。我们打开浏览器就能用。

在你的Ubuntu电脑上,打开浏览器(Firefox, Chrome都可以),在地址栏输入:

http://localhost:7860

如果你是在另一台电脑上操作,想访问这台Ubuntu服务器上的模型,那就需要输入服务器的IP地址:

http://你的服务器IP地址:7860

稍等几秒钟,页面加载完成后,你应该能看到一个简洁的聊天界面。这通常就是Gradio或类似框架构建的,中间有个大大的输入框,这就是你和Qwen1.5-1.8B模型对话的窗口了。

第一次加载时,模型可能需要一点时间来初始化,把权重加载到GPU里,耐心等待30秒到1分钟,界面就会完全就绪。

2.3 第三步:进行首次对话测试

界面出来了,咱们赶紧试试效果。在输入框里,用中文或英文打个招呼都行。

比如,输入:

你好,请介绍一下你自己。

然后点击“发送”或按回车键。

你会看到界面上的“思考”或加载动画,稍等片刻,模型就会生成一段回复。Qwen1.5-1.8B虽然参数不多,但回答一般都很流畅,会礼貌地介绍自己是一个AI助手,基于Qwen1.5架构等等。

再试一个有点难度的问题,看看它的理解能力:

用Python写一个函数,计算斐波那契数列的第n项。

如果它返回了一段格式正确、逻辑清晰的Python代码,那就说明部署完全成功,模型运行正常!

3. 进阶使用与问题排查

基础部署完成了,但想用得顺手,还得了解点进阶操作和常见问题的解决办法。

3.1 如何管理你的模型容器

这个Docker容器会一直后台运行。你需要知道几个常用的管理命令:

  • 停止容器:当你不用的时候,可以暂停它节省资源。

    docker stop qwen1.5-1.8b-gptq
    
  • 启动已停止的容器:想再用的时候,无需重新拉镜像。

    docker start qwen1.5-1.8b-gptq
    
  • 进入容器内部:有时候需要查看日志或调试。

    docker exec -it qwen1.5-1.8b-gptq /bin/bash
    

    执行后,终端提示符会变成容器内的,你可以像操作普通Linux系统一样查看文件。按 Ctrl+D 或输入 exit 退出。

  • 查看容器日志:如果访问界面出错,日志是首要排查点。

    docker logs qwen1.5-1.8b-gptq
    

    加上 -f 参数可以实时查看最新日志。

  • 删除容器:如果你想彻底重来(注意:这不会删除你通过 -v 映射的本地模型文件)。

    docker rm -f qwen1.5-1.8b-gptq
    

3.2 常见问题与解决方法

部署过程很少一帆风顺,这里有几个我遇到过的典型问题:

1. 端口冲突:Error starting userland proxy: listen tcp4 0.0.0.0:7860: bind: address already in use 这说明你电脑上7860端口被别的程序(比如另一个模型服务)占用了。解决方法有两个:

  • 换端口:把启动命令里的 -p 7860:7860 改成 -p 8899:7860,然后通过 http://localhost:8899 访问。
  • 找出并关闭占用程序:运行 sudo lsof -i :7860 找到进程ID,然后用 kill -9 <进程ID> 结束它。

2. GPU无法使用:模型运行奇慢无比,日志显示CUDA不可用 这通常是Docker没有正确识别到GPU。请按顺序检查:

  • 首先确认你的Ubuntu系统确实有NVIDIA显卡,并且安装了官方驱动(nvidia-smi 命令能正常显示信息)。
  • 然后,你需要安装 nvidia-container-toolkit
    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
    sudo systemctl restart docker
    
  • 安装后,再次运行 docker run --gpus all ... 命令。

3. 磁盘空间不足:拉取镜像时提示 no space left on device Docker镜像和容器默认存放在 /var/lib/docker。你可以清理无用的镜像和容器来释放空间:

docker system prune -a

注意:这个命令会删除所有已停止的容器、所有未被使用的网络、所有悬空的镜像,使用前请确认。如果还是不够,可能需要考虑扩容磁盘或者修改Docker的默认存储路径。

4. 浏览器无法访问 localhost:7860 首先,用 docker ps 确认容器在运行。然后,在Ubuntu终端里直接测试:

curl http://localhost:7860

如果容器内服务正常,你会看到返回的HTML代码片段。如果 curl 也失败,可能是容器内的应用没启动成功,用 docker logs 查看具体错误。如果 curl 成功但浏览器不行,可能是你电脑的防火墙阻止了7860端口,需要配置防火墙规则放行。

4. 总结

走完这一趟,你会发现,在Ubuntu上部署一个像Qwen1.5-1.8B GPTQ这样的轻量模型,并没有想象中那么复杂。核心思路就是利用Docker把复杂的环境打包、隔离,我们只需要关心怎么把容器跑起来、怎么访问它。

这种方式的优势很明显:环境干净,不会把你本机的Python环境搞乱;部署快速,不用一步步安装CUDA、PyTorch、Transformers这些令人头疼的依赖;迁移方便,整个环境可以轻松复制到另一台机器。对于想快速体验模型效果,或者需要频繁切换不同模型版本的开发者来说,特别友好。

当然,这次我们用的是别人准备好的镜像。如果你未来想自己定制,比如尝试不同的量化精度、添加额外的依赖库,那可能就需要学习如何编写Dockerfile来构建自己的镜像了。不过那是后话,现阶段,能把这个1.8B的模型顺畅地用起来,已经足够你去探索很多有趣的应用了,比如做个简单的聊天机器人、辅助代码生成、或者处理一些文本分析任务。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐