测试本地部署ChatGLM-6B | ChatGPT

简介: ChatGLM-6B是款62亿参数的中英对话模型,类似ChatGPT,可在6GB显存(INT4量化)的GPU或CPU上运行。它提供流畅、多样的对话体验。用户可从Hugging Face或清华云下载模型配置。部署涉及创建Python环境,安装依赖,下载模型到`ckpt`文件夹。测试时加载tokenizer和模型,使用示例代码进行交互。应用包括基于MNN和JittorLLMs的推理实现,以及langchain-ChatGLM、闻达、chatgpt_academic和glm-bot等项目。5月更文挑战第10天

测试本地部署ChatGLM-6B | ChatGPT

ChatGLM-6B介绍

ChatGLM-6B是一款中英双语的开源对话语言模型,使用General Language Model (GLM)架构,具有超过62亿的参数。通过模型量化技术,用户可以在消费级的显卡上进行本地部署,最低显存需求为6GB(INT4量化级别)。该模型类似于ChatGPT,专注于中文问答和对话,经过将近1T的中英双语标记符训练,并结合监督微调、反馈自助和人类反馈强化学习等技术,ChatGLM-6B已经能够生成非常符合人类偏好的回答。不同于其他模型,ChatGLM-6B旨在提供自然流畅、多样化的对话体验,实现人机交互的真正智能化。

部署

  • 环境要求:

    md-2023-05-31-19-41-50.png

ChatGLM-6B 也支持CPU的推理,本文部署在linux GPU环境部署。
├── api.py                       
├── cli_demo.py       
├── cli_demo_vision.py
├── examples          
├── FAQ.md            
├── improve           
├── LICENSE           
├── limitations       
├── MODEL_LICENSE     
├── PROJECT.md        
├── ptuning           
├── README_en.md      
├── README.md         
├── requirements.txt  
├── resources         
├── UPDATE.md         
├── utils.py          
├── web_demo2.py      
├── web_demo_old.py   
├── web_demo.py       
└── web_demo_vision.py

```
本次部署将模型和配置放在ckpt文件夹中

![md-2023-05-31-19-46-08.png](https://ucc.alicdn.com/pic/developer-ecology/abb7gqinvjggw_7bf3e14c577d46a1836fe449d85ae9a5.png)
  • 测试

    测试主要是加载tokenizer和模型,将目录改为本地的目录如ckpt,耐心等待加载完模型就可以测试了

    md-2023-05-31-19-57-49.png

    from transformers import AutoTokenizer, AutoModel
    tokenizer = AutoTokenizer.from_pretrained("./ckpt", trust_remote_code=True, revision="")
    model = AutoModel.from_pretrained("./ckpt", trust_remote_code=True, revision="").half().cuda()
    model = model.eval()
    response, history = model.chat(tokenizer, "你好", history=[])
    print(response)

md-2023-05-31-19-59-05.png
md-2023-05-31-20-02-38.png

本文为半精度部署,显存占用为13G

md-2023-05-31-20-00-29.png

ChatGLM-6B的应用

  • ChatGLM-MNN: 一个基于 MNN 的 ChatGLM-6B C++ 推理实现,支持根据显存大小自动分配计算任务给 GPU 和 CPU
  • JittorLLMs:最低3G显存或者没有显卡都可运行 ChatGLM-6B FP16, 支持Linux、windows、Mac部署
  • InferLLM:轻量级 C++ 推理,可以实现本地 x86,Arm 处理器上实时聊天,手机上也同样可以实时运行,运行内存只需要 4G 基于或使用了 ChatGLM-6B 的开源项目:
  • langchain-ChatGLM:基于 langchain 的 ChatGLM 应用,实现基于可扩展知识库的问答
  • 闻达:大型语言模型调用平台,基于 ChatGLM-6B 实现了类 ChatPDF 功能
  • chatgpt_academic: 支持ChatGLM-6B的学术写作与编程工具箱,具有模块化和多线程调用LLM的特点,可并行调用多种LLM。
  • glm-bot:将ChatGLM接入Koishi可在各大聊天平台上调用ChatGLM
目录
相关文章
|
2月前
|
测试技术 UED
测试方案有点难?ChatGPT助你轻松编写测试方案!
使用ChatGPT辅助编写测试方案,以高级搜索功能为例,涉及关键词搜索、过滤条件、界面兼容性、错误处理等测试点。首先明确测试需求,如按作者、时间范围和分类搜索,产品形态为App和Web应用。然后,通过提示词逐步细化方案,包括App的移动设备适配、耗电量和内存占用测试。通过不断优化提示词,确保测试方案全面覆盖功能性能、用户体验及专项测试内容。
45 1
|
29天前
|
消息中间件 安全 Shell
国货之光——jdchain1.6.5测试网络部署
国货之光——jdchain1.6.5测试网络部署
84 13
|
2月前
|
关系型数据库 MySQL 数据库
测试部署PolarDB-X 分布式与集中式
在本文中,作者详述了在CentOS 7.9上部署测试PolarDB-X分布式与集中式数据库的过程。PolarDB-X作为阿里云优化的分布式数据库,提供高稳定性和与MySQL的兼容性,是应对单体数据库扩展性和性能瓶颈的解决方案,同时也符合国产化需求。文章介绍了部署环境准备,包括关闭防火墙和SELinux,设置系统参数,安装Python3和Docker,以及配置MySQL客户端。接着,通过PXD工具部署了PolarDB-X的集中式和分布式版,遇到的问题包括阿里云镜像源异常导致的部署失败以及指定版本安装的困扰。最后,作者进行了初步的压力测试,并对文档完善、生态工具建设以及提供更多使用案例提出了建议。
47791 10
测试部署PolarDB-X 分布式与集中式
|
14天前
|
运维 监控 大数据
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
|
14天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的高中信息技术课程在线测试系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的高中信息技术课程在线测试系统的详细设计和实现(源码+lw+部署文档+讲解等)
14 0
|
1月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的高中信息技术课程在线测试系统附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的高中信息技术课程在线测试系统附带文章和源代码部署视频讲解等
26 6
|
18天前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
56 0
|
28天前
|
分布式计算 Shell Linux
Spark-集群安装、部署、启动、测试(1.6.3)稳定版
Spark-集群安装、部署、启动、测试(1.6.3)稳定版
31 0
|
1月前
|
IDE 前端开发 时序数据库
【Docker项目实战】使用Docker部署speedtest-tracker速度测试追踪器
【6月更文挑战第4天】使用Docker部署speedtest-tracker速度测试追踪器
279 0
|
2月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的在线测试管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的在线测试管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
281 0