Qwen1.5-1.8B GPTQ快速入门:Ubuntu 20.04系统部署全流程
Qwen1.5-1.8B GPTQ快速入门:Ubuntu 20.04系统部署全流程
最近有不少朋友在问,想试试Qwen1.5-1.8B这个轻量级大模型,但卡在了部署这一步。特别是对于习惯使用Ubuntu这类Linux系统的开发者来说,虽然环境相对纯净,但缺少一个从零开始的、手把手的指引。
今天这篇文章,我就以Ubuntu 20.04这个主流版本为例,带你走一遍完整的部署流程。从检查系统环境开始,到在星图GPU平台上选择镜像、一键部署、连接实例、安装依赖,最后成功运行第一个推理脚本。整个过程就像搭积木,一步步来,保证你能在半小时内看到模型输出的“Hello World”。
1. 开始前的准备工作
在动手之前,我们先花几分钟把“地基”打好。这能帮你避开很多后续的坑。
首先,你需要一个Ubuntu 20.04的系统环境。这可以是你的物理机、虚拟机,或者像我一样,直接使用云服务商提供的GPU实例。Ubuntu 20.04是一个长期支持版本,社区资源丰富,遇到问题也容易找到解决方案。
其次,确保你有一个可以访问互联网的环境,因为我们需要下载模型和一些必要的软件包。网络稳定是关键。
最后,也是最重要的一点,你需要一个带有NVIDIA GPU的服务器环境来运行模型。Qwen1.5-1.8B虽然参数少,但用GPU跑起来速度会快很多,体验也更好。如果你手头没有现成的GPU服务器,别担心,后面我们会使用星图平台来快速创建一个。
2. 在星图平台创建GPU实例
对于大多数个人开发者和小团队来说,自己配置和维护一台GPU服务器的成本比较高。云平台提供了按需使用的弹性资源,特别适合学习和测试。这里我以星图平台为例,因为它提供了预置好的AI镜像,能省去大量环境配置的麻烦。
2.1 选择与启动镜像
登录星图平台后,进入计算实例创建页面。关键步骤在于镜像的选择。
- 选择镜像来源:在镜像市场或社区镜像中搜索“Qwen”。你应该能找到标题中包含“Qwen1.5-1.8B”和“GPTQ”字样的镜像。GPTQ是一种模型量化技术,能显著降低模型对显存的占用,让1.8B的模型在消费级显卡上也能流畅运行。
- 核对系统信息:点开镜像详情,确认其基础操作系统是Ubuntu 20.04。这一步很重要,能保证我们后续的操作命令是兼容的。
- 配置实例规格:根据你的需求选择GPU型号。对于Qwen1.5-1.8B GPTQ版本,一块显存8GB的显卡(如NVIDIA RTX 3070/3080或云上的T4、V100等)就绰绰有余了。CPU和内存按平台推荐配置即可。
- 一键部署:配置好网络、硬盘等选项后,点击“创建”。平台会自动帮你完成从系统初始化到深度学习环境部署的所有工作,通常几分钟内实例就会启动并处于“运行中”状态。
2.2 连接到你的实例
实例创建成功后,我们需要连接到它进行操作。最常用的方式是SSH。
- 获取连接信息:在实例的管理页面,找到你的公网IP地址。同时,平台通常会在创建实例时提供或让你设置一个密钥对(.pem文件)或密码。
- 使用SSH客户端连接:打开你本地的终端(Linux/macOS)或SSH工具(如PuTTY、Xshell等)。使用以下命令格式进行连接:
如果是密码登录,则直接输入:ssh -i /path/to/your/private-key.pem ubuntu@your_instance_ip
然后输入密码。这里的“ubuntu”是Ubuntu系统默认的用户名。ssh ubuntu@your_instance_ip - 确认连接成功:连接成功后,命令行提示符会发生变化,显示类似
ubuntu@instance-name:~$的格式。输入nvidia-smi命令,如果能看到GPU信息表格,恭喜你,说明GPU驱动已经装好,环境基本就绪。
3. 安装系统与Python依赖
虽然星图的镜像已经预装了基础环境,但为了确保万无一失,我们手动检查和安装一些必要的依赖。
3.1 更新系统包
首先,更新系统的软件包列表,这是一个好习惯。
sudo apt update3.2 安装Python环境管理工具
我们使用conda来管理Python环境,它可以方便地创建隔离的环境,避免包冲突。如果镜像里没有预装,可以安装Miniconda。
# 下载Miniconda安装脚本(以Linux 64位为例) wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh # 运行安装脚本 bash Miniconda3-latest-Linux-x86_64.sh安装过程中,按照提示操作(主要是按回车阅读协议,输入yes同意,以及选择安装路径)。安装完成后,关闭并重新打开终端,或者执行source ~/.bashrc来激活conda。
3.3 创建并激活专用Python环境
接下来,我们创建一个专门用于运行Qwen模型的Python环境。
# 创建一个名为qwen_env的Python 3.10环境 conda create -n qwen_env python=3.10 -y # 激活这个环境 conda activate qwen_env激活后,你的命令行提示符前会出现(qwen_env)字样。
3.4 安装PyTorch与CUDA
Qwen模型基于PyTorch框架。我们需要安装与你的CUDA版本匹配的PyTorch。之前运行nvidia-smi时,最上面一行通常显示了CUDA版本(例如CUDA 12.1)。
访问 PyTorch官网,选择对应的配置。例如,对于CUDA 12.1,命令可能如下:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu1213.5 安装模型运行库
最后,安装运行Qwen模型所需的Python库。最关键的是transformers库(来自Hugging Face)和auto-gptq库(用于加载GPTQ量化模型)。
pip install transformers accelerate auto-gptqaccelerate库可以帮助优化模型加载和推理过程。
4. 下载模型与运行第一个推理
环境全部搞定,现在让我们请出主角——Qwen1.5-1.8B-Chat-GPTQ模型,并让它跟我们打个招呼。
4.1 编写一个简单的Python脚本
在服务器上,创建一个新的Python文件,比如叫first_run.py。
nano first_run.py然后将以下代码粘贴进去。这段代码做了几件事:从Hugging Face模型库加载量化好的模型和分词器,构建一个对话提示,然后让模型生成回复。
from transformers import AutoModelForCausalLM, AutoTokenizer # 指定模型名称。这里使用Qwen1.5-1.8B的GPTQ量化版,来自Hugging Face社区 model_name = "Qwen/Qwen1.5-1.8B-Chat-GPTQ-Int4" # 加载分词器 tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) # 加载模型。device_map="auto"让Transformers自动决定将模型各部分放在GPU还是CPU上 model = AutoModelForCausalLM.from_pretrained( model_name, device_map="auto", trust_remote_code=True ) # 构建对话消息。Qwen1.5-Chat模型遵循特定的消息格式 messages = [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "请用中文对我说一句简单的问候语。"} ] # 将消息格式化为模型可接受的输入文本 text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True ) # 将文本转换为模型输入张量,并移动到GPU上 model_inputs = tokenizer([text], return_tensors="pt").to(model.device) # 让模型生成回复,设置最大生成长度 generated_ids = model.generate( **model_inputs, max_new_tokens=512 ) # 解码生成的token,跳过输入部分,得到纯回复文本 generated_ids = [ output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids) ] response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] # 打印模型的回复 print("模型回复:", response)按Ctrl+X,然后按Y,再按回车保存并退出nano编辑器。
4.2 运行脚本并查看结果
现在,运行这个脚本。
python first_run.py第一次运行会下载模型文件,因为模型有2-3个GB,所以需要一些时间,请耐心等待。下载完成后,模型会被加载到GPU上,然后瞬间就能看到输出。
你可能会看到类似这样的回复:
模型回复: 你好!很高兴见到你。有什么我可以帮助你的吗?看到这行字,你的第一次部署和推理就成功完成了!模型已经在你Ubuntu 20.04系统的GPU实例上跑起来了。
5. 总结
整个流程走下来,其实核心就是三步:找对带环境的镜像、连上实例配好依赖、写几行代码调用模型。星图平台的镜像把最繁琐的系统级环境配置工作给做了,让我们能直接聚焦在模型本身的使用上。
这次我们只是让模型打了个招呼。Qwen1.5-1.8B虽然是个小模型,但能力挺全的,日常对话、文本总结、简单编程问题都能应付。你完全可以基于刚才的脚本,修改messages里的内容,让它帮你写邮件、生成创意文案或者解释一个技术概念。
部署过程中如果遇到网络问题导致模型下载慢,可以考虑在星图平台选择预下载了该模型的镜像,或者先在国内的镜像源找找有没有备份。环境问题永远是第一步,这一步走顺了,后面探索模型能力的路就宽了。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
