Phi-3 技术报告:手机本地运行的高能力语言模型

简介: Phi-3系列模型通过高质量数据训练与架构创新,实现小体积、高性能。38亿参数的phi-3-mini在手机端可达GPT-3.5水平,支持长上下文、多模态与高效推理,推动AI普惠化。

Phi-3 技术报告:手机本地运行的高能力语言模型

Abdin M, Aneja J, Behl H, et al. Phi-4 technical report[J]. arXiv preprint arXiv:2412.08905, 2024.

1. 引言与背景

人工智能在过去几年的惊人进步很大程度上归功于全球范围内对不断扩大模型和数据集规模的努力。大型语言模型(LLMs)的参数量从五年前GPT-2的15亿参数急剧增长到如今的万亿参数级别。这种增长的动力源于训练大模型时看似可预测的改进,即所谓的缩放定律:

$$L(N) = \left(\frac{N_c}{N}\right)^{\alpha_N}$$

其中$L$是损失,$N$是模型参数量,$N_c$和$\alpha_N$是常数。然而,这些定律假设了一个"固定"的数据源。现在前沿LLMs本身的存在已经显著颠覆了这一假设,它们使我们能够以全新的方式与数据交互。

Microsoft的研究展示了一个突破性发现:通过结合基于LLM的公开网络数据过滤和LLM创建的合成数据,能够让小型语言模型达到通常只有在更大模型中才能看到的性能。本报告介绍的phi-3-mini是一个38亿参数的语言模型,在3.3万亿tokens上训练,其整体性能与Mixtral 8x7B和GPT-3.5相当,尽管其体积小到足以部署在手机上。

2. 技术规格与架构创新

2.1 基础架构设计

phi-3-mini采用transformer解码器架构,具有以下技术规格:

  • 隐藏维度: $d_{model} = 3072$
  • 注意力头数: $n_{heads} = 32$
  • 层数: $n_{layers} = 32$
  • 词汇表大小: $|V| = 32064$
  • 上下文长度: 默认4K,扩展版本支持128K

模型的前向传播可以表示为:

$$\mathbf{h}_0 = \mathbf{x}W_e + \mathbf{p}$$

$$\mathbf{h}_l = \text{TransformerBlock}(\mathbf{h}_{l-1}), \quad l = 1, ..., n_{layers}$$

$$\mathbf{y} = \text{softmax}(\mathbf{h}_{n_{layers}}W_o)$$

其中$We \in \mathbb{R}^{|V| \times d{model}}$是嵌入矩阵,$\mathbf{p}$是位置编码,$Wo \in \mathbb{R}^{d{model} \times |V|}$是输出投影矩阵。

2.2 块稀疏注意力机制

fig11.png

图1描述:该图展示了phi-3-small中块稀疏注意力的玩具示例,具有2个局部块和垂直步幅为3。表格显示了块8中查询token关注的键/值。蓝色表示局部块,橙色表示远程/垂直块,灰色表示跳过的块。

phi-3-small引入了创新的块稀疏注意力机制。传统的自注意力复杂度为$O(n^2)$,其中$n$是序列长度。块稀疏注意力通过选择性地关注特定块来降低复杂度:

$$\text{BlockSparseAttn}(Q, K, V) = \text{softmax}\left(\frac{QK^T_{sparse}}{\sqrt{d_k}} \odot M\right)V_{sparse}$$

其中$M$是稀疏掩码矩阵,$K{sparse}$和$V{sparse}$是根据稀疏模式选择的键和值。这种设计确保了所有token在不同的注意力头上都得到关注,同时显著减少KV缓存的内存占用。

2.3 长上下文扩展

phi-3-mini-128K通过LongRope方法扩展上下文长度。RoPE (旋转位置嵌入)的原始形式为:

$$f(q, m) = q \cdot e^{i m \theta}$$

其中$\theta_j = 10000^{-2j/d}$。LongRope通过修改频率基数来支持更长序列:

$$\theta'_j = \theta_j \cdot s^{(j/d)}$$

其中$s$是缩放因子,通过以下方式计算:

$$s = \frac{L_{target}}{L_{original}}$$

2.4 混合专家架构

phi-3.5-MoE采用稀疏激活的混合专家架构。给定输入$\mathbf{x}$,路由函数计算:

$$g(\mathbf{x}) = \text{TopK}(\text{softmax}(W_g \mathbf{x}), k)$$

其中$Wg \in \mathbb{R}^{E \times d{model}}$是路由权重,$E=16$是专家数量,$k=2$是每个token激活的专家数。最终输出为:

$$\mathbf{y} = \sum_{i=1}^{E} g_i(\mathbf{x}) \cdot \text{Expert}_i(\mathbf{x})$$

这种设计使得16×3.8B参数的模型仅有6.6B活跃参数,大大提高了推理效率。

3. 训练方法论

3.1 数据最优化策略

fig33.png

图3描述:该图展示了接近"数据最优范式"的缩放定律曲线。横轴是模型大小的对数,纵轴是MMLU错误率的对数。红线显示phi系列模型(从左到右:phi-1.5、phi-2、phi-3-mini、phi-3-small),紫线显示在相同固定数据上训练的Llama-2系列模型(7B、13B、34B、70B)。phi系列明显优于传统缩放。

研究团队没有遵循"计算最优"或"过度训练"范式,而是专注于给定规模下的数据质量。数据过滤策略基于教育价值评分函数:

$$\text{Score}(d) = \alpha \cdot \text{Knowledge}(d) + \beta \cdot \text{Reasoning}(d) - \gamma \cdot \text{Redundancy}(d)$$

其中$d$是文档,$\alpha$、$\beta$、$\gamma$是权重参数。通过这种评分机制,团队筛选出最适合小模型学习的高质量数据。

3.2 两阶段预训练

训练分为两个不相交的顺序阶段:

第一阶段:使用大约50%的网络数据和50%的合成数据,总计1.8T tokens。损失函数为标准的语言建模目标:

$$ \mathcal{L}_{LM} = -\sum_{t=1}^{T} \log P(x_t | x_{

第二阶段:使用更严格过滤的数据(第一阶段使用数据的子集)与额外的合成推理数据,总计1.5T tokens。这一阶段特别强调逻辑推理和专业技能的训练。

3.3 后训练优化

后训练包括监督微调(SFT)和直接偏好优化(DPO)两个阶段。

SFT阶段的损失函数:

$$ \mathcal{L}_{SFT} = -\mathbb{E}_{(x,y) \sim \mathcal{D}_{SFT}} \left[\sum_{t=1}^{|y|} \log P_\theta(y_t | x, y_{

DPO阶段使用Bradley-Terry模型进行偏好建模:

$$\mathcal{L}_{DPO} = -\mathbb{E}_{(x,y_w,y_l) \sim \mathcal{D}_{DPO}} \left[\log \sigma\left(\beta \log \frac{P_\theta(y_w|x)}{P_{ref}(y_w|x)} - \beta \log \frac{P_\theta(y_l|x)}{P_{ref}(y_l|x)}\right)\right]$$

其中$y_w$是偏好的响应,$yl$是不偏好的响应,$\beta$是温度参数,$P{ref}$是参考模型。

4. 性能评估

4.1 学术基准测试结果

在标准基准测试上的详细结果显示,phi-3-mini虽然只有3.8B参数,但在多个任务上超越了7B甚至更大的模型:

  • MMLU (5-shot): 68.8%,超过Mistral-7b的61.7%
  • GSM-8K (8-shot, CoT): 82.5%,远超Mistral-7b的46.4%
  • HumanEval (0-shot): 58.5%,是Mistral-7b (28.0%)的两倍多
  • MATH (0-shot, CoT): 41.3%,显著优于其他开源模型

4.2 手机端部署演示

fig22.png

图2描述:该图展示了4位量化的phi-3-mini在配备A16 Bionic芯片的iPhone上原生运行的三个屏幕截图。左侧显示用户输入诗歌创作请求,中间显示模型正在生成响应,右侧显示完整的生成结果。界面显示模型能够流畅生成每秒超过12个tokens。

量化过程使用了INT4量化技术,将模型权重从FP16压缩到INT4:

$$W_{int4} = \text{round}\left(\frac{W_{fp16}}{\text{scale}}\right) \cdot \text{clip}(-8, 7)$$

这使得模型大小从约7.6GB降至1.8GB,同时保持了大部分性能。

5. 多模态扩展:Phi-3.5-Vision

5.1 视觉编码器集成

Phi-3.5-Vision结合了CLIP ViT-L/14视觉编码器和phi-3.5-mini语言模型。视觉tokens的处理流程为:

$$\mathbf{v} = \text{CLIP}(\mathbf{I})$$
$$\mathbf{z} = W_p \mathbf{v} + \mathbf{b}_p$$

其中$\mathbf{I}$是输入图像,$W_p$和$\mathbf{b}_p$是投影参数,将视觉特征映射到语言模型的嵌入空间。

5.2 动态裁剪策略

为了处理高分辨率图像和各种宽高比,模型采用动态裁剪策略。给定输入图像$I$,将其分割为$n \times m$个块:

$$I = \{I_{i,j}\}_{i=1,j=1}^{n,m}$$

每个块独立编码后拼接:

$$\mathbf{V} = \text{concat}([\text{CLIP}(I_{i,j})]_{i,j})$$

fig77.png
fig88.png

图7和图8描述:这些图展示了Phi-3.5-Vision的实际应用示例。图7显示模型能够准确读取咖啡店菜单图片中的价格信息,并正确回答关于价格的数学问题。图8比较了安全对齐前后的性能,显示在各个RAI类别中有害响应率都显著下降。

6. 安全性评估

6.1 负责任AI对齐

fig55.png

图5描述:该图展示了phi-3-mini在安全对齐前后的有害响应百分比对比。深蓝色条表示未经安全训练的模型,浅橙色条表示经过安全训练和红队测试后的模型。在所有类别中都显示出显著改善。

安全对齐使用了多层次的防护机制:

$$P_{safe}(y|x) = P_{base}(y|x) \cdot \prod_{i=1}^{N} f_i(x, y)$$

其中$f_i$是不同的安全过滤器,包括内容过滤、毒性检测和事实性验证。

7. 局限性与未来方向

尽管取得了显著成就,phi-3系列模型仍存在一些局限性。模型的事实知识存储能力受限于其参数规模,这反映在TriviaQA等纯知识任务上的相对较低性能(64.0% vs GPT-3.5的85.8%)。然而,通过与搜索引擎的集成可以有效缓解这一问题。

fig66.png

图6描述:该图对比展示了phi-3-mini在有无搜索增强情况下的回答。左侧显示没有搜索时模型给出的错误信息,右侧显示集成HuggingFace Chat-UI搜索功能后,模型不仅纠正了错误,还提供了更具体的建议。

附录A:数学推导

A.1 缩放定律的理论基础

传统的神经网络缩放定律遵循幂律关系。给定计算预算$C$,最优的模型大小$N^$和数据集大小$D^$满足:

$$N^* \propto C^{\alpha_N/(α_N+α_D)}$$
$$D^* \propto C^{\alpha_D/(α_N+α_D)}$$

其中$\alpha_N \approx 0.73$,$\alpha_D \approx 0.27$是经验常数。然而,phi系列模型通过数据质量优化打破了这一关系。

A.2 注意力机制的计算复杂度分析

标准多头注意力的计算复杂度为:

$$\text{Complexity}_{standard} = O(n^2 \cdot d + n \cdot d^2)$$

其中第一项来自注意力矩阵计算,第二项来自线性投影。块稀疏注意力将其降低为:

$$\text{Complexity}_{sparse} = O(n \cdot b \cdot d + n \cdot d^2)$$

其中$b \ll n$是每个查询关注的块数。当$b = O(\log n)$时,复杂度变为$O(n \log n \cdot d + n \cdot d^2)$。

A.3 RoPE位置编码的频率调整

原始RoPE使用复数表示:

$$\mathbf{R}_{\Theta,m} = \begin{bmatrix} \cos m\theta_1 & -\sin m\theta_1 & 0 & 0 & \cdots \\ \sin m\theta_1 & \cos m\theta_1 & 0 & 0 & \cdots \\ 0 & 0 & \cos m\theta_2 & -\sin m\theta_2 & \cdots \\ 0 & 0 & \sin m\theta_2 & \cos m\theta_2 & \cdots \\ \vdots & \vdots & \vdots & \vdots & \ddots \end{bmatrix}$$

LongRope通过非线性插值修改频率:

$$\theta'_j = \begin{cases} \theta_j & \text{if } j < d/4 \\ \theta_j \cdot \left(\frac{L_{target}}{L_{original}}\right)^{(4j/d-1)/3} & \text{if } d/4 \leq j < 3d/4 \\ \theta_j \cdot \frac{L_{target}}{L_{original}} & \text{if } j \geq 3d/4 \end{cases}$$

这种分段调整保留了低频信息的精度,同时扩展了高频成分以支持更长的序列。

A.4 DPO损失函数的推导

从偏好数据$(x, y_w \succ y_l)$出发,Bradley-Terry模型给出:

$$P(y_w \succ y_l | x) = \frac{\exp(r(x, y_w))}{\exp(r(x, y_w)) + \exp(r(x, y_l))}$$

其中$r(x, y)$是奖励函数。DPO通过将奖励函数参数化为:

$$r(x, y) = \beta \log \frac{P_\theta(y|x)}{P_{ref}(y|x)} + \beta \log Z(x)$$

消除了需要显式学习奖励模型的步骤。代入Bradley-Terry模型并取对数,得到DPO损失:

$$\mathcal{L}_{DPO} = -\log \sigma\left(\beta \log \frac{P_\theta(y_w|x)}{P_{ref}(y_w|x)} - \beta \log \frac{P_\theta(y_l|x)}{P_{ref}(y_l|x)}\right)$$

A.5 混合专家的负载均衡

为确保专家之间的负载均衡,训练时添加辅助损失:

$$\mathcal{L}_{balance} = \alpha \cdot \text{CV}(\mathbf{f}) + \beta \cdot \text{CV}(\mathbf{P})$$

其中$\mathbf{f} = [f_1, ..., f_E]$是每个专家的使用频率,$\mathbf{P} = [P_1, ..., P_E]$是路由概率的均值,CV是变异系数:

$$\text{CV}(\mathbf{x}) = \frac{\text{std}(\mathbf{x})}{\text{mean}(\mathbf{x})}$$

这确保了所有专家都得到充分训练和利用。

结论

phi-3技术报告展示了通过精心的数据策划和架构创新,小型语言模型可以达到与大型模型相媲美的性能。从理论分析到实际部署,phi-3系列模型证明了高效AI系统的可行性。特别是phi-3-mini能够在手机上运行同时保持GPT-3.5级别的能力,这标志着向更普及和可访问的AI技术迈出了重要一步。

目录
相关文章
|
4月前
|
机器学习/深度学习 安全 API
通过UID非法获取手机号的违法行为与技术逻辑剖析别异想天开了-优雅草卓伊凡
通过UID非法获取手机号的违法行为与技术逻辑剖析别异想天开了-优雅草卓伊凡
1474 0
通过UID非法获取手机号的违法行为与技术逻辑剖析别异想天开了-优雅草卓伊凡
|
9月前
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
6943 80
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
10月前
|
人工智能 算法 前端开发
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
OmAgent 是 Om AI 与浙江大学联合开源的多模态语言代理框架,支持多设备连接、高效模型集成,助力开发者快速构建复杂的多模态代理应用。
790 72
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
456 12
|
网络协议 程序员 5G
IM开发者的零基础通信技术入门(十三):为什么手机信号差?一文即懂!
本系列文章尽量使用最浅显易懂的文字、图片来组织内容,力求通信技术零基础的人群也能看懂。但个人建议,至少稍微了解过网络通信方面的知识后再看,会更有收获。如果您大学学习过《计算机网络》这门课,那么一定不要错过本系列文章。
162 0
|
机器学习/深度学习 人工智能 供应链
智能进化:AI技术如何重塑智能手机体验
【7月更文第31天】随着人工智能(AI)技术的飞速发展,智能手机已经成为AI应用的重要平台之一。本文将探讨AI如何改善智能手机的用户体验,分析AI技术在手机硬件中的具体应用案例,并讨论AI技术如何帮助智能手机制造商应对市场挑战。
553 2
|
数据采集 人工智能 自然语言处理
手机可跑,3.8B参数量超越GPT-3.5!微软发布Phi-3技术报告:秘密武器是洗干净数据
【5月更文挑战第16天】微软发布 Phi-3 技术报告,介绍了一个拥有3.8B参数的新语言模型,超越GPT-3.5,成为最大模型之一。 Phi-3 在手机上运行的特性开启了大型模型移动应用新纪元。报告强调数据清洗是关键,通过优化设计实现高效运行。实验显示 Phi-3 在多项NLP任务中表现出色,但泛化能力和数据隐私仍是挑战。该模型预示着AI领域的未来突破。[[论文链接](https://arxiv.org/pdf/2404.14219.pdf)]
235 2
|
移动开发 开发框架 JavaScript
技术心得记录:手机Web开发框架
技术心得记录:手机Web开发框架
206 0
|
JavaScript
技术心得:根据不同访问设备跳转到PC页面或手机页面
技术心得:根据不同访问设备跳转到PC页面或手机页面
250 0
|
测试技术
微软发布Phi-3,性能超Llama-3,可手机端运行
【5月更文挑战第8天】微软新发布的phi-3-mini是一款拥有38亿参数的语言模型,可在手机上运行,性能媲美GPT-3.5。通过扩展版筛选数据集和对齐训练提升效能,phi-3还包括70亿和140亿参数的变体,表现更优。此模型的出现标志了移动设备上部署大型语言模型的可能,但也面临计算资源限制和潜在偏见问题,需更多研究确保可靠性和公平性。[链接](https://arxiv.org/abs/2404.14219)
267 0