通义千问1.5-1.8B-Chat-GPTQ-Int4从零部署:Windows系统详细配置教程

你是不是也想在自己的Windows电脑上跑一个属于自己的大模型,但又觉得环境配置、依赖安装这些步骤太麻烦,动不动就报错?别担心,今天我就带你手把手,从零开始,在Windows系统上把通义千问1.5-1.8B-Chat-GPTQ-Int4这个轻量又好用的模型给跑起来。

这个教程的目标很简单:让你这个Windows用户,即使之前没怎么接触过Python或者AI模型部署,也能跟着步骤,成功地把模型部署起来并开始对话。整个过程我会尽量避开那些复杂的术语,用最直白的话告诉你每一步该点哪里、输什么命令。我们主要会用到星图GPU平台来获得必要的计算资源,这能省去你在本地安装CUDA、配置显卡驱动的很多麻烦。

好了,话不多说,我们开始吧。

1. 前期准备:检查你的Windows电脑

在真正开始部署之前,我们先花几分钟时间,确保你的电脑环境是OK的。这就像做饭前先看看厨房有没有锅和灶一样,能避免做到一半才发现缺东西的尴尬。

1.1 确认操作系统版本

首先,你需要确认你的Windows版本。因为这个教程里的某些步骤,特别是涉及命令行操作和Python安装的,在不同版本的Windows上可能略有差异。

  1. 按下键盘上的 Win + R 键,会弹出“运行”对话框。
  2. 在里面输入 winver,然后按回车。
  3. 会弹出一个窗口,上面写着你的Windows版本,比如“Windows 10 专业版”或者“Windows 11 家庭版”。只要不是太古老的版本(比如Windows 7),基本上都没问题。我建议使用Windows 10或11的64位系统。

1.2 安装Python环境

模型运行需要Python。我们安装一个比较新的、稳定的版本。

  1. 打开浏览器,访问Python官网(python.org)。
  2. 找到“Downloads”菜单,选择“Windows”。
  3. 点击下载“Python 3.10.x”或者“Python 3.11.x”的安装包(建议选3.10,兼容性更好)。一定要下载“Windows installer (64-bit)”这个版本。
  4. 下载完成后,双击运行安装包。这里有个非常重要的步骤:在安装向导的第一个页面,务必勾选最下面的 “Add python.exe to PATH” 这个选项。这能让你在命令行里直接使用python命令,省去后续手动配置环境变量的麻烦。
  5. 然后点击“Install Now”进行安装。

安装完成后,我们来验证一下。打开“命令提示符”(在开始菜单搜索“cmd”或“命令提示符”),输入以下命令并按回车:

python --version

如果安装成功,你会看到类似 Python 3.10.11 的输出。如果提示“python不是内部或外部命令”,说明上一步的环境变量没勾选成功,你可能需要手动去系统环境变量里添加Python的安装路径,或者重新安装一遍并确认勾选了那个选项。

2. 获取计算资源:在星图GPU平台启动镜像

模型推理,尤其是稍微大一点的模型,需要GPU来加速。对于个人开发者,在本地配置CUDA和显卡驱动是一件挺头疼的事。幸运的是,我们可以利用云平台。这里我们使用星图GPU平台,它提供了预配置好环境的镜像,让我们能一键获得带GPU的服务器。

2.1 选择并启动合适的GPU实例

  1. 登录星图GPU平台。
  2. 进入实例创建页面,你需要选择一个带有GPU的实例规格。对于通义千问1.5-1.8B这个尺寸的模型,一块显存8GB或以上的GPU(如NVIDIA T4, V100, 3090等)就完全足够了。你可以根据平台提供的选项和你的预算进行选择。
  3. 关键步骤来了:在镜像选择环节,你需要搜索并选择一个预装了PyTorch、CUDA及相关深度学习库的镜像。平台通常会有标注,比如“PyTorch 2.0 + CUDA 11.8”这样的镜像。选择这样的镜像,可以确保你开箱即用,省去了自己安装PyTorch和匹配CUDA版本的巨大麻烦。
  4. 配置好其他选项(如磁盘大小、网络等),然后启动实例。等待几分钟,实例状态变为“运行中”。

2.2 连接到你的云服务器

实例启动后,平台会提供连接方式,通常是SSH连接。对于Windows用户,我推荐使用 PuTTYWindows Terminal(如果你用的是Windows 10/11的新版本)进行连接。

  1. 获取你的实例的公网IP地址和登录密码(或密钥)。
  2. 打开PuTTY,在“Host Name”处输入你的公网IP,端口保持22,连接类型选SSH,然后点击“Open”。
  3. 首次连接会有安全警告,点击“是”即可。
  4. 根据提示输入登录用户名(通常是rootubuntu)和密码,你就进入了云服务器的命令行界面。

现在,你已经拥有了一个干净、且已经配置好CUDA和PyTorch基础环境的Linux服务器(云服务器通常是Linux系统)。我们后续的所有操作都将在这个命令行里进行。

3. 部署模型:下载与运行

连接到服务器后,我们的工作就变得清晰了:下载模型,然后运行它。

3.1 安装必要的Python包

虽然镜像预装了PyTorch,但我们还需要一些额外的库来运行GPTQ量化模型和Web交互界面。在服务器的命令行里,依次执行以下命令:

# 更新包管理器并安装一些系统依赖(非必须,但建议)
apt-get update
apt-get install -y git

# 使用pip安装所需的Python包
pip install transformers accelerate torch
pip install peft  # 参数高效微调库,某些加载方式可能需要
pip install bitsandbytes  # 用于4-bit量化的基础支持库
# 安装GPTQ相关的库,这是运行GPTQ量化模型的关键
pip install optimum
pip install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/  # 注意这里的cu118需要匹配你的CUDA版本,如果是11.7就改成cu117

注意auto-gptq的安装命令中的cu118需要根据你实际镜像的CUDA版本修改。你可以通过运行 nvcc --versionpython -c "import torch; print(torch.version.cuda)" 来查看CUDA版本。

3.2 下载通义千问GPTQ模型

我们将从Hugging Face模型仓库下载模型。在命令行中执行:

# 先进入一个合适的工作目录
cd /home

# 使用git克隆模型仓库(需要先安装git-lfs来下载大文件)
apt-get install -y git-lfs
git lfs install
git clone https://huggingface.co/Qwen/Qwen1.5-1.8B-Chat-GPTQ-Int4

这个过程会下载模型文件,因为模型有几个GB大小,所以需要一些时间,请耐心等待。如果网络连接不稳定,你也可以考虑在本地下载好模型文件,然后通过FTP/SFTP工具(如FileZilla)上传到服务器。

3.3 编写并运行模型加载脚本

模型下载好后,我们需要一个Python脚本来加载它并提供一个简单的交互界面。在工作目录下创建一个新文件,比如叫 run_model.py

nano run_model.py

然后将以下代码粘贴进去。这段代码做了几件事:加载GPTQ量化模型、加载对应的tokenizer(分词器)、并启动一个循环来进行对话。

from transformers import AutoModelForCausalLM, AutoTokenizer
from auto_gptq import AutoGPTQForCausalLM
import torch

# 指定模型路径(就是你刚才克隆下来的目录)
model_dir = "/home/Qwen1.5-1.8B-Chat-GPTQ-Int4"

# 加载tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)

# 加载GPTQ量化模型
model = AutoGPTQForCausalLM.from_quantized(
    model_dir,
    device_map="auto",  # 自动分配模型层到可用的GPU/CPU
    trust_remote_code=True,
    use_safetensors=True,  # 如果模型是safetensors格式则设为True
    quantize_config=None  # 使用默认的GPTQ配置
)

# 将模型设置为评估模式
model.eval()

print("模型加载成功!开始对话吧(输入 'quit' 退出)")

# 简单的对话循环
while True:
    user_input = input("\n用户: ")
    if user_input.lower() == 'quit':
        break

    # 将用户输入编码为模型可理解的token
    inputs = tokenizer(user_input, return_tensors="pt").to(model.device)
    
    # 生成回复
    with torch.no_grad():  # 禁用梯度计算,节省内存
        outputs = model.generate(
            **inputs,
            max_new_tokens=512,  # 生成的最大新token数
            do_sample=True,      # 使用采样而非贪婪解码,使输出更多样
            temperature=0.7,     # 采样温度,控制随机性
            top_p=0.9           # 核采样参数,控制输出质量
        )
    
    # 解码生成的token为文本
    response = tokenizer.decode(outputs[0][inputs['input_ids'].shape[1]:], skip_special_tokens=True)
    print(f"助手: {response}")

Ctrl + O 保存文件,再按 Ctrl + X 退出编辑器。

现在,运行这个脚本:

python run_model.py

如果一切顺利,你会看到“模型加载成功!”的提示,然后就可以在命令行里和你的通义千问模型对话了!第一次运行加载模型可能需要一两分钟,请稍等。

4. 常见问题与解决思路

部署过程中难免会遇到些小麻烦,这里我列举几个常见的,并给出排查思路。

  • 报错 CUDA error: no kernel image is available for execution 这通常是因为PyTorch或auto-gptq编译时的CUDA版本与你当前系统的CUDA驱动版本不兼容。解决方案:确认你云服务器镜像的CUDA版本(比如11.8),然后在安装auto-gptq时,确保pip命令中的cu118与之匹配。如果已经装错,可以先pip uninstall auto-gptq torch,然后重新安装正确版本。

  • 报错 KeyError: 'qwen' 或找不到Qwen2ForCausalLM 这是因为transformers库的版本可能太旧,不认识通义千问1.5的模型架构。解决方案:升级transformers库:pip install --upgrade transformers。同时确保在加载tokenizer和模型时传入了trust_remote_code=True参数,因为Qwen模型使用了自定义代码。

  • 模型加载时内存/显存不足 通义千问1.8B的GPTQ-Int4版本本身很小,但如果你的实例GPU显存很小(比如小于4GB),或者在加载时系统内存不足,也可能出错。解决方案:检查你启动的云实例规格,确保GPU显存足够。在加载模型的from_quantized函数中,可以尝试设置device_map="cpu"先将模型加载到内存,或者使用max_memory参数更精细地控制。

  • 下载模型速度慢或失败 从Hugging Face克隆仓库受网络影响较大。解决方案:可以尝试使用国内镜像源,或者在本地用下载工具下载后上传到服务器。另一种方法是,直接在星图平台寻找已经内置了该模型的镜像,这样连下载的步骤都省了。

5. 试试效果与下一步

当你看到“助手:”的回复时,恭喜你,部署成功了!你可以问它一些问题,比如“介绍一下你自己”、“用Python写一个冒泡排序”等等,感受一下这个轻量化模型的能力。

整个流程走下来,你会发现核心的困难其实被星图平台的预置镜像解决了(CUDA环境),剩下的就是标准的Python包安装和模型加载。这种在云上部署的方式,特别适合想在Windows环境下学习、实验,但又不想折腾本地复杂环境的开发者。

如果你想让这个模型有更好的交互界面,比如变成一个网页版的聊天机器人,你可以进一步探索使用GradioStreamlit这类库来快速搭建一个Web UI。或者,你也可以尝试用同样的方法部署其他更大的、或不同功能的模型。最关键的第一步——把环境打通、让模型跑起来——你已经完成了。


获取更多AI镜像

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

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐