前几天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. vscode vue 鼠标Ctrl+单击 函数跳转 插件名称:vue-helper

  2. 学习笔记-涛讲F#(基础 II)

    目录 处理一堆数 组织代码(命名空间.模块) 使用联合重命名类型 类必须显式转换成接口 对象表达式 递归函数 CPS解决堆栈溢出 扩展一个类型 静态解析的类型参数 ref变量的实现原理及应用 F#资源 ...

  3. stm32 中断处理函数注意事项

    一 前记 最近在公司的一个项目中碰到一个解决了定位很久的 bug , bug 找到的时候发现犯了很低级的错误--在中断处理函数中调用了 printf 函数,因为中断处理函数的调用了不可重入函数,导致接 ...

  4. KTL 最新版

    K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL Core ...

  5. Hibernate之Criteria

      1,Criteria Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,下面提供了 Criteria和DetachedCriteria . ...

  6. 软件开发、持续集成(CI)、持续交付(CD)、持续部署(CD) 和 版本管理(Version Control) 的理解和思考

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  7. 【Unity渲染】一文看懂!Unity通用渲染管线URP介绍

    一.Unity通用渲染管线(URP) Unity 的渲染管线包含内置渲染管线.SRP.URP和HDRP.自从Unity2019.3开始,Unity将轻量级渲染管线修改为了通用渲染管线,这是一种快速.可 ...

  8. AXI4协议的物理模型

    AXI4的物理传输模型 1.AXI4的组成部分 首先说一下文章是学习<基于AXI4的IP核互联的设计与验证>莫锦辉的学习笔记.文中大部分的知识都是来源于这篇论文,这里学习以便理解AXI4协 ...

  9. Windows系统使用ODBC驱动访问KingaseES数据库及常见问题解决

    Windows系统使用KingbaseES ODBC驱动访问KingaseES数据库及常见问题解决. 一.获取KingbaseES数据库ODBC驱动: 在官网下载KingbaseES数据库安装包,选择 ...

  10. Scala 递归和尾递归

    1 package com.atguigu.function 2 3 object Recursion { 4 def main(args: Array[String]): Unit = { 5 // ...