谢谢微软,又又又Open了!一口气发布3款Phi-3.5新模型,领先Llama3.1和谷歌同级模型

news2024/9/19 10:44:52

图片

家人们!微软又用爱发电了!一觉醒来,微软发布了最新的小模型三兄弟:

图片

  • Phi-3.5-MoE-instruct

  • Phi-3.5-mini-instruct

  • Phi-3.5-vision-instruct

三兄弟的表现可以说是相当的不错,其中,Phi-3.5-MoE 在基准测试中击败了 Llama 3.1 8B、Mistral-Nemo-12B,Gemini 1.5 Flash。在推理能力方面它也优于其他一些较大的模型,仅落后于 GPT-4o-mini,直接分分钟登顶同级模型!

图片

真不错呀!让奶茶带大家看一下!

不同用途不同选择!

三个Phi 3.5模型有不同的专长!

Phi-3.5 MoE - 微软专家大集合

大哥Phi-3.5 MoE 是一个混合专家模型,将多个不同的模型类型组合成一个,其中每个模型类型专门从事不同的任务。该模型有420亿个活动参数的架构,支持128k token上下文长度。

图片

划重点:

  • 6.6B 活动参数(总参数42B)

  • 128K 上下文、多语言和相同分词器

  • 在 4.9T tokens 上进行训练

  • 使用 512 张 H100 进行训练(23 天)

为了在各种推理任务中脱颖而出,Phi-3.5 MoE在代码、数学和多语言理解方面提供了强大的性能,基准测试中通表现都很好,在5个单项的MMLU(大规模多任务语言理解)测试中,它也击败了gpt-4o mini!

图片

在长文本上超越了明显优于仅支持8K上下文长度的Gemma-2系列,与其他更大更强的开源模型如Llama-3.1-8B-instruct和Mistral-Nemo-12B-instruct-2407也可以一比,而且已经比GPT-4o好了!

图片

总的来说,只有6.6B活动参数的Phi-3.5-MoE实现了与更大模型相似的语言理解和数学水平。但是,对于某些任务,它仍然受到其大小的根本上限制,因为,该模型根本不具备存储太多事实知识的能力,作者指出,这个弱点可以通过使用搜索引擎来解决,特别是在RAG设置下使用该模型时。

模型开源地址:
https://huggingface.co/microsoft/Phi-3.5-MoE-instruct

Phi 3.5 mini - 针对计算受限的环境进行了优化

二哥Phi-3.5 Mini Instruct主打一个轻量级!一共有38亿参数,专为遵守指令而设计,并支持128k token上下文长度。非常适合在受限的环境中使用!Phi3.5 Mini Instruct模型虽然小巧,但在多语言和多轮对话任务中表现出色,相较其前代有了显著提升。它在多个基准测试中的性能接近最先进水平,尤其在RepoQA测试中超越了其他同类模型(如Llama-3.1-8b-instruct和Mistral-7b-instruct)。

划重点:

  • 3.8B参数,击败Llama3.1 8B和Mistral 7B

  • 多语言和 32K 词汇的分词器

  • 在 3.4T tokens 上进行训练

  • 使用 512 张 H100 进行训练(只需要10 天!)

图片

▲在多语言MMLU、MEGA和多语言MMLU-pro数据集上的多语言能力。总的来说,即使只有38 b的活动参数,与其他具有更大活动参数的模型相比,该模型在多语言任务上是比较出色!

图片

▲RepoQA基准测试遥遥领先

模型开源地址:
https://huggingface.co/microsoft/Phi-3.5-mini-instruct

Phi-3.5 Vision Instruct - 高级多模态推理

三弟Phi-3.5 Vision Instruct是一款融合文本与图像处理能力的视觉指令模型。与同系列其他型号类似,它支持128k token的上下文长度,能够处理复杂的多帧视觉任务。

微软指出,该模型采用经过筛选的公开数据集进行训练,增强了模型的多帧图像理解和推理能力。主要功能包括详细的图像对比、多图总结与叙事,以及视频摘要,侧重于高质量和推理密集型数据。

划重点:

  • 4.2B 参数,在部分基准测试上击败了GPT-4o(不是mini!!!)

  • 使用 500B tokens 进行训练

  • 使用 256 张 A100 进行训练(6 天)

  • 专注于TextVQA + ScienceVQA

图片

▲采用了BLINK基准测试,包含14个视觉任务,总体而言,模型在相同尺寸下普遍优于竞争对手,并在多帧能力和视频摘要方面与更大的模型竞争。

模型开源地址:
https://huggingface.co/microsoft/Phi-3.5-vision-Instruct

根据开源博客的声明,Phi-3.5系列模型在MIT许可下发布,即允许开发者自由使用、修改、发布、分发甚至销售软件副本。不过,该许可也附带免责声明,即要求软件得是“按原样”提供的,不附带任何形式的担保。微软和其他版权所有者不对因使用该软件而可能引发的任何索赔、损害或其他责任承担责任~

怎么训练?

给大家搬运下官方的训练步骤!我们以大哥Phi-3.5-MoE-instruct 的训练为例,Phi-3.5系列模型都集成到 transformers 的官方版本中,官方版本后续也通过 pip 发布:

  1. 加载模型时,确保在 from_pretrained() 函数中传递 trust_remote_code=True 作为参数。可以通过以下命令验证当前的 transformers 版本:

pip list | grep transformers。
  1. 安装所需软件包示例:

flash_attn==2.5.8
torch==2.3.1
accelerate==0.31.0
transformers==4.43.0

  1. 分词器

Phi-3.5-MoE-Instruct 支持最多 32064 个 token 的词汇量,分词器文件已经提供了可以用于下游微调的占位符 token,可以扩展到模型的最大词汇量。

  1. 输入格式

鉴于训练数据的特性,Phi-3.5-MoE-instruct 模型最适合使用以下聊天格式的提示:

图片

  1. 本地加载模型 在获得 Phi-3.5-MoE-instruct 模型检查点后,用户可以使用以下示例代码进行推理。

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline 

torch.random.manual_seed(0) 

model = AutoModelForCausalLM.from_pretrained( 
    "microsoft/Phi-3.5-MoE-instruct",  
    device_map="cuda",  
    torch_dtype="auto",  
    trust_remote_code=True,  
) 

tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3.5-MoE-instruct") 

messages = [ 
    {"role": "system", "content": "You are a helpful AI assistant."}, 
    {"role": "user", "content": "Can you provide ways to eat combinations of bananas and dragonfruits?"}, 
    {"role": "assistant", "content": "Sure! Here are some ways to eat bananas and dragonfruits together: 1. Banana and dragonfruit smoothie: Blend bananas and dragonfruits together with some milk and honey. 2. Banana and dragonfruit salad: Mix sliced bananas and dragonfruits together with some lemon juice and honey."}, 
    {"role": "user", "content": "What about solving an 2x + 3 = 7 equation?"}, 
] 

pipe = pipeline( 
    "text-generation", 
    model=model, 
    tokenizer=tokenizer, 
) 

generation_args = { 
    "max_new_tokens": 500, 
    "return_full_text": False, 
    "temperature": 0.0, 
    "do_sample": False, 
} 

output = pipe(messages, **generation_args) 
print(output[0]['generated_text'])

结语

大家觉得Phi-3.5系列的三兄弟表现如何?虽然不同的基准测试可能让大家对他们的能力有不同的评价,褒贬不一,但不得不说,微软这次确实又开放了一个不错的模型,又OpenAI

图片

了不是!

图片

据奶茶今早看到的新闻,OpenAI 推出了 GPT-4o 微调功能,每天免费送100万Token,允许开发者为特定用例定制模型~

结合今天微软的又一开源,开源和闭源的发展越来越像两条快速延伸平行线,一方面是模型的开放,另一方面是在引导应用方向上的开放。

对此,大家怎么看?欢迎在评论区分享你的观点,与我们一起探讨!

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2059394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【NVM-下载、安装、使用】

前置条件 已经安装node,需要卸载node # 查看是否安装nodejs,展示版本则是已安装 node -v 在控制面板中卸载nodejs 删除nodejs安装目录 删除.npmrc配置文件(不知道在什么位置可以直接搜索.npmrc) 查看是否删除成功 node -v 提示【不是内部或外部命令&…

代码随想录-暑假算法第六天(贪心算法篇)(记得要回看,还有一些不怎么理解)

代码随想录-暑假算法第六天(贪心算法篇)(要回看) 题目分类大纲如下: #什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 这么说有点抽象,来举一个例子: 例如,有一堆钞票,你可以拿走十…

vue3使用elementui-plus时使用深度选择器穿透影响原样式

一、原样式: 下拉框选择时,右边存在一个下拉的箭头符号,那么在许多场景下我们不需要显示,这个时候就可以通过开发者工具进行定位,选中该元素,可以看到,影响的样式是:.el-icon svg 二…

Aigtek功率放大器的基本参数包括什么

功率放大器是一种用于增大输入信号功率的设备,常用于音频设备、通信设备和电子设备等领域。其基本参数包括增益、带宽、输出功率、频率响应、失真、输入灵敏度、输出阻抗等多个方面。下面将对这些参数进行详细介绍。 增益:增益是功率放大器的核心参数&am…

《黑神话:悟空》这家公司的薪资水平

黑神话: 悟空 黑神话:悟空(简称黑猴)彻底火了,宣发的四年里,光 B 站就发了 12 个预告类视频,合计播放量超 2 亿。 与那些氪金手游不同,单机游戏可不折不扣地称为「第九艺术」。 黑猴作为中国在该…

Vue条件判断指令:v-if、v-else、v-else-if、v-show 指令

在程序设计中,条件判断是必不可少的技术。在视图中,经常需要通过条件判断来控制 DOM 的显示状态。Vue.js 提供了相应的指令用于实现条件判断,包括:v-if、v-else、v-else-if、v-show 指令。 1、v-if 指令 v-if 指令可以根据表达式…

fastadmin 控制器的权限管理

1、fastadmin 权限管理,需要用到的属性和方法是这几个: /*** 无需登录的方法,同时也就不需要鉴权了* var array*/ protected $noNeedLogin [];/*** 无需鉴权的方法,但需要登录* var array*/ protected $noNeedRight []; /*** 是否开启数据限制* 支持a…

双通道SP3232芯片实现由TTL电平转RS232电平

首先,单片机的串口必须经过电平转换才可以和标准RS-232通信,这个转换芯片5V的一般是MAX232或SP232,3.3V的一般是MAX3232或SP3232。 严格说,SP有3232和SP232两种,前者宽电,后者只支持5V。 SP3232是一款RS-…

适合金融行业的企业级跨网文件交换系统

在金融领域,文件交换平台的作用不可小觑,它关乎数据的保密性、稳定性,并且必须遵守严格的合规标准。那么,一个适合金融业跨网文件交换的系统应该具备哪些特质,又是如何满足这些需求的呢?镭速跨网文件交换系…

计算商品总价

价格等于单价乘于数量 如果商品数量大于100,会享受10%的折扣;50-100之间会享受5%的折扣;小于50没有折扣 def getAmount(num,price):amountnum*priceif num>100:amountamount*0.9elif num>50:amountamount*0.95else:amountamountreturn …

应用界面设计(原生,自定义控件,设计与交互-小白必看)

目录 一图概览 界面实现方式 XML布局方式 JAVA或Kotlin代码布局 Android定制控件 Android原生核心控件 为什么不用原生? 定制控件三大方法 定制控件流程 触摸事件(input事件处理)流程 分发 (dispatchTouchEvent) 拦截 (onInterce…

【信创】Linux系统上ext4、XFS等文件系统的特点和适用场景 _ 统信 _ 麒麟 _ 方德

原文链接:【信创】Linux系统上ext4、XFS等文件系统的特点和适用场景 | 统信 | 麒麟 | 方德 Hello,大家好啊!今天给大家带来一篇关于Linux系统上常见文件系统——如ext4、XFS等——的特点和适用场景的文章。选择合适的文件系统对于优化存储性能…

sh脚本之外JS也可以编写脚本

比方说APP每次打包后命名无规则 打得多了还杂乱 可以使用node脚本 批量删除 重命名 例如使用以下 Node.js 脚本来删除当前目录下的所有文件,并保留最近修改的一个文件名为lock.apk const fs require(fs); const path require(path);// 获取当前目录 const curre…

ZYNQ 7020 学习记录-1点灯

系列文章目录 1.点灯 文章目录 系列文章目录前言一、ZYNQ是什么?二、FPGA开发流程1.流程图2.工程管理3.需求分析4.系统框图5.编写RTL代码6.Modelsim 手动仿真7.Vivado工程 总结 前言 由于研究生课题组所研制的设备HIGH-POWER SHM SYSTEM是基于ZYNQ的,以…

【css】伪元素实现图片个悬停文字聚焦效果

实现重点: 文字覆盖在图片上: 通过使用 position: absolute 将 .box 文字盒子定位在图片上方。父容器 .img-wrap 使用了 position: relative 确保子元素的绝对定位在父容器的边界内生效。 创建悬停效果: 通过使用 &::before 和 &::…

滑块缺口研究实例(C#颜色滑块缺口计算)

缺口图图 测试网站 111https://www.591mf.top/duibi/hk.html using System; using System.Drawing;public class ColorGapCounter {public static int CountGaps(Color startColor, Color endColor, int threshold){int gaps 0;int startR startColor.R;int startG startC…

STM32按键控制小灯—HAL库

原理讲解: 以上是按键的原理图:(忽略GPIO口,因为可以自行设置) 需要注意的点有两个: ①100nF的电容:有效缓冲抖动的电平信号,有按键消抖的作用 什么是按键抖动呢?&am…

2024年蓝牙耳机哪个牌子最值得买?最建议入手的四个品牌型号推荐

随着科学技术的不断发展,蓝牙耳机已经逐渐成为市场上的智能配件选择,其市场份额也在不断增长。但是,在众多品牌中,很多的蓝牙耳机会出现音质不佳、连接不稳定的问题,甚至可能对消费者的听力造成潜在风险。那么&#xf…

openai api key automatically rotating when deployed

题意:部署时自动轮换 OpenAI API 密钥 问题背景: Im building a web page using openai gpt API in reactjs. I saved my API key on .env file then gitignored it. And I deployed my code with gh-pages, but openai detects it and rotate the key …

一文详解:线索分配的3种策略

针对企业经常投放的平台和渠道(如抖音、快手、公众号、官网等),纷享销客搭建了多平台接口与CRM互通,多渠道的线索可实时同步到CRM系统中。经过前面的线索分层处理,线索再根据不同线索池分配规则或者自定义分配规则设计,将线索下发给相关方处理…