测试本地部署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
目录
相关文章
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
2254 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
弹性计算 安全 搜索推荐
快速部署 ChatGPT Next Web 社区版
ChatGPT Next Web是一款跨平台ChatGPT应用,支持完整的Markdown、LaTex公式、Mermaid流程图等。界面美观,响应迅速,兼容深色模式和PWA,快速加载,数据隐私安全。功能丰富,方便创建、分享个性化对话,内含海量中英文prompt,自动压缩聊天记录,支持多国语言。本文介绍使用计算巢快速部署ChatGPT Next Web社区版。
快速部署 ChatGPT Next Web 社区版
|
SQL 人工智能 自然语言处理
让老板成为数据分析师--ChatGpt链接本地数据源实战测试
本文探究ChatGpt等AI机器人能否帮助老板快速的做数据分析?用自然语言同老板进行沟通,满足老板的所有数据分析的诉求?
|
弹性计算 API 数据安全/隐私保护
不写代码,5分钟部署一个chatGPT小助手
相比于之前的chatGPT网站,这个chatGPT小助手能记录上下文,还能开多个对话。快来试试吧!
684 7
不写代码,5分钟部署一个chatGPT小助手
|
弹性计算 人工智能 API
不写代码,5分钟部署chatGPT网站
用阿里云ROS,不会写代码的小白也能分分钟部署一个chatGPT网站,无需开各种代理,快来和chatGPT对话吧!
1279 0
不写代码,5分钟部署chatGPT网站
测试方案有点难?ChatGPT助你轻松编写测试方案!
使用ChatGPT辅助编写测试方案,以高级搜索功能为例,涉及关键词搜索、过滤条件、界面兼容性、错误处理等测试点。首先明确测试需求,如按作者、时间范围和分类搜索,产品形态为App和Web应用。然后,通过提示词逐步细化方案,包括App的移动设备适配、耗电量和内存占用测试。通过不断优化提示词,确保测试方案全面覆盖功能性能、用户体验及专项测试内容。
|
JavaScript Linux 区块链
DApp测试网络Ganache本地部署并实现远程连接
DApp测试网络Ganache本地部署并实现远程连接
393 0
|
人工智能 测试技术 UED
软件测试人员如何用好chatgpt
软件测试人员如何用好chatgpt
421 0
|
人工智能 测试技术 API
软件测试/人工智能|教你如何使用ChatGPT的API
软件测试/人工智能|教你如何使用ChatGPT的API
|
人工智能 测试技术 程序员
软件测试/人工智能|使用ChatGPT帮我们查找bug
软件测试/人工智能|使用ChatGPT帮我们查找bug