位置: IT常识 - 正文

ChatGLM-6B (介绍以及本地部署)

编辑:rootadmin
ChatGLM-6B (介绍以及本地部署) 中文ChatGPT平替——ChatGLM-6BChatGLM-6B简介官方实例本地部署1.下载代码2.通过conda创建虚拟环境3.修改代码4.模型量化5.详细代码调用示例ChatGLM-6B简介

推荐整理分享ChatGLM-6B (介绍以及本地部署),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

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

ChatGLM-6B (介绍以及本地部署)

ChatGLM 参考了 ChatGPT 的设计思路,在千亿基座模型 GLM-130B1 中注入了代码预训练,通过有监督微调(Supervised Fine-Tuning)等技术实现人类意图对齐。ChatGLM 当前版本模型的能力提升主要来源于独特的千亿基座模型 GLM-130B。它是不同于 BERT、GPT-3 以及 T5 的架构,是一个包含多目标函数的自回归预训练模型。2022年8月,我们向研究界和工业界开放了拥有1300亿参数的中英双语稠密模型 GLM-130B1,该模型有一些独特的优势:

双语: 同时支持中文和英文。高精度(英文): 在公开的英文自然语言榜单 LAMBADA、MMLU 和 Big-bench-lite 上优于 GPT-3 175B(API: davinci,基座模型)、OPT-175B 和 BLOOM-176B。高精度(中文): 在7个零样本 CLUE 数据集和5个零样本 FewCLUE 数据集上明显优于 ERNIE TITAN 3.0 260B 和 YUAN 1.0-245B。快速推理: 首个实现 INT4 量化的千亿模型,支持用一台 4 卡 3090 或 8 卡 2080Ti 服务器进行快速且基本无损推理。可复现性: 所有结果(超过 30 个任务)均可通过我们的开源代码和模型参数复现。跨平台: 支持在国产的海光 DCU、华为昇腾 910 和申威处理器及美国的英伟达芯片上进行训练与推理。

官方实例>>> 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()>>> response, history = model.chat(tokenizer, "你好", history=[])>>> print(response)你好👋!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。>>> response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)>>> print(response)晚上睡不着可能会让你感到焦虑或不舒服,但以下是一些可以帮助你入睡的方法:1. 制定规律的睡眠时间表:保持规律的睡眠时间表可以帮助你建立健康的睡眠习惯,使你更容易入睡。尽量在每天的相同时间上床,并在同一时间起床。2. 创造一个舒适的睡眠环境:确保睡眠环境舒适,安静,黑暗且温度适宜。可以使用舒适的床上用品,并保持房间通风。3. 放松身心:在睡前做些放松的活动,例如泡个热水澡,听些轻柔的音乐,阅读一些有趣的书籍等,有助于缓解紧张和焦虑,使你更容易入睡。4. 避免饮用含有咖啡因的饮料:咖啡因是一种刺激性物质,会影响你的睡眠质量。尽量避免在睡前饮用含有咖啡因的饮料,例如咖啡,茶和可乐。5. 避免在床上做与睡眠无关的事情:在床上做些与睡眠无关的事情,例如看电影,玩游戏或工作等,可能会干扰你的睡眠。6. 尝试呼吸技巧:深呼吸是一种放松技巧,可以帮助你缓解紧张和焦虑,使你更容易入睡。试着慢慢吸气,保持几秒钟,然后缓慢呼气。如果这些方法无法帮助你入睡,你可以考虑咨询医生或睡眠专家,寻求进一步的建议。本地部署1.下载代码git clone https://github.com/THUDM/ChatGLM-6B.git2.通过conda创建虚拟环境# 新建chatglm环境conda create -n chatglm python=3.8# 激活chatglm环境conda activate chatglm# 安装PyTorch环境(根据自己的cuda版本选择合适的torch版本)pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113# 安装gradio用于启动图形化web界面pip install gradio# 安装运行依赖pip install -r requirement.txt3.修改代码在web_demo.py的最后一句demo.queue().launch(share=True),加两个server_name=“0.0.0.0”, server_port=1234参数。demo.queue().launch(share=True,server_name="0.0.0.0",server_port=9234)4.模型量化

默认情况下,模型以 FP16 精度加载,运行上述代码需要大概 13GB 显存。如果你的 GPU 显存有限,可以尝试以量化方式加载模型,使用方法如下:

GPU# FP16精度加载,需要13G显存model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()# int8精度加载,需要10G显存model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().quantize(8).cuda()# int4精度加载,需要6G显存model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().quantize(4).cuda()CPU#32G内存model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).float()#16G内存model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).bfloat16()5.详细代码from transformers import AutoModel, AutoTokenizerimport gradio as grtokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)# model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()# 按需修改,目前只支持 4/8 bit 量化model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().quantize(4).cuda()model = model.eval()MAX_TURNS = 20MAX_BOXES = MAX_TURNS * 2def predict(input, history=[]): response, history = model.chat(tokenizer, input, history) updates = [] for query, response in history: updates.append(gr.update(visible=True, value=query)) updates.append(gr.update(visible=True, value=response)) if len(updates) < MAX_BOXES: updates = updates + [gr.Textbox.update(visible=False)] * (MAX_BOXES - len(updates)) return [history] + updateswith gr.Blocks() as demo: state = gr.State([]) text_boxes = [] for i in range(MAX_BOXES): if i % 2 == 0: label = "提问:" else: label = "回复:" text_boxes.append(gr.Textbox(visible=False, label=label)) with gr.Row(): with gr.Column(scale=4): txt = gr.Textbox(show_label=False, placeholder="Enter text and press enter").style(container=False) with gr.Column(scale=1): button = gr.Button("Generate") button.click(predict, [txt, state], [state] + text_boxes)demo.queue().launch(share=True,server_name="0.0.0.0",server_port=9234)调用示例

本文链接地址:https://www.jiuchutong.com/zhishi/295855.html 转载请保留说明!

上一篇:用JavaScript实现文件的上传与下载(javascript编写程序)

下一篇:全网详细解决Set-Location : 找不到接受实际参数“xxx”的位置形式参数。 所在位置 行:1 字符: 1的错误,并深究该错误的原因。(set0)

  • 小米12像素多少(小米12像素多少倍)

    小米12像素多少(小米12像素多少倍)

  • qq的小世界怎么关闭(qq的小世界怎么永久删除)

    qq的小世界怎么关闭(qq的小世界怎么永久删除)

  • 华为p40的屏幕刷新率是60hz吗(华为p40屏幕刷新率在哪设置)

    华为p40的屏幕刷新率是60hz吗(华为p40屏幕刷新率在哪设置)

  • 荣耀x10如何隐藏应用(荣耀x10如何隐藏桌面图标)

    荣耀x10如何隐藏应用(荣耀x10如何隐藏桌面图标)

  • 智慧团建登不上去有什么后果吗(智慧团建登不上去影响团员吗)

    智慧团建登不上去有什么后果吗(智慧团建登不上去影响团员吗)

  • 苹果用什么输入法(苹果用什么输入法可以换行)

    苹果用什么输入法(苹果用什么输入法可以换行)

  • 苹果6s清理垃圾怎么清理(苹果6s手机垃圾清理)

    苹果6s清理垃圾怎么清理(苹果6s手机垃圾清理)

  • 芯片组的北桥部分控制什么(芯片组的北桥部件有哪些)

    芯片组的北桥部分控制什么(芯片组的北桥部件有哪些)

  • 电动牙刷突然没反应了(电动牙刷突然没电了怎么回事)

    电动牙刷突然没反应了(电动牙刷突然没电了怎么回事)

  • 美团商家能看到访客吗(美团商家能看到客户浏览记录吗)

    美团商家能看到访客吗(美团商家能看到客户浏览记录吗)

  • rs422接口定义(rs422接口定义标准)

    rs422接口定义(rs422接口定义标准)

  • 抖音昵称修改次数上限怎么办(抖音昵称修改次数已达上限)

    抖音昵称修改次数上限怎么办(抖音昵称修改次数已达上限)

  • 桌面改到d盘有坏处吗(桌面改成d盘全在桌面了)

    桌面改到d盘有坏处吗(桌面改成d盘全在桌面了)

  • pr支持的视频格式有哪些(pr2020支持的视频格式)

    pr支持的视频格式有哪些(pr2020支持的视频格式)

  • 苹果手机一台手机只能用一个ID吗(苹果手机一台手机最长可使用多少小时)

    苹果手机一台手机只能用一个ID吗(苹果手机一台手机最长可使用多少小时)

  • emui是鸿蒙系统吗(鸿蒙是emui几)

    emui是鸿蒙系统吗(鸿蒙是emui几)

  • 华为p30如何调音量(华为p30哪里调音量)

    华为p30如何调音量(华为p30哪里调音量)

  • 荣耀20s可以插内存卡吗(华为荣耀20s可以装内存卡吗)

    荣耀20s可以插内存卡吗(华为荣耀20s可以装内存卡吗)

  • oppo悬浮窗口怎么打开(oppo悬浮窗口怎么设置)

    oppo悬浮窗口怎么打开(oppo悬浮窗口怎么设置)

  • qq钱包交易记录恢复(qq钱包交易记录可以查几年)

    qq钱包交易记录恢复(qq钱包交易记录可以查几年)

  • 苹果屏幕刷新率调节教程(苹果屏幕刷新率120hz的机型)

    苹果屏幕刷新率调节教程(苹果屏幕刷新率120hz的机型)

  • 在系统日历中不显示“其他日历”(日历怎么不能添加事件了)

    在系统日历中不显示“其他日历”(日历怎么不能添加事件了)

  • 阿拉普扎的船屋,印度喀拉拉邦 (© Martin Harvey/The Image Bank/Getty Images)(阿普拉萨)

    阿拉普扎的船屋,印度喀拉拉邦 (© Martin Harvey/The Image Bank/Getty Images)(阿普拉萨)

  • HTML小游戏13 —— 仿《神庙逃亡》3D风格跑酷游戏《墓地逃亡》(附完整源码)(html游戏大全)

    HTML小游戏13 —— 仿《神庙逃亡》3D风格跑酷游戏《墓地逃亡》(附完整源码)(html游戏大全)

  • 【YOLOv7】Python基于YOLOv7的人员跌倒检测系统(源码&部署教程&数据集)(python yolo)

    【YOLOv7】Python基于YOLOv7的人员跌倒检测系统(源码&部署教程&数据集)(python yolo)

  • 营改增后为什么利息要提供发票吗
  • 无形资产属于货币性项目吗
  • 分期收款方式确认销售收入
  • 个体工商户怎么变更法人
  • 自查补税申报表
  • 农业机耕开发票税收分类编码是什么
  • 小微企业条件需交税吗
  • 资产申报是什么
  • 资本公积是企业所得税吗
  • 增值税优惠政策中即征即退和先征后退有什么区别?
  • 养老失业工伤单位一般缴纳多少钱
  • 交通运输业安全员证
  • 期末留抵税额小于当期免抵退税额是什么意思
  • 7月1日所有公司发票系统需要升级,办公用品发票买什么开什么
  • 应纳增值税计算公式怎么算
  • 小规模企业转为一般纳税人怎么做会计分录
  • 红字发票信息表是销方还是购方开
  • 进口商品关税调整
  • win11 zen1
  • 多结转成本会导致什么
  • 华为手机找回删除的通讯录号码
  • 出租的土地
  • 公司为什么要签劳务协议
  • apcu php
  • 题管理录入新内容
  • 显卡的散热
  • zmweb.exe是什么进程
  • 稀有品种茅膏菜
  • php imagestring
  • 无偿转让股权如何做账
  • 遇到的问题及解决方法
  • 企业之间拆借资金
  • 出现巨石
  • 增值税抵扣新政策
  • 存货核算方法可以变更吗
  • 库存现金月末怎么结转
  • 华为od机试成绩什么时候出来
  • element - - - - - 你不知道的loading使用方式
  • springboot自带tomcat吗
  • php fopen()
  • php ajax 实现
  • 营改增后租金收入交什么税
  • 财务费用汇兑损失是什么
  • 每月计提的工资包含社保吗
  • 利润表中其他收益是什么
  • 申请税控盘流程需要几个工作日
  • 公司赠送客户的产品怎么核算
  • 怎么样去掉
  • java 邮件
  • 两个公司可以是一个注册地址吗
  • 可供出售金融资产名词解释
  • 律师事务所收到专票能抵扣吗合法吗
  • 汽车抵押贷款会计分录
  • 增值税税控系列是什么
  • 股息所得缴纳个税吗
  • 员工工资怎么计提
  • 软件增值税即征即退税务风险
  • 发票未到成本如何做分录
  • 分支机构可不可以不建账合并到总机构?
  • 汇算清缴业务招待费调整分录
  • 费用本期发生额怎么算
  • 业务招待费税务扣除标准
  • windows 配置
  • mysql向指定字段中添加数据
  • imac固态
  • win10系统怎么设置ip地址
  • win8如何进行系统还原
  • 微软反盗xp黑屏怎么办
  • 如何在linux中安装软件
  • three.js gui
  • android webview获取文本
  • AngularJs ng-change事件/指令的用法小结
  • js window.open如何带参数
  • shell echo 特殊字符
  • js鼠标滚轮缩放
  • python中计数函数怎么用
  • jquery的使用
  • python3 tkinter
  • 税务公众电话
  • 开出去的专用发票存根怎么处理的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设