XuLaLa.Tech

首页客户端下载Windows 使用V2Ray 教程SSR 教程Clash 教程

ChatGPT平替之ChatGLM-6B

2025.04.09

最近国内和国外很多企业都开始对大量使用ChatGPT使用产生担忧,表示有可能会泄露用户隐私或者数据被大模型公司使用,所以很多公司都开始训练自己的小模型,其中在国内比较有名的就是清华大学的ChatGLM-6B,这模型可以在用户级的设备部署,这里我们也部署了一个, 体验一下。

文章目录

  • 1 ChatGLM-6B是谁?
  • 2 硬件环境
  • 3 环境安装
  • 4 运行方式
    • 4.1 Demo & API
    • 4.2 网页版 Demo
    • 4.3 命令行 Demo
  • 5 网页版例子

ChatGLM-6B是谁?

[ChatGLM-6B是开源 GLM-130B 千亿基座模型基础上,清华大学正式开源最新的中英双语对话 GLM 模型,结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。经过约 1T 标识符的中英双语训练,辅以监督微调、 反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 虽然规模不及千亿模型,但大大降低了用户部署的门槛,并且已经能生成相当符合人类偏好的回答。

硬件环境

阿里云服务器,8核, 30G 1 GPU:NVIDIA A10 24G

环境安装

参考:https://github.com/THUDM/ChatGLM-6B

使用 pip 安装依赖:pip install -r requirements.txt,其中 transformers 库版本推荐为 4.27.1,但理论上不低于 4.23.1 即可。此外,如果需要在 cpu 上运行量化后的模型,还需要安装 gccopenmp。多数 Linux 发行版默认已安装。对于 Windows ,可在安装 TDM-GCC 时勾选 openmp。 Windows 测试环境 gcc 版本为 TDM-GCC 10.3.0, Linux 为 gcc 11.3.0。代码执行之后会由 transformers 自动下载模型实现和参数。完整的模型实现可以在 Hugging Face Hub。如果你的网络环境较差,下载模型参数可能会花费较长时间甚至失败

运行方式

Demo & API

我们提供了一个基于 Gradio 的网页版 Demo 和一个命令行 Demo。使用时首先需要下载本仓库:

git clone https://github.com/THUDM/ChatGLM-6B
cd ChatGLM-6B

网页版 Demo

首先安装 Gradio:pip install gradio,然后运行仓库中的 web_demo.py:
python web_demo.py
程序会运行一个 Web Server,并输出地址。在浏览器中打开输出的地址即可使用。最新版 Demo 实现了打字机效果,速度体验大大提升。注意,由于国内 Gradio 的网络访问较为缓慢,启用 demo.queue().launch(share=True, inbrowser=True) 时所有网络会经过 Gradio 服务器转发,导致打字机体验大幅下降,现在默认启动方式已经改为 share=False,如有需要公网访问的需求,可以重新修改为 share=True 启动。

基于 Streamlit 的网页版 Demo,运行方式见#117.

pip install streamlit
pip install streamlit-chat
streamlit run web_demo2.py --server.port 6006

命令行 Demo

运行仓库中 cli_demo.py:

python cli_demo.py
程序会在命令行中进行交互式的对话,在命令行中输入指示并回车即可生成回复,输入 clear 可以清空对话历史,输入 stop 终止程序。

网页版例子

  1. 推荐几个上海地标性建筑
  2. 上海有多少条地铁
  3. 我在上海野生动物园,要去虹桥火车站,该怎么坐车

在我的这台服务器上响应速度还挺快的,3s左右能答复,但是回复的正确度还是有点差,比ChatGPT还有一段距离。

© 2010-2022 XuLaLa 保留所有权利 本站由 WordPress 强力驱动
请求次数:69 次,加载用时:0.665 秒,内存占用:32.19 MB