开源双语对话语言模型 ChatGLM-6B 本地私有化部署

本文首发于:https://www.licorne.ink/2023/08/llm-chatglm-6b-local-deploy/

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。ChatGLM-6B 权重对学术研究完全开放,在填写问卷进行登记后亦允许免费商业使用。

其中一个比较关键的点是:消费级的显卡即可进行私有化部署,下文将着重介绍部署的相关步骤。

建议硬件配置:
不过该模型也可在无GPU的情况下部署,但是推理速度会更慢,最低需要32G内存。

一、克隆仓库

本地部署的话实际需要用到两个仓库,一个是源码仓,一个是模型仓。在操作之前请确认Git已正确安装并启用了LFS。

源码仓库:https://github.com/THUDM/ChatGLM-6B

模型仓库:https://huggingface.co/THUDM/chatglm-6b

使用 git clone 命令克隆至本地即可,由于仓库的默认名称一致,建议在克隆一个仓库后改名再继续克隆另一个仓库。模型仓库体积较大,请确保网络连接稳定。

二、安装依赖

1. 更新显卡驱动

进行下面的操作前请确认已更新最新的显卡驱动。如果显卡本身就以工作负载为主,请选择 Studio 版本的驱动。

2. Python3

首先确保 Python3 已正确安装并配置了相应的环境变量。打开命令窗口能正常调用 py 和 pip 命令说明配置正确。

3. 自动安装依赖

进入源码仓库,执行以下命令安装依赖:

复制代码
pip install -r requirements.txt

4. 安装 PyTorch 和对应版本的 CUBA

为了确保 Torch 版本与 CUBA 匹配,先执行以下命令移除已有的 PyTorch:

复制代码
pip3 uninstall torch torchvision torchaudio

打开 https://pytorch.org/get-started/locally/ 页面,选择 PyTorch 的版本,注意 CUBA 版本的选择,然后复制如图的安装命令。

打开 https://developer.nvidia.com/cuda-downloads 页面,如果自动跳转的 CUBA 版本与要求的版本不一致,可以找到在页面下方的 Archive of Previous CUDA Releases 链接打开新的页面检索并下载安装。

三、改用本地模型

源码仓库在没有修改的情况下默认不会使用本地的模型,接下来需要修改模型引用的代码来指向本地的模型文件。建议使用 VS Code 之类的工具来进行批量的替换。

实际操作时,只需要将整个源码目录下的 "THUDM/chatglm-6b" (注意,搜索替换时一定要带上这对英文的双引号,否则可能会错误匹配)替换成第一步中克隆下来的模型的目录的路径(注意替换后的文本也需要英文的双引号,Windows 下要注意 \ 需要以转义符 \ 的形式写入)。

四,启动 WebDemo

上述步骤全部完成后,进入源码仓库,使用下述命令启动即可:

py .\web_demo.py

启动完毕后会自动打开 Web 页面,Enjoy It!

PS:这玩意儿确实吃显存啊!

相关推荐
乌恩大侠25 分钟前
自动驾驶的未来:多模态传感器钻机
人工智能·机器学习·自动驾驶
光锥智能1 小时前
AI办公的效率革命,金山办公从未被颠覆
人工智能
GetcharZp2 小时前
爆肝整理!带你快速上手LangChain,轻松集成DeepSeek,打造自己的AI应用
人工智能·llm·deepseek
猫头虎2 小时前
新手小白如何快速检测IP 的好坏?
网络·人工智能·网络协议·tcp/ip·开源·github·php
GeeJoe3 小时前
凡人炼丹传之 · 我让 AI 帮我训练了一个 AI
人工智能·机器学习·llm
小和尚同志3 小时前
Dify29. 为你的 Dify API 穿层衣服吧
人工智能·aigc
不会学习的小白O^O3 小时前
神经网络----卷积层(Conv2D)
人工智能·深度学习·神经网络
bastgia3 小时前
Transformer终结者?Google DeepMind新架构实现2倍推理速度和一半内存占用
人工智能·llm
努力一点9483 小时前
ubuntu22.04系统入门 linux入门(二) 简单命令 多实践以及相关文件管理命令
linux·运维·服务器·人工智能·gpu算力