微软官宣放出一个「小模型」,仅2.7B参数,击败Llama2和Gemini Nano 2

2023-12-20 08:28

本文主要是介绍微软官宣放出一个「小模型」,仅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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/515372

相关文章

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

一文详解PostgreSQL复制参数

《一文详解PostgreSQL复制参数》PostgreSQL作为一款功能强大的开源关系型数据库,其复制功能对于构建高可用性系统至关重要,本文给大家详细介绍了PostgreSQL的复制参数,需要的朋友可... 目录一、复制参数基础概念二、核心复制参数深度解析1. max_wal_seChina编程nders:WAL

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

史上最全nginx详细参数配置

《史上最全nginx详细参数配置》Nginx是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用代理服务器(TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人IgorSyso... 目录基本命令默认配置搭建站点根据文件类型设置过期时间禁止文件缓存防盗链静态文件压缩指定定错误页面跨域问题

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@