前几天Meta开源发布了新的Llama大语言模型:Llama-3系列,本次一共发布了两个版本:Llama-3-8B和Llama-3-70B,根据Meta发布的测评报告,Llama-3-8B的性能吊打之前的Llama-2-70B,也就是说80亿参数的模型干掉了700亿参数的模型,这个还真挺让人震惊的。

Llama-3-8B真的有这么强吗?

鉴于8B的模型可以在24G显存下流畅运行,成本不高,我就在AutoDL上实际测试了一下。

测试方案

使用的是我之前在AutoDL上发布的一个大语言模型WebUI镜像:yinghuoai-text-generation-webui (这个WebUI可以对大语言模型进行推理和微调),显卡选择的是 4090D 24G显存版本,使用三个问题分别测试了 Llama-3-8B-Instruct(英文问答)、Llama-3-8B-Instruct(中文问答)、llama3-chinese-chat、Qwen1.5-7B-Chat。其中llama3-chinese-chat是网友基于Llama-3-8B-Instruct训练的中文对话模型,项目地址:https://github.com/CrazyBoyM/llama3-Chinese-chat

三个问题分别是:

  1. 小明的妻子生了一对双胞胎。以下哪个推论是正确的?
    1. A.小明家里一共有三个孩子
    2. B.小明家里一共有两个孩子。
    3. C.小明家里既有男孩子也有女孩子
    4. D.无法确定小明家里孩子的具体情况
  1. 有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?
  2. 请使用C#帮我写一个猜数字的游戏。

这三个问题分别考察大语言模型的逻辑推理、数学计算和编码能力。当然这个考察方案不怎么严谨,但是也能发现一些问题。

因为Llama-3的中文训练语料很少,所有非英语的训练数据才占到5%,所以我这里对Llama-3-8B分别使用了中英文问答,避免因中文训练不足导致测试结果偏差。

测试结果

鸡兔同笼问题

Llama-3-8B-Instruct(中文问答)

首先模型没有搞清楚鸡和兔的脚的数量是不同的,其次模型解方程的能力也不怎么行,总是算不对。

另外还是不是飙几句英语,看来中文训练的确实不太行。

Llama-3-8B-Instruct(英文问答)

搞清楚了不同动物脚的数量问题,但是还是不会计算,有时候方程能列正确,但是测试多次还是不会解方程组。

llama3-chinese-chat

中文无障碍,数学公式也列对了,但是答案是错的,没有给出解答过程。实测结果稳定性也比较差,每次总会给出不一样的解答方式。

Qwen1.5-7B-Chat

中文无障碍,答案正确,解答过程也基本完整。

小明家孩子的情况

Llama-3-8B-Instruct(中文问答)

答案不正确,解释的也不全面,没有说明其它答案为什么不正确。

Llama-3-8B-Instruct(英文问答)

答案正确,但是分析的逻辑有缺陷,没有完全说明白,只谈到性别问题,数字逻辑好像有点绕不清。

llama3-chinese-chat

答案错误,逻辑是混乱的,前言不搭后语,没有逻辑性。

Qwen1.5-7B-Chat

答案是正确的,但是逻辑不太通顺,说着性别,就跳到数量上去了。

猜数字游戏编程

Llama-3-8B-Instruct(中文问答)

代码完整,没有明显问题,但是还是会冒英文。

Llama-3-8B-Instruct(英文问答)

代码完整,没有明显问题。

llama3-chinese-chat

代码正确,但是不够完整,还需要更多提示。

Qwen1.5-7B-Chat

代码完整,没有明显问题。

测试结论

根据上边的测试结果,有一些结论是比较明确的。

Llama-3-8B的中文能力确实不太行,最明显的是时不时会冒一些英文,更重要的是使用中文时输出的内容偏简单化,逻辑上不那么严谨。

网友训练的 llama3-chinese-chat 问题比较多,可能是训练数据不足,或者训练参数上不够优秀,回答问题过于简略,逻辑性不够,稳定性也不太行,经常输出各种不一样的答案。建议只是玩玩,可以学习下它的训练方法。

Llama-3-8B的逻辑分析和数学能力不太行?至少在回答上边的鸡兔同笼问题和小明家孩子的情况上表现不佳,这是什么原因呢?训练语料的问题?但是我使用Llama-3-70B时,它可以正确且圆满的回答这两个问题,这就是权重参数不够的问题了,8B参数的能力还是差点。

Llama-3-8B的英文能力总体感觉还可以,但实测也没有那么惊艳,总有一种缺少临门一脚的感觉,有点瑕疵。说它媲美或者超越百亿参数的模型,这个是存在一些疑虑的。

Qwen1.5-7B-Chat在这几个问题的表现上还不错,不过很可能是这几个问题都学的很熟练了,特别是鸡兔同笼问题,大语言模型刚刚火爆的时候在国内常常被拿来做比较使用。目前还没有完整的Llama-3和Qwen1.5的评测对比数据,Llama-3公开的基准测试很多使用了few-shot,也就是评估时先给出几个问答示例,然后再看模型在类似问题上的表现,关注的是学习能力。根据HuggingFace上公开的数据,仅可以对比模型在MMLU(英文综合能力)和HumanEval(编程)上的的表现,比较突出的是编程能力,如下面两张图所示:

企业或者个人要在业务中真正使用,感觉还得是百亿模型,准确性和稳定性都会更好,百亿之下目前还不太行,经常理解或者输出不到位,目前感觉70B参数的最好。

对于Llama-3-8B,如果你使用英文开展业务,又不想太高的成本,不妨试试,但是需要做更多增强确定性的工作,比如优化提示词、做些微调之类的,至于中文能力还得等国内的厂商们再努力一把,目前还不太行。


Llama-3的在线体验地址请移步这里:性能直逼GPT4,Llama3的三种在线体验方式。

Llama3-8B到底能不能打?实测对比的更多相关文章

  1. PYTHON解析XML的多种方式效率对比实测

    在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受. 在网络搜索后发现,目前应用比较广泛,且效率相对较高的E ...

  2. 横向对比分析Python解析XML的四种方式

    横向对比分析Python解析XML的四种方式 在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受. 在网络搜 ...

  3. GPS学习笔记

    预备知识 1. 卫星发送信号时,是以特定频率的电磁波为载波,调整信号到载波上的.多普勒效应就是,卫星和接收机是相对运动的,那么载波的频率会随运动距离发生改变.(<GPS测量与数据处理>p3 ...

  4. 不要再问我 in,exists 走不走索引了

    微信搜『烟雨星空』,获取最新好文. 前言 最近,有一个业务需求,给我一份数据 A ,把它在数据库 B 中存在,而又比 A 多出的部分算出来.由于数据比较杂乱,我这里简化模型. 然后就会发现,我去,这不 ...

  5. Arduino 极速入门系列 - 光控灯(3) - 光敏电阻、与电阻分压那些事

    继续是讲解基础原理,新手专用部分.这次讲光敏电阻,和用电阻分压.光电元器件有好几种,其中测光相关的元器件,常见的有光敏三极管和光敏电阻,我们这次光控灯用光敏电阻.在我们光控灯里面,将会使用它搭建出分压 ...

  6. 一场完美的“秒杀”:API加速的业务逻辑

    清晨,我被一个客户电话惊醒,客户异常焦急,寻问CDN能不能帮助他们解决“秒杀”的问题,他们昨天刚刚进行了“整点秒杀活动”,结果并发量过大,导致服务宕机,用户投诉. 为了理清思路,我问了对方三个问题: ...

  7. 设备指纹识别之User Agent 解析

    设备指纹识别之User Agent 解析User Agent 解析 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-4- ...

  8. Identity Server 4 - Hybrid Flow - MVC客户端身份验证

    预备知识 可能需要看一点点预备知识 OAuth 2.0 不完全简介: https://www.cnblogs.com/cgzl/p/9221488.html OpenID Connect 不完全简介: ...

  9. Yii2中mongodb使用ActiveRecord的数据操作

    概况  Yii2 一个高效安全的高性能PHP框架.mongodb 一个高性能分布式文档存储NOSQL数据库. 关于mongodb与mysql的优缺点,应该都了解过. mysql传统关系数据库,安全稳定 ...

  10. Python开发【笔记】:探索Python F-strings

    F-strings 在python3.6.2版本中,PEP 498 提出一种新型字符串格式化机制,被称为“字符串插值”或者更常见的一种称呼是F-strings(主要因为这种字符串的第一个字母是f) 简 ...

随机推荐

  1. sign 单词学习 - 本质:去分开

    sign 英[saɪn],美[saɪn] n. 符号; 指示牌; 手势; 征兆; 正负号; 星座 v. 签名; 签约; 打手语 词源说明(童理民) sign : 来自拉丁语signum,符号,标志,图 ...

  2. 关闭 nginx | taskkill /f /t /im nginx.exe

    stop.bat taskkill /f /t /im nginx.exe pause

  3. python 读取串口数据常用函数及实例分析

    前记: 人生苦短,我用python,python在做一些算法验证和接口验证方面,的确是非常的好用.读取串口经常用到,这里就做个总结,给自己和周围的人做个备忘吧. 函数解析: 初始化串口数据: impo ...

  4. HttpClient 详解

    作者:小白豆豆5链接:https://www.jianshu.com/p/14c005e9287c来源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 1.HTTP 请求创建 ...

  5. 【线段树】【leetcode 729. 我的日程安排表 I】

    class MyCalendar { class Seg { int l; int r; boolean val; Seg left; Seg right; public Seg(int x, int ...

  6. python高级技术(线程)

    一 线程理论 1 有了进程为什么要有线程 进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率.很多人就不理解了,既然进程这么优秀,为什么还要线程 ...

  7. 【GD32L233C-START】DAC输出(正弦波、锯齿波、方波)

    [GD32L233C-START]DAC输出(正弦波.锯齿波.方波) 1.介绍GD32L233C采用的是一款M23的内核.这个芯片据说功耗非常的低,低到什么程度呢?等后面我们再进行测试,今天我们主要来 ...

  8. 二.安装ifconfig命令

    二.安装ifconfig命令 1.ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig等 ...

  9. KingbaseES V8R6 集群运维案例--备库timeline not contain minimum recovery point故障

    ​ 案例现象: KingbaseES V8R6集群备库启动后,加入集群失败,sys_log日志信息提示,如下图所示: 适用版本: kingbaseES V8R6 一.问题分析 在timeline对应的 ...

  10. 使用sbt对Scala程序进行打包并运行(Spark单机运行)

    十.使用sbt对Scala程序进行打包并运行(Spark单机运行) 在./sparkapp 中新建文件 simple.sbt(vim ./sparkapp/simple.sbt),添加内容如下,声明该 ...