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 ubuntuyour_instance_ip如果是密码登录则直接输入ssh ubuntuyour_instance_ip然后输入密码。这里的“ubuntu”是Ubuntu系统默认的用户名。确认连接成功连接成功后命令行提示符会发生变化显示类似ubuntuinstance-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 python3.10 -y # 激活这个环境 conda activate qwen_env激活后你的命令行提示符前会出现(qwen_env)字样。3.4 安装PyTorch与CUDAQwen模型基于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_codeTrue) # 加载模型。device_mapauto让Transformers自动决定将模型各部分放在GPU还是CPU上 model AutoModelForCausalLM.from_pretrained( model_name, device_mapauto, trust_remote_codeTrue ) # 构建对话消息。Qwen1.5-Chat模型遵循特定的消息格式 messages [ {role: system, content: You are a helpful assistant.}, {role: user, content: 请用中文对我说一句简单的问候语。} ] # 将消息格式化为模型可接受的输入文本 text tokenizer.apply_chat_template( messages, tokenizeFalse, add_generation_promptTrue ) # 将文本转换为模型输入张量并移动到GPU上 model_inputs tokenizer([text], return_tensorspt).to(model.device) # 让模型生成回复设置最大生成长度 generated_ids model.generate( **model_inputs, max_new_tokens512 ) # 解码生成的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_tokensTrue)[0] # 打印模型的回复 print(模型回复, response)按CtrlX然后按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星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。