巴拉巴

 找回密码
 立即注册

站内搜索

搜索
热搜: 活动 交友 discuz
查看: 48|回复: 0

清华第二代ChatGLM2开源!中文榜居首,碾压GPT-4,推理提速42%

[复制链接]

7

主题

8

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2023-6-27 17:37:13 | 显示全部楼层 |阅读模式
编辑:桃子 好困
【新智元导读】清华ChatGLM2-6B模型又开始刷圈了!新版本在推理能力上提升了42%,最高支持32k上下文。

ChatGLM-6B自3月发布以来,在AI社区爆火,GitHub上已斩获29.8k星。
如今,第二代ChatGLM来了!
清华KEG和数据挖掘小组(THUDM)发布了中英双语对话模型ChatGLM2-6B。
项目地址:http://github.com/THUDM/ChatGLM2-6B
HuggingFace:http://huggingface.co/THUDM/chatglm2-6b
最新版本ChatGLM2-6B增加了许多特性:
- 基座模型升级,性能更强大
- 支持8K-32k的上下文
- 推理性能提升了42%
- 对学术研究完全开放,允许申请商用授权
值得一提的是,在中文C-Eval榜单中,ChatGLM2以71.1分位居榜首,碾压GPT-4。而最新版本ChatGLM2-6B以51.7分位列第6。
ChatGLM2-6B升级亮点
ChatGLM-6B的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优秀特性的基础之上,又增加许多新特性:
1. 更强大的性能
基于ChatGLM初代模型的开发经验,全面升级了ChatGLM2-6B的基座模型。
ChatGLM2-6B使用了GLM的混合目标函数,经过了1.4T中英标识符的预训练与人类偏好对齐训练.
评测结果显示,与初代模型相比,ChatGLM2-6B在MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等数据集上的性能取得了大幅度的提升,在同尺寸开源模型中具有较强的竞争力。
2. 更长的上下文
基于 FlashAttention 技术,研究人员将基座模型的上下文长度由 ChatGLM-6B 的2K扩展到了32K,并在对话阶段使用8K的上下文长度训练,允许更多轮次的对话。
但当前版本的ChatGLM2-6B对单轮超长文档的理解能力有限,会在后续迭代升级中着重进行优化。
3. 更高效的推理
基于 Multi-Query Attention 技术,ChatGLM2-6B有更高效的推理速度和更低的显存占用.
在官方的模型实现下,推理速度相比初代提升了42%,INT4量化下,6G显存支持的对话长度由1K提升到了8K。
4. 更开放的协议
ChatGLM2-6B权重对学术研究完全开放,在获得官方的书面许可后,亦允许商业使用。
效果
相比于初代模型,ChatGLM2-6B在多个维度的能力上,都取得了巨大的提升。
数理逻辑
知识推理
长文档理解
评测结果
研究团队选取了部分中英文典型数据集进行了评测,以下为ChatGLM2-6B模型在MMLU(英文)、C-Eval(中文)、GSM8K(数学)、BBH(英文) 上的测评结果。
MMLU
C-Eval
BBH
推理性能
ChatGLM2-6B使用 Multi-Query Attention,提高了生成速度。生成2000个字符的平均速度对比如下:
Multi-Query Attention同时也降低了生成过程中KV Cache的显存占用。
此外,ChatGLM2-6B采用Causal Mask进行对话训练,连续对话时可复用前面轮次的 KV Cache,进一步优化了显存占用。
因此,使用6GB显存的显卡进行INT4量化的推理时,初代的ChatGLM-6B模型最多能够生成1119个字符就会提示显存耗尽,而ChatGLM2-6B能够生成至少8192个字符。
研究团队也测试了量化对模型性能的影响。结果表明,量化对模型性能的影响在可接受范围内。
使用方法
环境安装

然后使用pip安装依赖:pip install -r requirements.txt,其中transformers库版本推荐为4.30.2,torch推荐使用 2.0 以上的版本,以获得最佳的推理性能。
代码调用

可以通过如下代码调用ChatGLM2-6B模型来生成对话:
>>> from transformers import AutoTokenizer, AutoModel>>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)>>> model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device='cuda')>>> model = model.eval>>> response, history = model.chat(tokenizer, "你好", history=)>>> print(response)你好
来源:http://www.yidianzixun.com/article/0pK8KbVk
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 返回顶部