赞
踩
据 huggingface 页面显示, ChatGLM-6B 的第二代版本 ChatGLM2-6B 现已正式开源。
ChatGLM2-6B 拥有比 ChatGLM-6B 更强大的性能,相比于初代模型,ChatGLM2-6B 在 MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等数据集上的性能取得了大幅度的提升,在同尺寸开源模型中具有较强的竞争力。此外,ChatGLM2-6B基座模型的上下文长度由 ChatGLM-6B 的 2K 扩展到了 32K,并在对话阶段使用 8K 的上下文长度训练,允许更多轮次的对话。
另外,ChatGLM2-6B 可以实现更高效的推理,在官方的模型实现下,其推理速度相比初代提升了 42%,INT4 量化下,6G 显存支持的对话长度由 1K 提升到了 8K。
国产开源模型后劲不足,ChatGLM以后得中文开原模型都是犹抱琵琶半遮面。这下子新的国产开源就来了,你猜是谁,哎,还是ChatGLM,惊不惊喜?意不意外?
自清华大学数据挖掘实验室(THUDM)3月开源ChatGLM-6B已经过去了3个多月,最近他们又带来了性能全面提升的“船新”版本-ChatGLM2-6B。别看名字变化小,其实更新的模型性能是又有量又实用。不了解ChatGLM的小伙伴可以看我这篇文章(ChatGLM:一个开源的中英双语大语言模型)。
惯例,我们先总结下本次的更新要点:
这里我觉得还是有必要在简单介绍下GLM,虽然它和GPT都姓G,但实际上并不是一家子。GLM是清华大学和腾讯AI Lab联合提出的一种基于自回归空白填充的通用语言模型(GLM)。GLM的核心思想是,在预训练阶段,将输入文本中的一些连续或不连续的片段替换为特殊的空白符号,并按照任意顺序预测这些空白处的内容。这样做有两个好处:一是可以增加模型对文本结构和语义的理解能力;二是可以通过调整空白的数量和长度,适应不同类型的任务。例如,如果空白很少且很短,那么就相当于进行掩码语言建模(MLM),适合NLU任务;如果空白很多且很长,那么就相当于进行完全自回归建模(ARM),适合无条件生成任务;如果空白在文本前后分布不均匀,那么就相当于进行部分自回归建模(PARM),适合有条件生成任务。
GLM在多个数据集和任务上进行了实验验证,结果显示,在相同的模型大小和数据下,GLM均优于BERT、T5和GPT,并且使用比BERT Large少1.25倍的参数,就能达到单个预训练模型的最佳性能。这证明了GLM对不同下游任务的泛化能力和效率。
GLM本身模型构架上的优势还是很明显的,ChatGLM-6B 的性能几乎同等于很多开源的13B的模型。
本次ChatGLM2-6B上下文从2k扩展到了32k主要是应用了一种叫做 FlashAttention 的技术。flash-attention是一种快速、高效、可扩展的注意力机制,它利用了一种称为哈希感知(hash-aware)的技术,可以根据它们的相似性将输入序列中的元素分配到不同的桶(bucket)中。这样,模型只需要计算桶内元素之间的注意力权重,而不是整个序列。这大大减少了计算量和内存需求,同时保持了较高的精度和表达能力。
ChatGLM2-6B虽然可以支持32k,但是在对话阶段使用 的8K 的上下文长度训练,因此其多轮对话能力大大增强了,但是对单轮超长文档的理解能力依然有限。整体测试下来确实比大部分开源模型的体感要强,尤其是在长文本问答和总结方面,优势明显。
但是 ,本次ChatGLM2-6B长上下文的先发优势可能也无法维持太久,因为最新在上下文领域的新技术也是层出不穷。尤其是Meta的新作《Extending Context Window of Large Language Models via Positional Interpolation》,该论文提出了一种位置插值(Position Interpolation,PI)的方法,可以在最小的微调(1000步以内)的情况下,将基于RoPE的预训练LLMs(如LLaMA模型)的上下文窗口大小扩展到32768,并保持整体性能几乎不变。不出意外,LLaMA家族的众多模型很快将会具备32k上下文能力。
这里我直接放ChatGLM2-6B官方的对比,可以看出来本次版本的性能提升还是非常显著的。
知识推理
长文档理解
C-Eval
这里还是再稍微多介绍几句C-Eval。C-Eval数据集包含13948个多选题,涵盖52个不同的学科领域,如语文、数学、物理、化学、生物、历史、地理、政治、经济、法律等。这些题目分为四个难度等级,分别对应小学、初中、高中和大学的教育阶段。每个题目都有四个选项,其中一个是正确答案,另外三个是干扰项。每个题目还有一个问题类型标签,表示该题目考察的是事实性知识、推理能力、应用能力还是创新能力。
C-Eval数据集旨在全面地评估基础模型在中文领域的表现,包括语言理解、知识获取、逻辑推理和跨领域迁移等方面。该数据集已经在Hugging Face平台上公开发布,并提供了一个可视化的网页,方便用户浏览和使用。该数据集也已经被用于测试了多个主流的基础模型,如BERT、RoBERTa、ERNIE等,发现它们在该数据集上的表现还有很大的提升空间。
下图是目前最新的C-Eval测评结果榜单:
首先,从测试结果上看,我认为ChatGLM2-6B超越GPT4是比较真实的,大家从榜单的具体成绩可以看出,ChatGLM2-6B主要赢在Social Science,Humanities 和 Others 这三项上。而这三项实际上和训练的语料关系是比较大的,其中的很多项目是和国家的国情相关的,而非世界通识。因此,虽然我们不知道GPT4的中文语料占比,但是按照GPT3.5来推测的话,中文语料应该不会超过2%。而ChatGLM2-6B的语料是以中文为主的,所以在这几项上ChatGLM2-6B也并不足为奇。
其次,ChatGLM2-6B的C-Eval评分高并不代表其中文能力已经超过GPT4了,因为大家看到了C-Eval测试其实就是单选题。做题做的好只能说明中文知识储备丰富,并不等于中文能力更强。这和我个人的测试体感也是相符的,即ChatGLM2-6B确实进步很大,但也就是类似Vicuna-13B英文这个级别的能力。如果加上多轮对话和更复杂的任务,GPT4还是完胜。
加速推理方面,ChatGLM2-6B主要应用了Multi-Query Attention技术。Multi-Query Attention 是一种新颖的注意力机制,它可以有效地提高 Transformer 模型的推理速度,同时保持高质量的序列表示。它的核心思想是将多个注意力头的键和值合并为一个共享的张量,从而减少了内存访问的开销。这样,每个注意力头只需要计算自己的查询向量,然后与共享的键和值进行点积运算,得到输出向量。Multi-Query Attention 可以看作是一种权衡,它牺牲了一些模型的容量和表达能力,换取了更快的推理速度和更低的资源消耗。在官方的模型实现下,推理速度相比初代提升了 42%,INT4 量化下,6G 显存支持的对话长度由 1K 提升到了 8K。
本次的效率提升还是挺大的,确实降低了其使用门槛。再加上其又放松了模型的开源限制,目前是可以有限制的商用的。因此,其实在很多类似客户或者文档问答的任务中,目前已经可以考虑用ChatGLM2-6B来代替GPT3.5了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。