ChatGLM 本地搭建运行

硬件要求:

至少 30 GB 的硬盘空余空间

至少 6GB 显存的 N 卡

至少 16GB 内存

(没有显卡也可以跑,但是速度会很慢,且该文章没有介绍 GPU 的部署方式)

近期清华大学开源了一个类 ChatGPT 的大语言模型——ChatGML,这个模型只有6B,量化之后最少只需要6G显存。

下面是不同量化等级所需要的显存对比:

量化等级 最低 GPU 显存(推理) 最低 GPU 显存(高效参数微调)
FP16(无量化) 13 GB 14 GB
INT8 8 GB 9 GB
INT4 6 GB 7 GB

今天就来和大家分享一下搭建的过程。如果你还没有安装Ancodna,可以翻看一下之前发过的教程:一劳永逸的AI开发环境搭建教程

下面开始部署教程:

  1. 打开 Anconda Prompt,为 ChatGLM 新建一个虚拟环境并激活:

    1
    2
    conda create -n ChatGLM python=3.11
    conda activate ChatGLM
  2. 进入到想要安装的路径下(我这里是放到了 D 盘的 AI 目录下),然后使用 Git 克隆项目:

    1
    2
    3
    4
    D:
    cd AI
    git clone https://github.com/THUDM/ChatGLM-6B
    cd ChatGLM-6B
  3. 用 Pip 安装 Pytorch 和依赖库:

    1
    2
    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
    pip install -r requirements.txt
  4. 运行 cli_demo.py,自动下载模型并运行

    1
    python cli_demo.py

    需要注意的是,如果你的内存足够,这里可以直接运行,但如果你的内存不足,可以使用量化模型,需要修改源代码,具体修改方式如下:

    1
    2
    # 按需修改,目前只支持 4/8 bit 量化
    model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).quantize(8).half().cuda()

    2023.04.23 补充:

    最新版的 ChatGLM 发布了量化后的模型,可以按如下方式修改,这样会自动下载量化后的模型,小内存设备推荐使用这种方式:

    1
    2
    # 将"THUDM/chatglm-6b"改为"THUDM/chatglm-6b-int4"
    model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True).half().cuda()

  5. 如果你感觉命令行不好看,官方还做了WebUI的版本,需要安装 gradio 库使用。在命令行输入以下内容来安装:

    1
    pip install gradio

    安装完成后执行

    1
    python web_demo.py

    即可以运行 WebUI 版的 ChatGLM

以上就是ChatGLM 的部署过程。