
深入探索microsoft的phi-4系列模型:多模态与迷你版的创新应用与实战指南
- Rifx.Online
- Machine Learning , Deep Learning , AI Applications
- 05 Mar, 2025
探索微软下一代开源模型 🚀🔥
微软正式发布了其新的 Phi-4 系列模型 — Phi-4-mini (3.8B) 和 Phi-4-multimodal (5.6B) — 采用 MIT 许可证。这些模型不仅旨在突破推理、多语言支持和数学方面的极限,而且还配备了令人兴奋的功能,如函数调用和量化模型部署。
Beats Gemini 2.0 Flash, GPT4o, Whisper, SeamlessM4T v2
在本博客中,我们将探索这些模型,分享示例代码参考(直接来自微软的 GitHub 示例),并指导您快速开始在 Azure AI Foundry 上使用它们,以及在您的笔记本电脑上本地运行这些模型。 享受穿越多模态 AI 新时代的旅程! 😊
Phi-4 模型概述
微软的 Phi-4 系列建立在其前身(14B 模型)的先进推理能力之上,并推出了两个模型:
- Phi-4-Multimodal: 一个完全的多模态模型,集成了文本、视觉和音频。它采用了“LoRAs 混合”,因此您可以添加特定于模态的适配器,而无需重新训练基础模型。
- Phi-4-Mini: Phi-4-Mini 拥有 38 亿个参数,在紧凑的架构中提供了增强的多语言支持、强大的推理能力,甚至函数调用。
这两个模型现在都可以在 Hugging Face、Azure AI Foundry Model Catalog、GitHub 和 Ollama 等平台上使用。
关键架构和特性
Phi-4-Multimodal
模态: 文本、视觉和语音/音频
架构: 使用“LoRAs 混合”进行特定于模态的调整
视觉模态:
- 图像编码器:SigLIP-400M
- 投影器:2 层 MLP
- 策略:动态多裁剪,以实现更好的图像理解
语音/音频模态:
- 卷积:3 层卷积网络
- Conformer 块:24 个块,令牌速率为 80ms
- 性能:在 OpenASR 榜单上名列前茅,并在多模态任务中表现出色
Phi-4-Mini
参数: 3.8B
架构:
- 32 个 Transformer 层,隐藏大小为 3,072
- Group Query Attention (GQA),具有 24 个查询头和 8 个键/值头
词汇表: 支持 20 万个令牌,用于多语言应用
训练数据: 高质量的网络和合成数据,重点是数学和编码
性能: 在数学、推理和编码任务上优于类似大小的模型,同时在关键基准上与更大的模型相匹配
训练流程和基准
这些模型的训练过程涉及多个阶段:
语言训练:
- 在 5 万亿个令牌上进行预训练
- 使用函数调用、摘要和指令跟随数据进行后训练
多模态训练:
- 视觉:分四个阶段训练
- 语音/音频:两阶段训练
- 联合视觉-语音训练
推理训练:
- 在 600 亿个链式思考令牌上进行预训练
- 在 20 万个高质量示例上进行微调
- 在 30 万个偏好样本上进行 DPO 训练
基准亮点
- 视觉:优于 Phi-3.5-Vision、Qwen2.5-VL 和 InternVL2.5;在 OCR 和图表理解等任务上与 Gemini 和 GPT-4o 匹配
- 语音:在 CommonVoice、FLEURS 和 OpenASR 榜单上实现 SOTA;在 AST 任务和语音摘要方面领先
- 语言和推理:在数学、推理和编码方面表现出色 — 与 DeepSeek-Rl-Distill-Qwen-7B 等更大的模型竞争
主要用例
该模型适用于广泛的多语言和多模态商业和研究用途。该模型为需要以下功能的通用 AI 系统和应用程序提供了用途:
- 内存/计算受限的环境
- 延迟受限的场景
- 强大的推理能力(尤其是数学和逻辑)
- 函数和工具调用
- 通用图像理解
- 光学字符识别
- 图表和表格理解
- 多图像比较
- 多图像或视频片段摘要
- 语音识别
- 语音翻译
- 语音 QA
- 语音摘要
- 音频理解
该模型旨在加速语言和多模态模型的研究,用作生成式 AI 驱动功能的构建块。
模型部署
我们可以在边缘设备上部署量化模型。通过结合 Microsoft Olive 和 ONNX GenAI Runtime,我们可以在 Windows、iPhone、Android 和其他设备上部署 Phi-4-mini。
使用 Azure AI Foundry 快速入门
Azure AI Foundry 提供了一个无缝的环境来部署和测试这些模型。 按照以下步骤开始:
注册并创建一个项目:
- 登录您的 Azure 门户。
- 导航到 Azure AI Foundry 部分。
- 创建一个专门用于 Phi-4 模型部署的新项目。
部署模型:
- 选择“部署模型”并选择 Phi-4-Multimodal 或 Phi-4-Mini。
## pip install azure-ai-inference
import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential
api_key = os.getenv("AZURE_INFERENCE_CREDENTIAL", '')
if not api_key:
raise Exception("A key should be provided to invoke the endpoint")
client = ChatCompletionsClient(
endpoint='https://<<your-model-endpoint>>.models.ai.azure.com',
credential=AzureKeyCredential(api_key)
)
model_info = client.get_model_info()
print("Model name:", model_info.model_name)
print("Model type:", model_info.model_type)
print("Model provider name:", model_info.model_provider_name)
payload = {}
response = client.complete(payload)
print("Response:", response.choices[0].message.content)
print("Model:", response.model)
print("Usage:")
print(" Prompt tokens:", response.usage.prompt_tokens)
print(" Total tokens:", response.usage.total_tokens)
print(" Completion tokens:", response.usage.completion_tokens)
从本地运行
## Install vLLM from pip:
pip install vllm
## Load and run the model:
vllm serve "microsoft/Phi-4-mini-instruct"
## Call the server using curl:
curl -X POST "http://localhost:8000/v1/chat/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "microsoft/Phi-4-mini-instruct",
"messages": [
{
"role": "user",
"content": "What is the capital of France?"
}
]
}'
示例代码参考
Microsoft 提供了这些模型的几个示例代码库。直接从他们的 GitHub 存储库中查看以下示例:
函数调用: 探索 Phi-4-mini 和 Phi-4-multimodal 如何使用函数调用来集成外部数据源(例如检索英超比赛信息):函数调用示例代码 🔗
量化模型部署: 使用 Microsoft Olive 和 ONNX GenAI Runtime 在边缘设备(Windows、iPhone、Android)上部署量化的 Phi-4-mini 模型。请参阅 Microsoft Olive 存储库和 ONNX GenAI 文档中的相关示例。
多模态 SLM — Phi-4-Multimodal: 了解如何为 Phi-4-multimodal 创建前端,它甚至支持从图像输入生成代码:多模态 SLM 示例代码 🔗
音频样本提取: 查看如何使用 Phi-4-multimodal 提取用于文本发布的音频样本:音频样本提取 🔗
语音交互示例: 查看 Phi-4 模型语音交互的演示:语音交互演示 🔗
音频翻译示例: 了解如何使用 Phi-4 执行音频翻译:音频翻译演示 🔗
高级推理代码示例: 探索一个使用 Phi-4 执行高级推理任务的示例,例如从图像输入生成项目代码: 高级推理示例代码 🔗
这些存储库是将其模型集成到您自己的项目中的绝佳起点,并作为利用 Phi-4 全部功能的指南。
结论
Phi-4 系列,包括 Phi-4-Multimodal 和 Phi-4-Mini,代表了多模态 AI 创新的一次飞跃。通过支持文本、视觉和语音——以及函数调用和量化模型部署等功能——这些模型非常适合为边缘应用程序、云部署以及介于两者之间的所有内容提供支持。
无论您是在笔记本电脑上进行本地实验,还是通过 Azure AI Foundry 进行部署,Microsoft 的 GitHub 提供的丰富示例代码(如上所述)都使您可以比以往更轻松地加入并开始构建。 享受探索 Phi-4 的功能,并祝您编码愉快! 😊
有关更多详细信息和更新,请不要忘记关注 Microsoft Phi Cookbook 和官方 Tech Community 博客。