微软发布Phi-3系列语言模型:手机端的强大AI助手

大模型(LLMs)在处理复杂任务时展现出的巨大潜力,但却需要庞大的计算资源和存储空间,限制了它们在移动设备等资源受限环境中的应用。微软公司最新发布的Phi-3系列语言模型,以其卓越的性能和小巧的体积,打破了这一局限,为移动AI领域带来了革命性的变革。

Phi-3系列模型的优势在于它们能够在保持较小模型体积的同时,提供与大型模型相媲美的语言处理能力。这一成就得益于几个关键的技术突破和创新:

高效的训练数据:Phi-3系列模型采用了经过精心筛选和优化的训练数据集,这些数据不仅包括公开可用的网络数据,还结合了由LLM生成的合成数据,从而在较小的模型规模上实现了高性能。

先进的架构设计:Phi-3-mini模型采用了transformer解码器架构,并引入了LongRope技术来扩展上下文长度,使其能够处理更长的文本序列。

优化的存储和计算效率:通过量化技术和块稀疏注意力模块,Phi-3-mini能够在保持性能的同时,大幅减少模型所需的存储空间和计算资源。

强大的多模态能力:Phi-3-vision模型不仅能够处理文本,还能够理解和生成与图像相关的文本,这为图像和文本的联合理解提供了新的可能性。

负责任的AI实践:微软在Phi-3系列模型的开发中,遵循了负责任的AI原则,通过后训练阶段的安全对齐和红队测试,确保了模型的安全性和可靠性。

移动设备上的本地部署:Phi-3-mini的小巧体积使其能够轻松部署在现代智能手机上,实现完全离线运行,为用户提供了随时随地的智能助手。

Phi-3-mini 模型

Phi-3-mini 是一个具有3.8亿参数的语言模型,它在3.3万亿个token上进行了训练。这个模型采用了transformer解码器架构,具备4K的默认上下文长度,并通过LongRope技术可以扩展到128K的上下文长度。Phi-3-mini 的设计允许它在保持小巧体积的同时,实现与大型模型相媲美的性能。

phi-3-small模型中的blocksparse attention的玩具插图。它展示了具有2个局部块和3的垂直跨度的blocksparse attention。表格显示了查询标记在块8中所关注的键/值。颜色编码说明了本地块(蓝色)、远程/垂直块(橙色)和被跳过的块(灰色)

模型的训练采用了一种创新的方法,使用了经过严格筛选的公开网络数据和合成数据。这种数据筛选策略专注于提升模型的通用知识和语言理解能力,同时在第二阶段的训练中融入了逻辑推理和专业技能的教学。

接近“数据最优范围”的扩展法则,从左到右分别是phi-1.5、phi-2、phi-3-mini、phi-3-small与Llama-2系列模型(7B、13B、34B、70B),它们都是在相同的固定数据上训练的。图表绘制了MMLU误差的对数与模型大小的对数

Phi-3-mini 进一步优化了模型的对齐,以增强其在对话格式下的鲁棒性、安全性。此外,模型使用了与Llama-2相似的块结构,并采用了相同的分词器,这使得为Llama-2开发的包可以轻松适配到Phi-3-mini。模型具备3072的隐藏维度、32个注意力头和32层,使用bfloat16精度进行了训练。

Phi-3-mini 的小巧体积使其可以量化到4位,仅占用大约1.8GB的内存。在iPhone 14的A16 Bionic芯片上进行的测试显示,该模型能够以每秒超过12个token的速度在设备上本地运行,且完全离线。为了处理长上下文任务,开发了Phi-3-mini的长上下文版本,其上下文长度限制扩展到了128K。这个版本的模型在质量上与4K长度的版本相当,但在处理长文本方面更为出色。

iPhone上使用A16 Bionic芯片本地运行的4位量化phi-3-mini,每秒生成超过12个token

Phi-3-mini 的后训练包括两个阶段:监督微调(SFT)和直接偏好优化(DPO)。SFT使用高度策划的高质量数据,涵盖多个领域,而DPO则利用聊天格式数据、推理和负责任的AI(RAI)努力,引导模型远离不良行为。

基准测试

Phi-3-mini 在多个标准的开源基准测试中进行了评估,这些测试旨在衡量模型的推理能力,包括常识推理和逻辑推理。测试结果与phi-2、Mistral-7b-v0.1、Mixtral-8x7b、Gemma 7B、Llama-3-instruct8b 和 GPT-3.5 等模型进行了比较。所有报告的数字都是通过相同的管道生成的,以确保数字的可比性。

使用了少样本提示(few-shot prompts),在温度为0的条件下评估模型。使用的提示和样本数量是微软内部用于评估语言模型的工具的一部分。特别是,对于phi-3模型,没有对管道进行优化。

测试结果显示 Phi-3-mini 在各种基准测试中的表现与其它模型相比具有竞争力。例如,在MMLU(多项语言理解)基准测试中,Phi-3-mini 达到了68.8% 的准确率,而其他模型的准确率从56.3% 到71.4% 不等。在HellaSwag、ANLI、GSM-8K 等多个测试中,Phi-3-mini 均展现出了较高的性能。

Phi-3-mini 与其扩展模型 Phi-3-small 和 Phi-3-medium 相比,在多数基准测试中表现稍逊,这与它们的参数规模相一致。Phi-3-small 在 MMLU 中的得分为75.7%,而 Phi-3-medium 则为78.0%。类似地,在 MT-bench 测试中,Phi-3-mini 得到了8.38分,而 Phi-3-small 和 Phi-3-medium 分别得到了8.7和8.9分。

虽然在多任务学习上表现出色,但受限于规模,它在存储事实知识、多语言处理和高级推理方面存在局限。通过结合搜索引擎和多语言数据,以及针对性的后训练优化,可以缓解这些限制,但偏见和安全问题仍需进一步研究和改进。

Phi-3-Vision 模型

Phi-3-Vision 是一个多模态模型,拥有 4.2 亿参数,设计用于处理图像和文本提示,并生成文本输出。该模型由两部分组成:图像编码器(CLIP ViT-L/14)和变换器解码器(phi-3-mini-128K-instruct)。通过动态裁剪策略,模型能够适应高分辨率和不同宽高比的图像,将输入图像分割成 2D 块阵列,再将块的标记连接起来以代表整个图像。

Phi-3-Vision在自然图像理解和推理方面的能力

Phi-3-Vision 模型的预训练使用了多样化的数据集,包括图像-文本文档、图像-文本对、从 PDF 文件的光学字符识别(OCR)派生的合成数据,以及图表/表格理解的数据集。预训练的目标是在文本标记上预测下一个标记,而忽略与图像标记相关的任何损失。

Phi-3-Vision 包含两个后训练阶段:监督微调(SFT)和直接偏好优化(DPO)。SFT 利用文本 SFT 数据集、公共多模态指导调整数据集以及我们自己构建的大规模多模态指导调整数据集,覆盖自然图像理解、图表/表格/图解理解/推理、PowerPoint 理解以及模型安全性等多样化领域和任务。

基准测试

Phi-3-Vision 模型在九个学术基准测试中进行了评估,这些测试覆盖科学、图表和通用知识三个领域,旨在衡量模型对视觉和文本输入的推理和感知能力。与多个基线模型相比,Phi-3-Vision 展现了其竞争力。评估采用了公平的设置,模拟了普通用户与多模态模型的交互,未使用特定提示或图像预处理。尽管评估条件一致,但由于不同的评估参数,Phi-3-Vision 的结果可能与已发布的基线模型结果有所差异。这为模型的实际应用提供了有价值的见解,并指出了进一步优化的方向。

Phi-3-Vision 模型在多个公共多语言模型(MLLM)基准测试上的比较结果

尽管 Phi-3-Vision 在多个领域表现出色,但已识别出某些限制,特别是在需要高水平推理能力的问题上。此外,模型有时会生成无根据的输出,使其在金融等敏感领域可能不可靠。为了解决这些问题,研究者计划在未来的后训练中纳入更多关注推理和幻觉相关的 DPO 数据。从负责任的 AI 角度来看,尽管安全后训练取得了显著进展,Phi-3-Vision 偶尔未能避免回答有害或敏感的查询,例如解读特定类型的验证码和描述包含虚假信息或幻觉的诈骗图像。这个问题部分源于在正常指导调整数据集的训练过程中获得的能力,如 OCR,这可以被视为帮助性和无害性之间的权衡。

论文链接:https://arxiv.org/abs/2404.14219

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用 privacyIDEA 实现 Windows RDP 多因素认证 (MFA)

前言 在等保 2.0 标准中有要求: d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。 可以借助开源的 privacyIDEA 配合 AD 域环境实现 RDP MFA 认证登录以满足上面的要…

Ubuntu 之Glade图形化设计器

演示环境说明:本机使用Windows 11 家庭版本搭载 Ubuntu 22.04.4 LTS 子系统,同时并安装Ubuntu桌面虚拟化软件XLaunch。 如果没有搭建好上述问题,请参考:windows11子系统Ubuntu 22.04.4子安装图形化界面 Glade是什么?…

【MySQL备份】lvm-snapshot篇

目录 1.简介 1.1.如何工作 1.2.应用场景 1.3.注意事项 1.4.优缺点 2.为什么选择lvm快照备份? 3.创建LVM 3.1.操作流程 3.2.正常安装MySQL后进行备份 3.3.MySQL运行一段时间后进行备份 3.3.1.准备lvm及文件系统//先添加一块磁盘 3.3.2.将数据迁移到LVM …

jmeter之接口数据与数据库数据检验!

前言 本文讲解使用jmeter测试接口,然后与数据库里面的数据进行校验对比。本节使用一个新增数据的接口,新增一条数据,然后在数据库里面进行查询,是否能够查询到此条数据。 一、接口环境搭建 1.1 新建一个http请求,写…

ARM32开发-fat_fs文件系统

FAT_FS 文件系统 FAT (File Allocation Table) 文件系统是一种广泛使用的基于磁盘的文件系统,尤其适用于小型嵌入式系统和存储卡。FAT_FS 就是一个专门针对 FAT 文件系统的开源实现。 FAT_FS 的主要特点 轻量级和高度可移植: FAT_FS 是一个非常轻量级的文件系统实现,占用资源少…

html5 video去除边框

video的属性: autoplay 视频在就绪后自动播放。 controls 显示控件,比如播放按钮。 height 设置视频播放器的高度。 width 设置视频播放器的宽度。 loop 循环播放 muted 视频的音频输出静音。 poster 视频加载时显示的图像,或者在用户点击播…

虚拟机的NAT模式连不上互联网

标题 虚拟机的NAT模式连不上互联网相关设备情况。我遇到了啥问题解决办法最后说一句 虚拟机的NAT模式连不上互联网 今天遇到了一个网络连接问题,是关于虚拟机的NAT模式上网的。 相关设备情况。 虚拟机上用到操作系统是centos7。宿主机的操作系统是windows10。虚拟…

mac14.1.2 M1芯片终端使用brew命令提示“zsh- command not found- brew ”解决方案

mac14.1.2 M1芯片终端使用brew命令提示“zsh- command not found- brew ” 原因:brew默认安装目录在/opt/homebrew/bin,zshrc文件中找不到对应的PATH路径导致。(可通过右键finder的图标选择「前往文件”-输入/opt/homebrew/bin」来查看brew是…

防火墙双双机热备

设备直路部署,上下行连接交换机 如 图所示,DeviceA和DeviceB的业务接口都工作在三层,上下行分别连接二层交换机。上行交换机连接运营商的接入点,运营商为企业分配的IP地址为1.1.1.3和1.1.1.4。现在希望DeviceA和DeviceB以负载分担…

nodejs安装(2024最最最最新版)

node官网 Index of /dist/https://nodejs.org/dist/ 选择版本 我比较喜欢16.20.1或者是14.16.1,这两个版本简直天下无敌了 下一步 选择这个,下载下来一个文件 一直点击下一步,就安装成功了 可能遇见的问题 1.安装了node,为什么不生效还是以前自己电脑安装的版本? 答: 可…

vue2中的组件自定义事件

1.绑定事件: <组件 :自定义名称"方法" /> 2.调用 this.$emit(方法,参数) 3.关闭 this.$off(方法) 案例: 1.提前准备好组件 Student组件 <template><div class"student"><h1>学校名称:{{ st…

Golang 百题(实战快速掌握语法)_2

返回集合中满足指定条件的最后一个元素 本实验将实现判断给定集合中的元素是否符合&#xff0c;并返回符合的最后一个元素。 知识点 forfmt.Error 适合人群 本课程属于基础课程。需要用户掌握 Go 语言编程基础知识、计算机基础知识和 Linux 环境的基本用法。 许可证 内容…

windows安装nvm

文章目录 前言一、NVM下载方式一&#xff1a;官网下载方式二&#xff1a;GitHub 下载 二、NVM安装三、Node安装四、配置 NVM 和 NodeJS4.1. 环境变量配置4.2 配置node_global和node_cache 前言 NVM&#xff08;Node Version Manager&#xff09;是一个命令行工具&#xff0c;用…

Redis队列自研组件

背景 年初的时候设计实践过一个课题&#xff1a;SpringBootRedis实现不重复消费的队列&#xff0c;并用它开发了一个年夜饭下单和制作的服务。不知道大家还有没有印象。完成这个课题后&#xff0c;我兴致勃勃的把它运用到了项目里面&#xff0c;可谁曾想&#xff0c;运行不久后…

phpMyAdmin 4.0.10 文件包含 -> getshell

phpMyAdmin 4.0.10 文件包含 -> getshell 前言&#xff1a;这里这个漏洞相对来说审计起来不是特别难&#xff0c;但是对于初学者还是有点挑战性的&#xff0c;从zkaq web课过来的小伙伴想挑战一下自己代码审计能力的话&#xff0c;可以直接跳到最后下载源码&#xff0c;聂风…

【总结】在SpringBoot项目中如何动态切换数据源、数据库?(可直接CV)

注意&#xff1a;文章若有错误的地方&#xff0c;欢迎评论区里面指正 &#x1f36d; 前言 本文参考若依源码&#xff0c;介绍了如何在SpringBoot项目中使用AOP和自定义注解实现MySQL主从数据库的动态切换&#xff0c;当从库故障时&#xff0c;能自动切换到主库&#xff0c;确…

手写SpringMVC之ApplicationContextListener

什么是Spring MVC&#xff1f; Spring Web MVC是基于Servlet API构建的原始Web框架&#xff0c;从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称&#xff08; spring-webmvc &#xff09;&#xff0c;但它通常被称为“Spring MVC”。 手写…

SD-WAN解决多云环境的挑战

随着SD-WAN成为远程用户访问基于云的应用程序的主要途径&#xff0c;促使越来越多的部署多云环境以优化性能的企业、IT专业人员选择支持安全、低延迟且易于管理的SD-WAN技术。与此同时&#xff0c;SD-WAN供应商和云服务供应商之间的合作&#xff0c;有助于跨多个云供应商轻松管…

分别使用netty和apache.plc4x测试读取modbus协议的设备信号

记录一下常见的工业协议数据读取方法 目录 前言Modbus协议说明Netty 读取测试使用plc4x 读取测试结束语 前言 Modbus 是一种通讯协议&#xff0c;用于在工业控制系统中进行数据通信和控制。Modbus 协议主要分为两种常用的变体&#xff1a;Modbus RTU 和 Modbus TCP/IP Modbus …

基于51单片机太阳能风能风光互补路灯控制器

一.硬件方案 本设计由STC89C52单片机电路太阳能电池板电路风机发电电路锂电池充电保护电路升压电路稳压电路光敏电阻电路4位高亮LED灯电路2档拨动开关电路电源电路设计而成。 二.设计功能 &#xff08;1&#xff09;采用风机和太阳能电池板给锂电池充电&#xff0c;具有充电…