什么是微软 Phi-3 Mini?
微软 Phi-3 Mini 是一款开创性的 38 亿参数小型语言模型 (SLM),其性能可与 Mixtral 8x7B 和 GPT-3.5 等大型模型相媲美。它是 Phi-3 开放模型家族的一员,该家族旨在成为功能最强大、最具成本效益的 SLM。Phi-3 Mini 在海量高质量网络数据和合成数据上进行训练,并针对指令遵循进行了深度优化,使其在各种端侧和云端生成式 AI 任务中表现得稳健、安全且易于使用。
主要特点
- 高性能,小尺寸: 仅有 3.8B 参数,其基准测试性能却能与比其大 10 倍的模型竞争,是资源受限环境的理想选择。
- 扩展上下文窗口: 提供两种变体:4K 上下文长度版本和 128K 上下文长度版本 (
Phi-3-mini-128k-instruct),使其能够处理和推理大型文档、书籍或代码库。 - 指令调优: 经过微调以遵循复杂指令,确保为聊天应用和个人助理提供可靠和可预测的输出。
- 为端侧设备优化: 设计用于在手机和其他边缘设备上本地运行,实现低延迟、私密且经济高效的 AI 体验。
- 强大的安全措施: 经过训练和调整,以遵守负责任 AI 的高标准,最大限度地减少有害或有偏见的输出。
应用场景
- 端侧个人助理: 在智能手机上驱动响应迅速且保护隐私的 AI 助理,无需持续的互联网连接。
- 内容创作: 快速高效地生成博客文章、营销文案和社交媒体更新。
- 代码生成与辅助: 直接在开发人员的本地环境中协助编写、完成和调试代码。
- 文档摘要: 凭借其巨大的上下文窗口,可快速总结长篇报告、文章或书籍。
- 客户服务聊天机器人: 构建经济高效且快速的聊天机器人,能够处理广泛的客户查询。
入门指南
这是一个“Hello World”风格的示例,展示了如何使用 Python 中的 transformers 库运行 Phi-3 Mini。
```python import torch from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
如果有GPU则设置设备为GPU,否则为CPU
torch.manual_seed(0) device = “cuda” if torch.cuda.is_available() else “cpu”
加载模型和分词器
model = AutoModelForCausalLM.from_pretrained( “microsoft/Phi-3-mini-4k-instruct”, device_map=device, torch_dtype=”auto”, trust_remote_code=True, ) tokenizer = AutoTokenizer.from_pretrained(“microsoft/Phi-3-mini-4k-instruct”)
创建文本生成管道
pipe = pipeline( “text-generation”, model=model, tokenizer=tokenizer, )
定义聊天消息
messages = [ {“role”: “user”, “content”: “你能用Python写一个简短的’hello world’程序吗?”}, ]
生成回复
generation_args = { “max_new_tokens”: 500, “return_full_text”: False, “temperature”: 0.0, “do_sample”: False, }
output = pipe(messages, **generation_args) print(output[0][‘generated_text’])
此代码将生成一个简单的 Python “Hello World” 程序。
定价
Phi-3 Mini 在宽松的 MIT 许可证下发布,使其完全开源,可免费用于商业和研究用途。它也作为托管模型通过 Microsoft Azure AI 提供,适用标准 API 使用费,提供了一个可扩展的企业级部署选项。