微软官宣放出一个「小模型」,仅2.7B参数,击败Llama2和Gemini Nano 2
就在前一阵谷歌深夜炸弹直接对标 GPT-4 放出 Gemini 之后,微软这两天也紧锣密鼓进行了一系列动作。尽管时间日趋圣诞假期,但是两家巨头硬碰硬的军备竞赛丝毫没有停止的意思。
就在昨日,微软官宣放出一个“小模型” Phi-2,这个 Phi-2 仅有 27 亿的参数(注意不是 27 B),但却在参数规模小于 13B 的模型中达到了最先进性能,利用微软在模型扩展与训练数据管理方面的创新,Phi-2 的性能可以直接匹敌参数量超过其 25 倍的模型!
要说 Phi-2,其最大的亮点就在于“小模型”+“高性能”,27 亿的参数量在现在成千上万亿参数的模型中显得格外亮眼,“模型小”将直接支持 Phi-2 可以在笔记本电脑、手机等移动设备上运行。
同时,划重点,“小模型”也可以支持科研人员在不需要昂贵计算设备的情况下在各个相关领域进行科学研究(妈妈再也不用担心实验室没有显卡啦)。
如下图所示,在BBH、常识推理、语言理解、数学、代码等多个领域,2.7B 的 Phi-2 都展现了超过 13B 的 Llama-2 与 7B 的 Mistral 的性能。甚至对比参数量相差近 25 倍的 70B Llama-2,在多个领域 Phi-2 都展现了接近甚至超越 Llama-2 的能力。
而直接对标 Gemini Nano 2,哪怕参数量比 Gemini 少了五个亿,但是 Phi-2 也近乎全线优于 Gemini Nano 2。
此外,在发布会中,微软 CEO 甚至对谷歌贴脸放大——什么?听说在谷歌的演示视频里 Gemini Ultra 可以解决物理问题,不好意思,我 2.7B 的模型 Phi-2 也可以。
而如果更进一步向 Phi-2 输入错误的解题步骤与答案,Phi-2 也可以识别出错误并予以纠正。
Phi-2 是微软之前调整的“微软喜欢小模型(SLM)”战略的产物,在今年 6 月,微软发布了一篇 “All You Need”格式的论文:《Textbooks Are All You Need》,使用了一种更加类似“编写高质量教科书让模型快速学习”的思想,使用高质量的教科书级的数据训练得到了仅仅 1.3 B 的“小模型” Phi-1,在多个评测数据集中取得了极高的正确率。
延续这条“以数据为中心”的思路,微软陆续发布了 Ocra、Phi-1.5 等等在应用“数据管理”等技术训练的“小模型”,而 Phi-2 也正是这条技术进路的接续之作。
作为一个“小模型”,Phi-2 在 96 个 A100 GPU 上训练了 14 天,且没有使用 RLHF 进行对齐。但是,由于良好的数据质量与数据管理,Phi-2 在毒性方面仍然领先不少其他经过 RLHF 的模型。
击败Gemini Ultra
除了 Phi-2 微软 cue 了谷歌 Gemini 以外,微软针对谷歌 Gemini 发布时所说的在“在 MMLU 基准测试中取得 SOTA”也展开了反击。在 Gemini 发布时,曾称 Gemini Ultra 以 90% 的正确率在大规模多任务语言理解数据集中击败 GPT-4 取得 SOTA。
但是微软这两天反击称谷歌在发布信息时存在误导,Gemini Ultra 使用了更加复杂的 Prompt 形式,而如果仅仅使用标准的 Prompt,Gemini Ultra 的表现将比 GPT-4 差,而如果,GPT-4 使用前两天微软刚刚提出的 Medprompt 方法,那么就会击败 Gemini 获得一个新 SOTA:
当然,emmmm 不过这个 90.1% 的新 SOTA 似乎有为了 SOTA 而 SOTA 之嫌,以 0.06% 的“巨大优势”击败谷歌(手动狗头)。
除了 MMLU,微软还发布了其他基准测试的结果,使用简单的 Prompt 与 Gemini Ultra 的性能进行比较,GPT-4 也显著优于 Gemini Ultra:
在这其中,微软使用的新的 Prompt 策略 Medprompt,最初是专为医疗垂直领域设计的 Prompt,通过集成“动态示例选择”,“自生成 CoT”以及“选择随机集成”方法,在医疗领域的多个数据集中取得了 SOTA。
而其中,动态示例选择在于对于每个问题,选择之前收集得到的类似示例为模型提供上下文,而自生成 CoT 则从之前的训练数据中自动生成 CoT Prompt 加强模型的推理能力。最后选择随机集成以多数投票的方式选择最佳答案。
在应用中,微软的研究人员逐渐发现这套思路不仅仅局限于医疗领域中,也适用于更加通用的任务之中,因此对标 Gemini Ultra 进行了一系列实验取得了良好的效果。
看着这世界 AI 的两大巨头你来我往高手过招,你对标我我嘲讽你,对我们吃瓜群众来说倒也不失一场好戏,至于谷歌和微软在这场类似苏联和美国登月竞赛的对拼中谁能走的更远?大模型技术又能被他们推向什么样的高度,且就让我们静静等待吧!
相关文章:

微软官宣放出一个「小模型」,仅2.7B参数,击败Llama2和Gemini Nano 2
就在前一阵谷歌深夜炸弹直接对标 GPT-4 放出 Gemini 之后,微软这两天也紧锣密鼓进行了一系列动作。尽管时间日趋圣诞假期,但是两家巨头硬碰硬的军备竞赛丝毫没有停止的意思。 就在昨日,微软官宣放出一个“小模型” Phi-2,这个 Ph…...

成为一名FPGA工程师:面试题与经验分享
在现代科技领域,随着数字电子技术的迅猛发展,FPGA(可编程逻辑器件)工程师成为了备受瞩目的职业之一。FPGA工程师不仅需要掌握硬件设计的基本原理,还需要具备良好的编程能力和解决问题的实践经验。面对如此竞争激烈的行…...

关于“Python”的核心知识点整理大全35
目录 13.3.4 重构 create_fleet() game_functions.py 13.3.5 添加行 game_functions.py alien_invasion.py 13.4 让外星人群移动 13.4.1 向右移动外星人 settings.py alien.py alien_invasion.py game_functions.py 13.4.2 创建表示外星人移动方向的设置 13.4.3 检…...
C++ opencv RGB三通道提升亮度
#include <iostream> #include <iomanip> #include<opencv2//opencv.hpp> using namespace std; using namespace cv; //函数adjustBrightness用于图片增加亮度 void adjustBrightness(cv::Mat& image, int targetBrightness) { // 获取图像的通道数…...

TCAX特效字幕保姆入门教程+效果演示+软件源码自取
目录 介绍 下载链接 初步使用 软件使用 tcc文件介绍 tcc文件版本 模式设置 编辑 k值提供方式举例 特效脚本设置 主要设置 ass全局风格设置 额外设置 常见问题 编码使用 使用其他tcax博主的进行编码测试 介绍 TCAX是一款专门用于制作特效字幕的软件。通过TCAX…...

【C语言】自定义类型:结构体深入解析(二)结构体内存对齐宏offsetof计算偏移量结构体传参
文章目录 📝前言🌠 结构体内存对齐🌉内存对齐包含结构体的计算🌠宏offsetof计算偏移量🌉为什么存在内存对⻬?🌠 结构体传参🚩总结 📝前言 本小节,我们学习结构的内存对…...

活动回顾 (上) | 2023 Meet TVM 系列活动完美收官
作者:xixi 编辑:三羊、李宝珠 2023 Meet TVM 年终聚会于 12 月 16 日在上海圆满落幕,本次 meetup 不仅邀请到了 4 位 AI 编译器专家为大家带来了精彩的分享,还新增了圆桌讨论环节,以更多元的视角和各位共同讨论大模型…...

JMeter常见配置及常见问题修改
一、设置JMeter默认打开字体 1、进入安装目录:apache-jmeter-x.x.x\bin\ 2、找到 jmeter.properties,打开。 3、搜索“ languageen ”,前面带有“#”号.。 4、去除“#”号,并修改为:languagezh_CN 或 直接新增一行&…...

描述一个bug及定义bug的级别
(一)描述一个bug 描述一个bug,需要以下几个因素: 故障标题、故障发现的版本、故障类别(功能/兼容/界面)、故障优先级、故障描述(测试环境、测试步骤、预期结果、实际结果)。 举个例…...

Java项目-瑞吉外卖项目优化Day3
前后端分离开发 Yapi 是一个接口结合了接口测试、接口管理的管理平台,需要配置比较麻烦。看弹幕说用apifox更好用。可以将接口文档导出导入。 Swagger 注意下面的地址前面要有/。 效果: 可以在这里实现接口的测试,也可以导出文档等等。一般…...
测试理论知识四:大型软件的测试技巧——单元测试
1. 模块测试/单元测试 模块测试也被称为单元测试,本文章称单元测试为主。 对于小的程序测试,我们可以在一定时间内完成,如果面对的是大型程序,等程序开发完成之后我们再进行测试,那会大大降低我们的效率。 单元测试…...

安防监控系统/磁盘阵列/视频监控EasyCVR平台微信推送步骤大公开
视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等,视频智能分析平台EasyCVR融合性强、开放度…...

算法与数据结构--特殊有序集的线性时间排序算法
一.计数排序算法 基本思想:统计每个输入元素的个数,然后根据这些计数值重构原数组。 使用范围:需要知道元素大小范围,就是最大值是多少。 【排序算法】计数排序_哔哩哔哩_bilibili 二.基数排序 使用场景:只适用于…...
windows 动态库和静态库 介绍
在Windows平台上,动态库和静态库都是用于组织和共享代码的方式。这些库文件的扩展名和用途有一些区别。 1. 静态库和动态库 静态库(Static Library): 文件扩展名:.lib在编译链接时,静态库的代码被直接嵌入…...

微软官方镜像下载大全(windows iso 官方镜像)
原本只是想下一个Windows Server 2022中文版的镜像,后面发现要么就是慢得一批的某盘,要么就是磁力,我想直接下载简简单单,找了一圈没有找到。官网下载需要注册、登录乱七八糟,最终终于找到下载方法了,适用于…...

ceph块存储学习
目录 ceph的组件和功能 ceph的数据读写流程 ceph存储池学习 ceph的组件和功能 Ceph OSD:功能是存储数据,处理数据的复制、恢复、平衡数据分布,并将一些相关数据提供给Ceph Monitor,。 Ceph Monitor: 功能是维护整个集群健康状态&…...

开发模型和测试模型
1. 开发模型 1.1 瀑布模型 瀑布模型是其他模型的基础框架 start—>需求分析---->计划----->设计----->编码----->测试----->End(其实就是软件开发的生命周期) 特点:线性的开发流程 缺陷:测试被后置。①风险往…...

Kubectl 部署简单应用
创建新服务 kubectl create deployment kubernetes-bootcamp --imagegcr.io/google-samples/kubernetes-bootcamp:v1 查看 kubectl get deployments 打开新的终端执行 kubectl proxy 此时,切回上一个终端,通过 kubectl get pods 可查看已部署好的pod。并…...

Flink电商实时数仓(三)
DIM层代码流程图 维度层的重点和难点在于实时电商数仓需要的维度信息一般是动态的变化的,并且由于实时数仓一般需要一直运行,无法使用常规的配置文件重启加载方式来修改需要读取的ODS层数据,因此需要通过Flink-cdc实时监控MySql中的维度数据…...

四种消息队列,如何选型
这篇文章,主要讲述 Kafka、RabbitMQ、RocketMQ 和 ActiveMQ 这 4 种消息队列的异同,无论是面试,还是用于技术选型,都有非常强的参考价值。 01 消息队列基础 1.1 什么是消息队列? 消息队列是在消息的传输过程中保存消…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...

leetcode73-矩阵置零
leetcode 73 思路 记录 0 元素的位置:遍历整个矩阵,找出所有值为 0 的元素,并将它们的坐标记录在数组zeroPosition中置零操作:遍历记录的所有 0 元素位置,将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...