只有27亿参数,性能却高25倍!微软发布Phi-2

2023-12-13 10:52
文章标签 参数 性能 25 发布 微软 27 phi

本文主要是介绍只有27亿参数,性能却高25倍!微软发布Phi-2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

12月13日,微软在官方网站正式发布了,27亿参数的大语言模型—Phi-2。

Phi-2是基于微软的Phi-1.5开发而成,可自动生成文本/代码、总结文本、数学推理等功能。

虽然Phi-2的参数很小,性能却优于130亿参数的Llama-2和70亿参数的Mistral,以及谷歌最新发布的Gemini Nano 2。

值得一提的是,Phi-2没有进行过RLHF(人类反馈强化学习)和指令微调只是一个基础模型,但在多个任务评测中,其性能可以媲美或超过25倍参数的模型。

目前,微软已经开源了Phi-1.5和Phi-1,帮助开发者们深度研究和应用小参数模型。

Phi-1.5开源地址:https://huggingface.co/microsoft/phi-1_5

Phi-1开源地址:https://huggingface.co/microsoft/phi-1

Phi-1.5论文地址:https://arxiv.org/abs/2309.05463

图片

目前,大模型界有一个很怪的现象,就是出的模型参数越来越大,几百亿参数只能算刚入门,上千亿的比比皆是,有的模型甚至已经达到上万亿。

参数高的模型并非不好,而是要看应用场景。对于像微软、OpenAI、百度、科大讯飞这样的基础模型服务商来说,参数越高覆盖能力就越广,例如,ChatGPT已经进化到多模态,除了生成文本,还能生成图片听懂声音等。

图片

Phi-2评测数据

但参数高的模型同样也有很多缺点:过拟合,如果训练数据较差会出现能力不升反降的现象;算力成本巨大,用户每一次的提问都像是在“燃烧金钱”;预训练时间长,每一次模型的迭代需要耗费大量训练时间。

调优困难,高参数的模型拥有庞大且难控制的神经元,想进行部分功能调优和控制非常困难,最近变懒的GPT-4便是最好的案例。

所以,微软开发Phi系列模型的主要目的是研究,小参数模型如何在保证功能的前提下,也能与大参数的模型相媲美甚至超越,这对于企业和应用者来说是一个双赢的局面。

Phi-2简单介绍

Phi-2和Phi-1.5一样采用了24层的Transformer架构,每个头的维度为64,并使用了旋转嵌入等技术来提升模型性能。

Phi-2只是一个基础模型,没有进行过人类反馈强化学习和指令微调。但在文本生成、数学推理、代码编程方面丝毫不比大参数的模型差,甚至比他们更好。

图片

训练数据和流程方面,Phi-2使用了1.4T超高质量的“教科书级”数据进行了预训练,并非是网络爬取的杂乱、黑箱数据。微软表示,这也是小参数模型比大参数模型性能高的关键原因之一。

Phi-2 在 96 个 A100 GPU上一共训练了14天。

Phi-2实验数据

微软在MMLU、BBH、PIQA、WinoGrande、ARC easy、Challenge、SIQA和GSM8k等主流测试平台对Phi-2进行了测试。

图片

数据显示,在各种聚合基准上的测试超过了,Mistral -7B和Llama-2-13B。

值得一提的是,在多步推理测试任务中,例如,编码和数学,Phi-2的性能超过了700亿参数的Llama-2。

本文素材来源微软官网、Phi-1.5论文,如有侵权请联系删除

这篇关于只有27亿参数,性能却高25倍!微软发布Phi-2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

基于@RequestParam注解之Spring MVC参数绑定的利器

《基于@RequestParam注解之SpringMVC参数绑定的利器》:本文主要介绍基于@RequestParam注解之SpringMVC参数绑定的利器,具有很好的参考价值,希望对大家有所帮助... 目录@RequestParam注解:Spring MVC参数绑定的利器什么是@RequestParam?@

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在