阿里巴巴最近开源了一个320亿参数的大语言模型Qwen1.5-32B,网上都说很强很强,那么它到底强在哪里呢?

更高的性价比

Qwen1.5-32B中的B是billion的意思,也就是10亿,32B就代表320亿参数量。

阿里之前还开源过一个大模型Qwen-1.5-72B,72B就代表720亿参数量。

相比之前开源的Qwen-1.5-72B,Qwen1.5-32B参数少了一多半,但是测试表现并没有相差多少。

大语言模型文件中的主要内容就是参数,参数少了一半,模型的文件大小也会小一半,那么加载到显存时占用的空间也会小一半。大家可能都知道现在显卡比较紧俏,我特地到京东查了一下,消费级的3090在8K左右,4090已经飙升到了1.5个W左右。

显存占用小一半就可以使用更少数量的显卡或者更低显存的显卡,这无疑会节省很多成本,而且模型的表现相比之前的大块头也没有多少明显的损失,所以用户能获得更高的性价比。

性能测试优良

上边提到Qwen1.5-32B的性能测试表现还不错,那么这个不错到底表现在哪里呢?

这里我找到一张测试结果的图表:

之前我看这些图表时都比较懵逼,主要就看谁的分数高,分高就是好,但是具体好在哪里也说不清楚。

这次我特地去查询了这些指标代表的含义,总算是搞明白了,特别分享给大家。

这些分数对应的每一列都是一个数据集,所谓数据集就是一些问题的集合,用它们来考察大模型应对各种问题的处理能力。这些数据集通常是知名大语言模型研究机构发布的,比较权威。

  • MMLU(Massive Multitask Language Understanding): 多领域知识理解,考察的是综合能力。涵盖57个不同领域的多项选择题,包括历史、文学、科学、工程技术等多个学科。使用这个数据集能评估模型的泛化能力,就是用它解决没有训练过的问题,或者说新问题,看看它的表现如何。
  • CMMLU: 中文场景的多领域知识理解。由MBZUAI、上海交通大学、微软亚洲研究院共同推出,包含67个主题,涉及自然科学、社会科学、工程、人文以及常识等,专门用于评估语言模型在中文语境下的知识和推理能力。
  • C-Eval: 中文能力评估。由上海交通大学、清华大学和爱丁堡大学的研究人员在2023年5月联合推出。包含13948个多项选择题,涵盖了52个不同的学科和四个难度级别。
  • GSM8K (Google's Standard Math Dataset 8K): 解决数学问题的能力。Google开发的一个数学问题求解数据集,包含大约8,000个高中到大学水平的数学问题。
  • MATH: 解决数学问题的能力,类似于GSM8K。包含初等代数,代数,数论,计数和概率,几何,中等代数和微积分等领域的多种数学问题,用LaTeX格式编写。
  • MBPP (Mathematics Benchmarks for Pretrained Models): 数学推理和问题解决能力。包含一系列需要模型生成数学表达式或文字解答的数学问题。
  • HumanEval: 编程能力。由OpenAI创建,专为评估代码生成模型的有效性。包含数百个编程题目及其解决方案。
  • BBH (Big-Bench Hard): 复杂语言理解能力。由Google、斯坦福等研究人员开发的数据集,包含大量复杂语言理解任务的集合,可能包含需要深度推理、常识运用或复杂认知技能的任务。

有了对这几个指标的理解,我们可以看到Qwen1.5-32B和Qwen1.5-72B的能力相差无几,在理解复杂语言的能力上还略胜一筹,不知道是不是学习了百度弱智吧的问题。

在这个对比图表上还有几个模型,我特别介绍下:

  • Llama2-34B:Llama是Meta公司(也就是facebook)开源的一个大预言模型,有了Llama的开源,才有了国内大模型的百花齐放,否则大家还得摸索一阵。不过从这张图表上可以看出,Llama的这个模型已经落后了,普遍落后于其他模型,真是青出于蓝而胜于蓝。
  • Yi-34B:这个据称是自研成功的开源大语言模型,也是在Llama开源后推出的,自然是借鉴了Llama,只不过不清楚借鉴了多少。这个模型是李开复老师投资的零一万物开发出来的,也是300多亿的参数,综合能力还不错,只是数学能力和解决复杂问题的能力比Qwen差一点。
  • Mixtral-8x7B:一款高质量的稀疏专家混合模型,是一个欧洲公司开发的。这里的混合模型说的是其内部有多个子模型,比如有的擅长数学,有的擅长法语,有的擅长代码生成,等等。在生成Token时,Mixtral-8x7B会选择两个内部的专家子模型进行生成,每个专家子模型的参数是6B,所以它会比普通的300亿参数处理的更快。从图表对比可以看出其在数学和编程方面的能力还是挺不错的。

很多同学对国内大语言模型与GPT的差距也比较关心,我找到了一个Qwen1.5-72B和GPT-4的能力对比图,如下所示,可以看到差距还是很明显的,在数学、编程、复杂问题处理等方面都有着很大的提升空间。当然我们一直在追赶,只是别人也在进步,有人说这个差距是1年,也有人说是2年,你怎么看呢?

实测体验

指标上的表现并不能代表全部,我们用最近热议的“弱智吧”问题来测试一下。

“弱智吧”是一个百度贴吧,里边充满荒谬、离奇、不合常理的发言,研究者发现使用这里边的问题训练大语言模型能获得比较好的逻辑能力。

这里使用的工具是我在AutoDL上分享的一个镜像实例,这个镜像基于开源项目 text-generation webui,在这个webui中可以体验多种大语言模型。

创建实例

如果你也想实际测试一下,可以按照下面的步骤创建一个容器实例。

首先注册一个账号,AutoDL的访问地址:https://www.autodl.com

创建实例时:地区选择“西北B区”,网络比较稳定;因为镜像安装的大模型需要24G显存,所以显卡需要选择3090或者4090;GPU数量只需要1个就能跑起来。

镜像选择“社区镜像”,输入 yinghuoai-text-generation-webui ,即可找到这个镜像。

实例启动后,在服务器实例列表中点击“JupyterLab”,进入一个Web页面。

在JupyterLab页面中打开“启动器”,这个镜像会安装3个大模型,默认启动的是Qwen-32B,这实际上是一个4bit的量化模型,只需要24G的显存就能跑起来,但是相比原版的32B性能略有下降,不过也够用了。原版的32B需要数倍的显存,AutoDL上跑起来成本太高。

启动成功后,我们可以看到一个Gradio的链接,点击就会在浏览器打开 text-generation-webui。

另外 text-generation-webui 还支持通过API访问大模型,API定义兼容OpenAI协议,有兴趣的可以体验下。

体验Qwen-32B

进入后需要先设置一下角色,在参数(Parameters)页签中,选择“AI助理”。这个AI助理是我创建的,方便进行中文对话。

在聊天(Chat)页签的右侧,有一个“Mode”,定义了大模型处理提示词的模式,需要选择“chat-instruct”。

然后我们就可以和它聊天了,如下是弱智吧的3个经典问题。可以看到,只有“生鱼片是死鱼片”这个问题回答的不太好,大模型好像不太能理解生鱼片的生到底是什么意思。

正常应该怎么回答呢?我先到阿里的“通义千问”上问了一下,感觉也没太能回答到点上,毕竟师出同门,训练用的语料应该都差不多。

然后我又找了一个GPT-4的应用问了一下。GPT-4倒是准确把握住了“生”和“死”的含义,只是它回答的不是那么直接,大家看图片中的内容吧。

在测试数据集的评测中,Qwen1.5-32B的中文处理能力是明显高于GPT-4的,但是“生鱼片是死鱼片”这个问题的确没有回答好,这是模型的泛化能力不足,还是训练语料的问题呢?对于这个问题,你怎么看?

模型下载

Huggingface:

https://huggingface.co/Qwen

Huggingface镜像站:

https://hf-mirror.com/Qwen

AI快站:

https://aifasthub.com/models/Qwen


以上就是本文的主要内容。

阿里开源的32B大模型到底强在哪里?的更多相关文章

  1. 阿里开源新一代 AI 算法模型,由达摩院90后科学家研发

    最炫的技术新知.最热门的大咖公开课.最有趣的开发者活动.最实用的工具干货,就在<开发者必读>! 每日集成开发者社区精品内容,你身边的技术资讯管家. 每日头条 阿里开源新一代 AI 算法模型 ...

  2. 千亿参数开源大模型 BLOOM 背后的技术

    假设你现在有了数据,也搞到了预算,一切就绪,准备开始训练一个大模型,一显身手了,"一朝看尽长安花"似乎近在眼前 -- 且慢!训练可不仅仅像这两个字的发音那么简单,看看 BLOOM ...

  3. 对比7种分布式事务方案,还是偏爱阿里开源的Seata,真香!(原理+实战)

    前言 这是<Spring Cloud 进阶>专栏的第六篇文章,往期文章如下: 五十五张图告诉你微服务的灵魂摆渡者Nacos究竟有多强? openFeign夺命连环9问,这谁受得了? 阿里面 ...

  4. 华为高级研究员谢凌曦:下一代AI将走向何方?盘古大模型探路之旅

    摘要:为了更深入理解千亿参数的盘古大模型,华为云社区采访到了华为云EI盘古团队高级研究员谢凌曦.谢博士以非常通俗的方式为我们娓娓道来了盘古大模型研发的"前世今生",以及它背后的艰难 ...

  5. AI大模型学习了解

    # 百度文心 上线时间:2019年3月 官方介绍:https://wenxin.baidu.com/ 发布地点: 参考资料: 2600亿!全球最大中文单体模型鹏城-百度·文心发布 # 华为盘古 上线时 ...

  6. JVM 性能调优实战之:使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码

    本文是<JVM 性能调优实战之:一次系统性能瓶颈的寻找过程> 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 提升到 20 (提升了 7 倍) ...

  7. Android热修复之 - 阿里开源的热补丁

    1.1 基本介绍 我们先去github上面了解它https://github.com/alibaba/AndFix 这里就有一个概念那就AndFix.apatch补丁用来修复方法,接下来我们看看到底是 ...

  8. 初识阿里开源诊断工具Arthas

    上个月,阿里开源了一个名为Arthas的监控工具.恰逢近期自己在写多线程处理业务,由此想到了一个问题. 如果在本机开发调试,IDE可以看到当前的活动线程,例如IntelliJ IDEA,线程是运行还是 ...

  9. 使用阿里开源工具 TProfiler 在海量业务代码中精确定位性能代码 (jvm性能调优)

    技术交流群:233513714 本文是<JVM 性能调优实战之:一次系统性能瓶颈的寻找过程> 的后续篇,该篇介绍了如何使用 JDK 自身提供的工具进行 JVM 调优将 TPS 由 2.5 ...

  10. 重磅发布:阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell

    原文地址:https://yq.aliyun.com/articles/694603 本文作者:阿里开源  本文来自云栖社区合作伙伴"阿里系统软件技术",了解相关信息可以关注&qu ...

随机推荐

  1. 【Azure 应用服务】Azure Function App在部署时候遇见 503 ServiceUnavailable

    问题描述 在VS Code中编写好 Azure Function App代码后,通过  func azure functionapp publish 部署失败,抛出 503 Service Unava ...

  2. 【Azure 应用服务】如何查看App Service中的私网IP地址?

    问题描述 在使用App Service服务时,可以通过Azure 门户中的属性功能查看出站IP列表. 如果把App Service与虚拟网络(VNET)集成后,它就可以直接访问虚拟网络内部资源,那么如 ...

  3. husky 7.0.4 git hooks 前端 commit 钩子 git转svn [已解决]

    husky 7 的安装,注意下版本 第一步 安装 cnpm install husky@7.0.4 --save-dev 第二步 在package.json script加入 "prepar ...

  4. 32位数字电位器AD5228使用及调试总结

    一 概念 什么是数字电位计? 数字电位器(Digital Potentiometer)亦称数控可编程电阻器,是一种代替传统机械电位器(模拟电位器)的新型CMOS数字.模拟混合信号处理的集成电路.数字电 ...

  5. 恒玄科技BES2500芯片OTA升级调试总结和源码分析

    一 前言 bes2500芯片在tws耳机应用十分广泛,该芯片有着资源强大,音质好,大厂背书等特色.吸引了不少粉丝跟随. 最近在调试该芯片的ota功能,花费了一些时间,踩了一些坑,这里做一个总结和备忘吧 ...

  6. Android 关于Dialog在全屏弹出会显示状态栏和导航栏的问题解决

    项目的奇葩需求,需要弹出Dialog不要显示状态栏和导航栏,记录一下解决方法 原文地址:Android 关于Dialog在全屏弹出会显示状态栏和导航栏的问题解决 Stars-one的杂货小窝 说明 A ...

  7. AOSP源码编译—交换空间扩容

    编译AOSP源码的时候会出现提示如下: 意思是需要16G左右的内存(实际上编译会超过16G),而我们之前安装Ubuntu的时候只分配了8G,编 译一定会失败!此时需要添加虚拟内存(swap交换空间) ...

  8. Spring Boot学习日记8

    学习了yaml文件的配置 <server> <port>8081<port> </server> # k-v键值对 name: xiaoqi #相当于n ...

  9. App启动流程

    目录介绍 1.什么是Zygote进程 1.1 简单介绍 1.2 各个进程的先后顺序 1.3 进程作用说明 2.Zygote进程的启动流程 2.1 源码位置 2.2 ZygoteInit类的main方法 ...

  10. 如何理解UDP 和 TCP? 区别? 应用场景?

    一.UDP UDP(User Datagram Protocol),用户数据包协议,是一个简单的面向数据报的通信协议,即对应用层交下来的报文,不合并,不拆分,只是在其上面加上首部后就交给了下面的网络层 ...