微软正式推出了其新的Phi-4系列模型——Phi-4-mini(3.8B) 和 Phi-4-multimodal(5.6B),并以MIT许可证的形式开放源代码。这些模型不仅在推理、多语言支持和数学等领域取得突破,还具备令人兴奋的功能,如函数调用和量化模型部署功能。
胜过 Gemini 2.0 Flash, GPT4o, Whisper 和 SeamlessM4T v2
在本文中,我们将一起探索这些模型,分享示例代码,并引导您快速入门Azure AI工坊以及在您的笔记本上本地运行这些模型。享受这段多模态AI新时代的旅程! 😊
Phi-4 模型简介微软的Phi-4系列包括在其前身(14B模型)的基础上进一步增强的推理能力,并推出了两个新模型:
- Phi-4-Multimodal:
一个完全多模态的模型,集成了文本、视觉和音频。它采用了“LoRA 的混合”方法,因此你可以添加特定模态的适配器而无需重新训练基础模型。 - Phi-4-Mini:
具有38亿参数,Phi-4-Mini 提供增强的多语言支持、强大的逻辑推理能力和函数调用功能——所有这些功能都整合在一个紧凑的架构中。
这两个模型现在可以在Hugging Face、Azure AI Foundry Model Catalog、GitHub和Ollama等平台上。
关键架构和功能 Phi-4-多模态(多模态)模态类型: 文本、图像和声音
架构: 采用“LoRAs 的混合方式”进行特定模态的调整
视觉模式:
- 图像编码器 SigLIP-400M
- 投影头 2层MLP
- 策略:采用动态多裁切以更好地理解图像
语音/声学模态:
- 卷积层: 3层卷积网络
- Conformer 块(Conformer Blocks): 24个块,每个块的标记率为80毫秒(token rate of 80ms)
- 性能: 在OpenASR排行榜上名列前茅,并在多模态任务中表现优异,尤其是在语音识别和图像处理方面
(注:Phi-4-Mini为特定技术术语或产品名称,此处保留原文。)这部分可以根据具体上下文进行适当调整或补充解释。
参数值: 38亿
建筑设计:
- 32 个隐藏层大小为 3,072 的 Transformer 层
- 配有 24 个查询头和 8 个键值头的组查询注意力(GQA)
词汇: 支持20万个标记的多语言应用,用于各种多语言场景。
训练数据: 高质量的网络和编程相关的合成的数据,主要集中在数学和编程题目方面。
性能: 在数学、推理和编程任务上,它表现优于同级别的模型,同时在关键基准测试中也能与更大规模的模型匹敌。
训练流程及基准这些模型的训练过程包含多个阶段。
语言培训:想学语言吗?我们这里有培训!
- 基于5万亿个token进行预训练
- 后训练则加入了函数调用、摘要和指令跟随的数据
多模态训练:
- 视觉:分四个阶段训练
- 语音/音频:分两个阶段训练
- 联合视觉和语音训练
推理练习:来试试推理吧
- 基于60B链式思维令牌进行了预训练
- 在200K高质量示例上进行了微调
- 通过300K偏好选择进行了DPO训练过程
- 目标: 在OCR和图表理解等任务上,我们的表现优于Phi-3.5-Vision、Qwen2.5-VL和InternVL2.5,在这些任务上,我们的表现与Gemini和GPT-4o相当。
- 语音识别: 在CommonVoice、FLEURS和OpenASR Leaderboard上达到行业最高标准,在AST任务和语音总结上处于领先位置。
- 语言与推理: 在数学、逻辑推理和编程方面表现出色,在这些方面,我们的表现不输于DeepSeek-Rl-Distill-Qwen-7B等大型模型。
该模型旨在广泛应用于多语言和多模态的商业和研究用途。该模型适用于通用的人工智能系统和需要以下功能的应用程序。
- 内存或计算资源有限的环境
- 延迟敏感的应用场景
- 强大的逻辑推理(特别是数学和逻辑)
- 函数和工具的调用
- 通用图像识别
- 光学字符识别
- 图表和表格分析
- 多图像对比
- 多图像或视频片段的摘要
- 语音识别
- 语音翻译
- 语音问答系统
- 语音总结
- 音频理解
该模型目的是加快语言和多模态模型研究的相关步伐,作为生成式AI功能的构建模块。
模型的部署我们可以将量化模型部署到边缘设备上。通过结合Microsoft Olive和ONNX GenAI Runtime,我们可以在等设备如Windows、iOS设备、Android上部署Phi-4-mini。
使用Azure AI工厂(Azure AI Foundry)快速入门Azure AI 工坊提供了一个顺畅的环境来部署和测试这些模型的过程。按照以下步骤开始吧:
注册并创建一个项目,
- 登录到您的Azure 门户。
- 找到 Azure 人工智能工厂。
- 创建一个新的项目,专用于 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("请提供一个密钥以调用端点")
client = ChatCompletionsClient(
endpoint='https://<<your-model-endpoint>>.models.ai.azure.com',
credential=AzureKeyCredential(api_key)
)
model_info = client.get_model_info()
print("模型名称:", model_info.model_name)
print("模型类型:", model_info.model_type)
print("模型提供商名称:", model_info.model_provider_name)
payload = {}
response = client.complete(payload)
print("响应:", response.choices[0].message.content)
print("模型:", response.model)
print("使用统计:")
print("提示令牌数:", response.usage.prompt_tokens)
print("总令牌数:", response.usage.total_tokens)
print("完成令牌数:", response.usage.completion_tokens)
在本地运行它
# 使用pip安装vLLM:
pip install vllm
# 加载并运行模型并启动服务:
vllm serve "microsoft/Phi-4-mini-instruct"
# 使用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": "法国的首都是什么?"
}
]
}'
代码示例
微软提供了这些模型的一些代码样例仓库。可以直接从他们的GitHub仓库浏览以下示例:
函数调用介绍: 探索如何利用函数调用来整合外部数据源(比如获取英超联赛的比赛信息):函数调用示例代码 🔗
量化模型部署: 利用 Microsoft Olive 和 ONNX GenAI 运行时在边缘设备(如 Windows、iPhone 和 Android)上部署 Phi-4-mini 量化模型。参见 Microsoft Olive 代码库和 ONNX GenAI 文档中的相关示例。
多模态SLM:Phi-4多模态: 学习如何为Phi-4多模态创建前端,它甚至支持从图像生成代码:多模态 SLM 示例代码 🔗
音频样本的提取: 如何提取音频样本用于文本发布:点击这里查看:音频样本提取 🔗
语音互动示例: 查看Phi-4模型语音互动示例:语音互动示例 🔗
音频翻译演示: 发现如何利用Phi-4进行音频翻译:点击音频翻译演示 🔗查看示例
高级推理代码样本: 探索一个使用Phi-4执行高级推理任务的代码样本,例如,通过图像输入生成项目代码:
高级推理示例代码 点击这里查看
这些仓库是将这些模型集成到你自己的项目中的极好的开始点,并在使用Phi-4的所有功能时提供帮助。
最后Phi-4系列,包括Phi-4多模态和Phi-4迷你版本,标志着多模态人工智能创新的一大步。支持文本、视觉和语音等,具备函数调用和量化模型部署等特性,这些模型能够赋能从边缘应用到云端部署的各种应用场景。
无论您是在笔记本电脑上进行本地实验还是通过Azure AI Foundry部署,来自微软GitHub的丰富示例代码从未如此容易开始构建。尽情探索Phi-4的功能吧,祝您编程愉快!😊
想要了解更多详情和最新动态,别忘了关注Microsoft Phi Cookbook以及技术社区博客。
谢谢!感谢你花时间阅读我的故事!如果你觉得它有趣且有帮助,请考虑点个赞(甚至50次!)以表示你的支持。你的点赞能帮助其他人发现这样的内容,并且激励我继续创作更多。
此外,别忘了关注我,获取更多关于AI的见解和更新。你的支持对我非常重要,它帮助我继续与你分享有价值的信息。谢谢!
共同學習,寫下你的評論
評論加載中...
作者其他優質文章