ChatGLM-6B-部署与使用
一、简介ChatGLM-6B 是由清华大学知识工程实验室(KEG)与智谱 AI 联合打造的一个开源的、支持中英双语的对话语言模型。二、基本参数参数量:62 亿参数。三、技术架构与特点架构基础:基于 General Language Model(GLM)架构,参考了 OpenAI 的 GPT 和 Google’s BERT 结构,并融合了 GLM 的技术特点。语言能力:具备良好的中英双语对话生成能力
·
✨ Blog’s 主页: 白乐天_ξ( ✿>◡❛)
🌈 个人Motto:他强任他强,清风拂山冈!
💫 欢迎来到我的学习笔记!
什么是ChatGLM-6B
一、简介
ChatGLM-6B 是由清华大学知识工程实验室(KEG)与智谱 AI 联合打造的一个开源的、支持中英双语的对话语言模型。
二、基本参数
- 参数量:62 亿参数。
三、技术架构与特点
- 架构基础:基于 General Language Model(GLM)架构,参考了 OpenAI 的 GPT 和 Google’s BERT 结构,并融合了 GLM 的技术特点。
- 语言能力:具备良好的中英双语对话生成能力,能够理解和处理中英文混合输入。
四、应用场景
- 智能客服:为企业提供高效的客户服务解决方案,回答用户的问题,解决用户的疑虑。
- 智能助手:作为个人智能助手,帮助用户完成各种任务,如日程安排、信息查询、文本创作等。
- 教育培训:辅助教学,回答学生的问题,提供学习建议和指导。
- 内容创作:生成文章、故事、诗歌等各种文本内容。
ChatGLM-6B 模型的使用方法
ChatGLM - 6B 模型的使用方法主要有以下几种:- 本地部署运行
- 环境准备:
- 安装 Python(建议使用 Python 3.8 及以上版本)。
- 安装必要的库和依赖项,使用
pip install -r requirements.txt
,其中transformers
库版本推荐为 4.27.1,但理论上不低于 4.23.1 即可。
- 模型加载:
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("thudm/chatglm - 6b", trust_remote_code=True)
model = AutoModel.from_pretrained("thudm/chatglm - 6b", trust_remote_code=True).half().cuda()
model = model.eval()
- 对话交互
response, history = model.chat(tokenizer, "白乐天", history=())
print(response)
response, history = model.chat(tokenizer, "你好,白乐天!", history=history)
print(response)
- 使用网页版 Demo
- 下载模型仓库:
git clone https://github.com/thudm/chatglm - 6b
。 - 进入仓库目录:
cd chatglm - 6b
。 - 安装
gradio
库:pip install gradio
。 - 运行网页版程序:
python web_demo.py
,程序会运行一个 Web 服务器,并输出地址,在浏览器中打开输出的地址即可使用。
- 下载模型仓库:
3.通过 API 调用
安装额外的依赖:pip install fastapi uvicorn
。
运行仓库中的api.py文件:python api.py
,默认部署在本地的 8000 端口。
DAMODEL(丹摩智算)平台-ChatGLM-6B 服务端部署
1.什么是DAMODEL(丹摩智算)?
DAMODEL(丹摩智算)是专为 AI 打造的智算云,致力于提供丰富的算力资源与基础设施助力 AI 应用的开发、训练、部署。2.实例创建
1. 首先先进入丹摩平台,按照图示进行操作:- 进入创建页面后,首先在实例配置中选择付费类型为按量付费,其次选择单卡启动,然后选择需求的 GPU 型号,本次实验可以选择选择:
按量付费
–GPU 数量 1
–NVIDIA-GeForc-RTX-4090
,该配置为 60GB 内存,24GB 的显存。
方法和前一篇文章【Llama3.1的部署与使用】一样,看着操作就行了!
- 配置数据硬盘的大小选择默认大小 50GB,选择 PyTorch1.13.1 的框架启动
- 点击创建密钥对,输入自定义的名称。创建好密钥对后,选择刚刚创建好的密钥对,并点击立即创建,等待一段时间后即可启动成功!
3.模型准备
- 启动环境后,打开终端,用 git 克隆ChatGLM-6B项目
cd /home/aistudio/work/
git clone https://github.com/THUDM/ChatGLM-6B.git
# 如果遇见github因为网络问题导致失败,可选择gitcode站点进行下载
# git clone https://gitcode.com/applib/ChatGLM-6B.git
- 成功克隆项目后,会显示如下文件夹:
- cd进入该文件夹,使用pip安装项目依赖:
pip install -r requirements.txt
- 等待一会儿看见显示如
Successfully installed
,就表示安装完成!
- 安装完依赖,我们现在就开始引入模型文件。
- 首先点击文件存储,点击上传文件。
- 下载 Hugging Face 上的 ChatGLM-6B 预训练模型,也可以进入魔塔社区选择Chatglm3-6B里的所有文件进行下载。
- 将下载下来的模型文件及配置进行上传并解压,上传时尽量保持该界面首页显示,等待上传成功后再进行其他操作。
4.模型启动
上传好预训练模型及解压后,我们就可以启动Python
脚本进行运行了。
- 首先我们使用
cli_demo.py
命令行进行交互; - 然后我们再使用
web_ demo.py
命令行,使用本机服务器进行网页交互。 - 确定预训练模型的本地路径。假设你的模型解压后存放在
/home/user/models/chatglm-6b
路径下。 - 打开
cli_demo.py
文件:- 找到类似以下的代码行:
tokenizer = AutoTokenizer.from_pretrained("thudm/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("thudm/chatglm-6b", trust_remote_code=True).half().cuda()
- 将其修改为:
tokenizer = AutoTokenizer.from_pretrained("/home/user/models/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("/home/user/models/chatglm-6b", trust_remote_code=True).half().cuda()
- 注意将路径替换为你实际的模型存放路径。
- 打开
web_demo.py
文件:- 同样找到类似的代码行并进行修改,修改方式与
cli_demo.py
文件一致。
- 同样找到类似的代码行并进行修改,修改方式与
修改完成后,保存文件。现在你就可以使用本地模型启动了,根据你的需求运行相应的脚本文件即可进行命令行交互或网页交互。
- 如果在终端输入
python cli_demo.py
成功启动模型后,你将进入一个交互界面,可以按照以下方式进行操作:- 对话交互: 当你输入文本时,模型会根据你的输入生成相应的回复。例如,你输入 “今天天气怎么样?”,模型可能会给出类似 “很抱歉,不清楚你所在地区的具体天气情况呢。你可以通过天气预报网站或应用查询。” 这样的回答。
- 清空对话历史和清除屏幕: 如果输入 “clear”,程序会清空之前的对话历史,并且清除屏幕,为新的对话做好准备。
- 退出程序: 当你输入 “stop” 时,程序会退出,结束当前的交互会话。
这种交互方式为用户提供了灵活的操作选择,可以根据自己的需求随时调整对话状态或结束程序。同时,通过不断输入不同的问题和指令,可以更好地了解模型的能力和特点。
更多推荐
已为社区贡献6条内容
所有评论(0)