技术速递|开启全新的多模态模型 - Microsoft Phi-4-mini & Phi-4-multimodal

作者:卢建晖 - 微软高级云技术布道师

排版:Alan Wang

在这里插入图片描述

Microsoft Phi-4 系列模型正式发布,延续先前发布的强推理 Phi-4 (14B)模型, 今天带来了 Phi-4-mini-instruct(3.8B),以及 Phi-4-multimodal(5.6B)模型。我们可以从 Hugging face、Azure AI Foundry Model Catalog、GitHub Models,以及 Ollama 获取使用模型。

Phi-4 除了在多语言、推理以及数学等方面的能力提升外,对于大家期待已久的 Function Calling 也终于支持了。与此同时,Phi-4-multimodal 更是作为全模态模型,具备了视觉、听觉、文本、多语言理解、强推理,以及编码等能力。我们可以把 Phi-4-mini / Phi-4-multimodal 部署在边缘终端,让更多的 IoT 应用场景在算力和网络受限的情况下,可以和生成式人工智能结合。接下来,我们一起探索全新的 Phi-4-mini 以及 Phi-4-multimodal。

Function Calling

这是社区期待已久的功能,有了 Function Calling,我们可以对 Phi-4-mini / Phi-4-multimodal 的文本能力进行扩展,结合搜索引擎,以及连接不同的工具等。如图所示,这是一个通过 Phi-4-mini 查询英超比赛信息的示意图:
在这里插入图片描述
示例代码

量化后的模型部署

在这里插入图片描述
我们可以把量化后的模型部署在边缘设备中,并结合 Microsoft Olive, ONNXRuntime GenAI 把 Phi-4-mini 部署在 Windows、iPhone、Android 等终端上。以下是一个在 iPhone 12 Pro 上运行的示例:

iPhone 12 Pro 运行示例

全模态 SLM

Phi-4-multimodal 是全模态的模型,支持文字、视觉、语音输入。或许大家对视觉场景已经非常熟悉,我们可以根据图片,直接生成代码。

示例

语音功能的整合让 Phi-4 在功能上有了更强的支持,以下是相关示例:

强推理性

Phi-4 (14B) 发布时,强推理性就是一个卖点,现在 Phi-4-mini 和 Phi-4-multimodal 虽然参数量减少了,但也具备了该能力,我们可以结合 Image 来测试强推理能力。例如上传一张图片,让 Phi-4-multimodal 能根据图片内容结合提示词更有序地生成项目代码。

示例代码

Phi-4-mini 和 Phi-4-multimodal 在有限的参数量上达到了一些 LLM 的效果。我们可以把 Phi-4-mini 和 Phi-4-multimodal 部署在边缘端,让我们的 PC、移动设备、IoT 具备更强的生成式人工智能能力。我们会陆续在 Phi Cookbook(https://aka.ms/Phicookbook)增加示例, 希望 Phi Cookbook 能成为你使用 Phi-4 的必备指南。

学习资源

### 变分自编码器 VAE 和 KL 散度在多模态情感分析中的实现 #### 1. 多模态情感分析背景 多模态情感分析涉及处理来自多种模式的数据(如文本、图像、音频),以推断人类的情感状态。由于这些数据通常具有不同的特征表示和统计特性,因此需要一种统一的方法来融合它们的信息[^3]。 变分自编码器(VAE)作为一种强大的生成模型,在多模态数据分析中表现出显著的优势。它可以通过学习潜在空间的联合分布,捕捉不同模态间的复杂关系,并生成高质量的新样本[^4]。 --- #### 2. VAE 的核心概念及其与 KL 散度的关系 VAE 的目标是从输入数据 $x$ 中提取有意义的潜在变量 $z$ 并重建原始数据 $\hat{x}$。为了确保潜在空间的平滑性和可解释性,VAE 引入了 KL 散度作为正则项,用于约束潜在变量 $z$ 的分布接近预定义的标准高斯分布 $N(0, I)$[^1]。 具体来说,VAE 的总损失函数可以分解为两个部分: $$ L_{\text{total}} = \mathbb{E}_{q(z|x)}[\log p(x|z)] - D_{KL}(q(z|x) || p(z)) $$ 其中, - 第一项是重构误差,衡量输入数据与其重建版本之间的差异; - 第二项即 KL 散度,用来惩罚偏离标准高斯分布的程度[^2]。 这种设计不仅有助于提高模型泛化能力,还允许通过采样生成新的数据点。 --- #### 3. 应用于多模态情感分析的具体方法 当应用于多模态情感分析时,VAE 需要扩展其架构以适应多个输入源。以下是常见的实现策略: ##### (1)共享潜在空间 构建一个多分支网络结构,每个分支分别负责处理特定类型的模态数据(例如文字嵌入向量、声学特征序列)。所有分支最终汇聚至一个共同的潜在空间 $Z$,该空间被假设服从某种联合概率分布。 ```python import torch.nn as nn class MultiModalEncoder(nn.Module): def __init__(self, input_dim_text, input_dim_audio, latent_dim=64): super(MultiModalEncoder, self).__init__() # 文本分支 self.text_encoder = nn.Sequential( nn.Linear(input_dim_text, 128), nn.ReLU(), nn.Linear(128, latent_dim * 2) # 输出均值和方差 ) # 声音分支 self.audio_encoder = nn.Sequential( nn.Conv1d(in_channels=input_dim_audio, out_channels=64, kernel_size=3), nn.ReLU(), nn.Flatten(), nn.Linear(..., latent_dim * 2) ) def forward(self, text_input, audio_input): mu_logvar_text = self.text_encoder(text_input).chunk(2, dim=-1) mu_logvar_audio = self.audio_encoder(audio_input.permute(0, 2, 1)).chunk(2, dim=-1) return mu_logvar_text, mu_logvar_audio ``` 上述代码展示了如何创建独立但相互关联的编码路径。 ##### (2)跨模态一致性优化 除了基本的重构损失外,还可以加入额外的目标函数鼓励各模态间的一致性。比如计算成对距离或者互信息最大化指标: $$ J(\theta,\phi)=L_{recon}+\lambda_1D_{KL}[q_\phi(z|x)||p(z)]-\lambda_2I(X;Y) $$ 这里 $X,Y$ 表示任意两种异构形式下的表达结果;$\lambda_i>0(i∈{1,2})$ 控制权重平衡程度。 --- #### 4. 已有研究案例 一些前沿工作已经探索过利用 VAE 进行多模态情绪识别的可能性。例如,《Multimodal Emotion Recognition Using Variational Autoencoders》一文中提到作者采用贝叶斯推理框架结合深度神经网络完成任务,并取得不错的效果[^5]。 另外值得注意的是,随着技术进步,更多高级变体也被开发出来,像 Conditional-Variational-Autoencoder(CVAE),它可以有条件地控制输出样式,非常适合定制化的应用场景需求。 --- ### 结论 综上所述,借助 VAE 特有的机制以及适当调整后的算法流程,确实能够在一定程度上解决当前面临的挑战难题—即有效整合各类感知信号进而提升预测精度水平的同时保持良好的鲁棒性能表现。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值