只有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

相关文章

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Java慢查询排查与性能调优完整实战指南

《Java慢查询排查与性能调优完整实战指南》Java调优是一个广泛的话题,它涵盖了代码优化、内存管理、并发处理等多个方面,:本文主要介绍Java慢查询排查与性能调优的相关资料,文中通过代码介绍的非... 目录1. 事故全景:从告警到定位1.1 事故时间线1.2 关键指标异常1.3 排查工具链2. 深度剖析:

Python lambda函数(匿名函数)、参数类型与递归全解析

《Pythonlambda函数(匿名函数)、参数类型与递归全解析》本文详解Python中lambda匿名函数、灵活参数类型和递归函数三大进阶特性,分别介绍其定义、应用场景及注意事项,助力编写简洁高效... 目录一、lambda 匿名函数:简洁的单行函数1. lambda 的定义与基本用法2. lambda

深入解析Java NIO在高并发场景下的性能优化实践指南

《深入解析JavaNIO在高并发场景下的性能优化实践指南》随着互联网业务不断演进,对高并发、低延时网络服务的需求日益增长,本文将深入解析JavaNIO在高并发场景下的性能优化方法,希望对大家有所帮助... 目录简介一、技术背景与应用场景二、核心原理深入分析2.1 Selector多路复用2.2 Buffer

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析