ChatGLM-6B

开源双语对话语言模型
授权协议 Apache
地区 国产
投 递 者 刘昌翰
软件类型 开源软件
开源组织
适用人群 未知
操作系统 跨平台
所属分类 神经网络/人工智能、 自然语言处理
 软件概览

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。

ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。

硬件需求

量化等级 最低 GPU 显存
FP16(无量化) 13 GB
INT8 10 GB
INT4 6 GB

使用方式

环境安装

使用 pip 安装依赖:pip install -r requirements.txt,其中transformers库版本推荐为4.26.1,但理论上不低于4.23.1即可。

代码调用

可以通过如下代码调用 ChatGLM-6B 模型来生成对话:

>>> 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. 尝试呼吸技巧:深呼吸是一种放松技巧,可以帮助你缓解紧张和焦虑,使你更容易入睡。试着慢慢吸气,保持几秒钟,然后缓慢呼气。

如果这些方法无法帮助你入睡,你可以考虑咨询医生或睡眠专家,寻求进一步的建议。

    完整的模型实现可以在HuggingFace Hub上查看。

    Demo

    提供了一个基于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

    运行仓库中 cli_demo.py

    python cli_demo.py

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

    • ChatGLM-6B:颠覆聊天AI的全新模型 随着人工智能(AI)的不断发展,自然语言处理(NLP)领域的研究也取得了突破性进展。其中,对话系统和聊天机器人成为了研究的热点。近日,清华大学推出了一个全新的聊天AI模型——ChatGLM-6B,它有望为聊天AI带来革命性的变革。 什么是ChatGLM-6B? ChatGLM-6B是一个基于GLM的生成式对话模型。它由清华大学的研究团队开发,旨在改进聊

    • ChatGLM-6b初步微调实验 chatglm-6b微调/推理, 样本为自动生成的整数/小数加减乘除运算, 可gpu/cpu chatglm-6b fine-tuning/inference, The sample is an automatically generated, integer/decimal of add, sub, mul and div operation, that can

    • ChatGLM-6B 是一个支持中英双语的对话语言模型,基于 GLM (General Language Model)。它只有 62 亿个参数,量化后最低 (INT4 量化) 只需要 6GB 的显存,完全可以部署到消费级显卡上。在实际使用这个模型一段时间以后,我们发现模型的对话表现能力确实非常不错。那么,基于这个模型做 Fine-tuning 就非常有价值了。 声明: 本文提供的所有技术信息,都基

    • 目录 环境 必备软件及安装 拉取模型架构 使用 pip 安装依赖 部署(GPU) 从云端加载模型 从本地加载模型 部署(CPU) 环境 centos7.6 CPU32G SSD>=40G python3.9 pip23.1 必备软件及安装  yum install -y libffi-devel python-devel openssl-devel  yum install psutil  yum

     相关资料
    • 本文向大家介绍语言模型相关面试题,主要包含被问及语言模型时的应答技巧和注意事项,需要的朋友参考一下 语言模型的作用之一为消解多音字的问题,在声学模型给出发音序列之后,从候选的文字序列中找出概率最大的字符串序列。 目前使用kenlm(https://github.com/kpu/kenlm)训练bi-gram语言模型。bi-gram表示当前时刻的输出概率只与前一个时刻有关。即 P(X{n} | X{

    • 语言模型(language model)是自然语言处理的重要技术。自然语言处理中最常见的数据是文本数据。我们可以把一段自然语言文本看作一段离散的时间序列。假设一段长度为$T$的文本中的词依次为$w_1, w_2, \ldots, w_T$,那么在离散的时间序列中,$w_t$($1 \leq t \leq T$)可看作在时间步(time step)$t$的输出或标签。给定一个长度为$T$的词的序列$

    • Go语言起源 编程语言的演化跟生物物种的演化类似,一个成功的编程语言的后代一般都会继承它们祖先的优点;当然有时多种语言杂合也可能会产生令人惊讶的特性;还有一些激进的新特性可能并没有先例。通过观察这些影响,我们可以学到为什么一门语言是这样子的,它已经适应了怎样的环境。 下图展示了有哪些早期的编程语言对Go语言的设计产生了重要影响。 Go语言有时候被描述为“C类似语言”,或者是“21世纪的C语言”。G

    • Hyperledger Composer包含一个面向对象的建模语言,用于定义业务网络定义的领域模型。 Hyperledger Composer CTO文件由以下元素组成: 一个单一的命名空间。文件中的所有资源声明都隐含在这个命名空间中。 一组资源定义,包括资产、交易、参与者和事件。 从其他命名空间导入资源的可选导入声明。   组织和Hyperledger Composer系统命名空间 你的组织命名

    • https://juejin.cn/post/7314201743994568756

    • 概述 ThinkCMF已经默认开启了多语言的支持,后台以语言包形式实现多语言,前台以语言包和多模板的形式实现多语言. 语言包 ThinkCMF开启的语言有三个,分别是zh-cn,en-us,zh-tw,此项配置在application/Common/Conf/config.php配置文件下,可以通过更改LANG_LIST的值增加语言. 语言包分为框架核心语言包(在simplewind/Core/L