【新智元导读】清华ChatGLM2-6B模型又开始刷圈了!新版别在推理才能上提高了42%,最高支撑32k上下文。
ChatGLM-6B自3月发布以来,在AI社区爆火,GitHub上已斩获29.8k星。
现在,第二代ChatGLM来了!
清华KEG和数据发掘小组(THUDM)发布了中英双语对话模型ChatGLM2-6B。
项目地址:github.com/THUDM/ChatG…
HuggingFace:huggingface.co/THUDM/chatg…
最新版别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
GSM8K
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个字符。
研讨团队也测试了量化对模型功能的影响。成果表明,量化对模型功能的影响在可接受范围内。
运用办法
环境装置
首先需求下载本库房:
git clone https://github.com/THUDM/ChatGLM2-6Bcd ChatGLM2-6B
然后运用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)你好!我是人工智能助手 ChatGLM2-6B,很快乐见到你,欢迎问我任何问题。>>> response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)>>> print(response)晚上睡不着可能会让你感到焦虑或不舒服,但以下是一些能够协助你入眠的办法:
1. 制定规则的睡觉时刻表:坚持规则的睡觉时刻表能够协助你树立健康的睡觉习气,使你更简单入眠。尽量在每天的相同时刻上床,并在同一时刻起床。2. 创造一个舒适的睡觉环境:保证睡觉环境舒适,安静,漆黑且温度适宜。能够运用舒适的床上用品,并坚持房间通风。3. 放松身心:在睡前做些放松的活动,例如泡个热水澡,听些轻柔的音乐,阅览一些有趣的书本等,有助于缓解严重和焦虑,使你更简单入眠。4. 防止饮用含有咖啡因的饮料:咖啡因是一种刺激性物质,会影响你的睡觉质量。尽量防止在睡前饮用含有咖啡因的饮料,例如咖啡,茶和可乐。5. 防止在床上做与睡觉无关的工作:在床上做些与睡觉无关的工作,例如看电影,玩游戏或工作等,可能会干扰你的睡觉。6. 测验呼吸技巧:深呼吸是一种放松技巧,能够协助你缓解严重和焦虑,使你更简单入眠。试着慢慢吸气,坚持几秒钟,然后缓慢呼气。
假如这些办法无法协助你入眠,你能够考虑咨询医生或睡觉专家,寻求进一步的建议。
从本地加载模型
在从Hugging Face Hub下载模型之前,需求先装置Git LFS,然后运行:
git clone https://huggingface.co/THUDM/chatglm2-6b
假如checkpoint的下载速度较慢,能够只下载模型完成:
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm2-6b
然后,手动下载模型参数文件,并将文件替换到本地的chatglm2-6b目录下。
地址:cloud.tsinghua.edu.cn/d/674208019…
模型下载到本地之后,将以上代码中的THUDM/chatglm2-6b替换为本地的chatglm2-6b文件夹的路径,即可从本地加载模型。
参考资料:
github.com/THUDM/ChatG…
huggingface.co/THUDM/chatg…