ChatGLM2-6B发布,C-Eval超GPT4,支持32k上下文!

news2024/11/18 18:21:41

自清华大学数据挖掘实验室(THUDM)3月开源ChatGLM-6B已经过去了3个多月,最近他们又带来了性能全面提升的“船新”版本-ChatGLM2-6B。别看名字变化小,其实更新的模型性能是又有量又实用。不了解ChatGLM的小伙伴可以看我这篇文章(ChatGLM:一个开源的中英双语大语言模型)。

更新要点

惯例,我们先总结下本次的更新要点:

  • 上下文从2k扩展到了32k:这个更新在整个LLM开源届都是相当炸裂,目前绝大多数开源模型的上下文都只有2k,而GPT3.5已经升级到了16k,GPT4目前支持8K,Claude的特殊版本极限可以支持100k。因此仅就多轮对话能力来讲,开源模型和私有模型还存在代差。而这次ChatGLM2的上下文直接提升到了32k,直接到了私有模型水平,无疑是极大的提高了模型的多轮对话能力。当然,不出意外,很快开源模型的上下文能力就会有整体提升了,具体原因后面再展开说。

  • 性能极大提升,C-Eval超GPT4:ChatGLM2-6B 使用了 GLM 的混合目标函数,经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,基座模型获得了极大的提升。在 MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等数据集上的性能取得了大幅度的提升。这里尤其耀眼的是CEval(这是一个由上海交通大学语言智能技术实验室提出的中文基础模型评估套件)成绩,ChatGLM2-6B目前已经超越了GPT4,跃居榜首。这里简单解释下,CEval并不是一个没有含金量的大模型评估套件,相反在中文评估能力上CEval还是我认为目前最权威的指标之一。所以ChatGLM2-6B的CEval成绩超过GPT4确实提升巨大。但是,经过实际体验后,客观的说ChatGLM2-6B依然还和GPT4有一定差距,但是提升也确实很大。这并不是说CEval评估的不准,主要是一个评估的侧重点问题,这个也放到后续具体讨论。

  • 推理效率提高:在官方的模型实现下,推理速度相比初代提升了 42%,INT4 量化下,6G 显存支持的对话长度由 1K 提升到了 8K。说白了,使用门槛进一步降低了,本来ChatGLM就是入门显卡(如3060TI)玩大模型的最好选择,现在ChatGLM2-6B成了最好的上位替代。

  • 有条件的商业开源:ChatGLM2-6B 权重对学术研究完全开放,在获得官方的书面许可后,亦允许商业使用。虽然还是有条件的,但是还是开了商用的口子,下次说不定就完全商用开源了,在国内环境下,还是非常有魄力的。

简单谈谈GLM

这里我觉得还是有必要在简单介绍下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了。

结语

ChatGLM2-6B的发布无疑震撼了表面歌舞升平,实际死气沉沉的国产开源LLM社区。希望在ChatGLM2-6B的鲶鱼效应下,我们能看到越来越多,也越来越好的国产开源LLM。

!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/733857.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java基础之五 反射

通过Java反射机制,可以在程序中访问已经装载到JVM中的Java对象的描述,实现访问、检测和修改描述Java对象本身信息的功能。 通过反射可以访问的主要描述信息 访问成员变量 常用方法:getFields()、getField(String name)、getDeclaredFields()…

第 353 场LeetCode周赛

A 找出最大的可达成数字 签到题 class Solution { public:int theMaximumAchievableX(int num, int t) {return numt*2;} };B 达到末尾下标所需的最大跳跃次数 动态规划: 定义 p i p_i pi​为跳至 i i i处所需的最大跳跃次数, 有状态转移方程 p i m a x { p j 1 ∣ 0 ≤ j &…

文档管理:PaperPort Professional 14.7 Crack

文档管理变得简单 PaperPort Professional 快速、轻松地访问重要文档对于保持组织平稳运行至关重要。与其浪费时间在文件夹中搜索所需的文件,不如在PC上扫描,转换,组织,组装和共享文档和图像,或者更好的是,…

vue对于数组的数据监听变化和object是不一样的吗?

我们知道vue对于数组的数据监听变化和object是不一样的,因为我们常说的Object.defineProperty是对象上面的方法,所以对于array数组需要实现另外一套变化侦测机制。 今天我们就来研究下。 在哪里收集依赖 array数据设计了新的变化侦测机制,…

阿里云服务器架构X86计算、ARM、GPU/FPGA、裸金属和超级计算集群

阿里云服务器架构有什么区别?X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、超级计算集群有什么区别?阿里云服务器网分享云服务器ECS架构详细说明: 目录 阿里云服务器ECS架构说明 X86计算 ARM计算 GPU/FPGA/ASIC 弹性裸金属服务…

第八章:L2JMobius学习 – 游戏服务GameServer讲解

本章节我们来讲解GameServer服务,首先来查看它的文件结构 ai:游戏角色自动化处理,比如说,自动攻击。 cache:数据缓存,里面就一个HtmCache.java类,缓存HTML文件内容。 communitybbs:b…

【C语言】1-Visual C++ 2010 的简单使用和第一个 C 语言程序

1. Visual C++ 2010 的简单使用 1.1 面板介绍 1.2 新建C语言项目 打开 Visual C++ 2010,点击 New Project 根据下面的图示进行操作,其中需要注意 ③:这里输入的为项目名(建议和我的命名保持一致) ④:这里是项目存放的位置,可以自己选择,最好不要有中文路径(只要是使…

苹果用户要留意?女子FaceTime通话面临巨额骗局,损失高达160万

FaceTime通话是苹果提供的一项服务,可以让使用iOS、iPadOS设备或Mac电脑的用户进行视频或音频通话。只要知道对方的Apple ID,世界各地的苹果设备都可以通过该ID进行呼叫。 据报道,一名居住在上海金山的女性最近遭受了一种新型诈骗&#xff0c…

js逆向补环境-调试工具vscode与nodejs使用之无环境联调

目录 一、啊哈一、Nodejs安装1、nodejs最新版本的安装(windows)2、旧版nodejs更新成最新版本(windows)3、nodejs安装(linux) 二、vscode安装使用(windows)1、下载安装vscode2、vscode运行插件Code Runner安…

多元分类预测 | Matlab基于K近邻算法(KNN)的数据分类预测,多特征输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 基于K近邻算法(KNN)的数据分类预测,多特征输入模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程序可出分类效果图,迭代优化图,混淆矩阵图。 部分源码

MAYA粒子爆炸

创建粒子替代 中心归零 只有一种石头 particleShape1.shitourand(0,5); 设置石头大小 等比例变小 particleShape1.daxiao<<0.2,0.2,0.2>>; 使用变量代替 float $daxiaorand(0.2,0.5); particleShape1.daxiao<<$daxiao,$daxiao,$daxiao>>; 非等比例缩…

【国家标准】GB 7713-87 科学技术报告、学位论文和学术论文编写格式

目 录 1 引言 2 定义 2.1 科学技术报告 2.2 学位论文 2.3 学术论文 3 编写要求 4 编写格式 5 前置部分 5.1 封面 5.2 封二 5.3 题名页 5.4 变异本 5.5 题名 5.6 序或前言 5.7 摘要 5.8 关键词 5.9 目次页 6 主体部分 6.1 格式 6.2 序号 6.3 引言(或绪论)…

基于stm32单片机的智能家居环境监控系统

​一.硬件方案 智能家居环境监控系统的整体电路主要由stm32单片机最小系统&#xff0c;光MQ-2烟雾传感器电路&#xff0c;红外人体检测电路&#xff0c;DS18B20温度传感器&#xff0c;LCD1602显示电路&#xff0c;水泵驱动电路&#xff0c;风扇驱动电路&#xff0c;LED指示灯&…

传输方式的分类【图解TCP/IP(笔记五)】

文章目录 传输方式的分类面向有连接型和无连接型面向有连接型面向无连接型 电路交换与分组交换根据接收端数量分类单播&#xff08;Unicast&#xff09;广播&#xff08;Broadcast&#xff09;多播&#xff08;Multicast&#xff09;任播&#xff08;Anycast&#xff09; 传输方…

ModaHub魔搭社区:Zilliz Cloud快速开始教程(一)

目录 前提条件 创建 Collection 查看 Collection 插入数据 本教程涵盖以下 Zilliz Cloud 集群操作指南: 创建 Collection查看 Collection插入数据向量搜索、向量查询、通过 ID 获取 Entity删除 Entity删除 Collection 前提条件 在本文档中,我们将使用 Milvus 的 SDK。…

FL Studio21中文版DAW宿主软件

FL Studio21让你的计算机就像是全功能的录音室&#xff0c;漂亮的大混音盘&#xff0c;先进的创作工具&#xff0c;让你的音乐突破想象力的限制。你有着满腔的音乐才华&#xff0c;想要自己在家里发片吗&#xff1f;还是听 MOBY 的电子舞曲不过瘾&#xff0c;要再帮他做做 REMI…

Mybatis-plus——增删改查相关+id生成策略+多数据操作(删除)+逻辑删除+乐观锁+代码生成器

项目文件总览 Dao层中 domain层中 测试类中含有三个测试方法&#xff0c;分别对应&#xff0c;插入删除和修改 id生成策略 针对不同的场景使用不同的id,用到提供的一个注解TableId 在实体类中使用Tablefiled注解时可以看见有如下的多种策略 使用第一个AUTO策略 运行插入方法得…

Nuxt3 loyouts公共页面布局

1.目录结构 2.在app.vue入口处添加代码 注意&#xff1a;Header首字母我是大写的&#xff0c;然而页面并没有显示头部&#xff0c;只显示尾部 改为首字母小写才会有效

SWAT模型18项典型案例实践、EFDC模型建模方法

SWAT模型“十八般武艺”高阶研修 以18项典型的案例为主线&#xff0c;不仅能够从技术层系统掌握&#xff0c;还能更好的拓展与相关学科的融合创新应用&#xff0c;解决实际的问题&#xff0c;内容讲解具有技术深度与系统、普遍需求、热点创新、实际问题解决等特点&#xff0c;…

计算机组成原理课程论文: Intel 80386/80486 的体系架构调研

摘要 本文以Intel 80386/80486体系架构为研究对象&#xff0c;详细介绍了该体系架构的基本概念、特点和优势&#xff0c;分析了其在不同领域的应用情况&#xff0c;并对其未来的发展做出一定的展望和评价。 首先&#xff0c;我们介绍了研究背景和目的&#xff0c;阐述了Intel 8…