什么是Phi-3 Mini?
Phi-3 Mini是微软开发的38亿参数小型语言模型(SLM)。它是Phi-3系列开放模型的一部分,该系列旨在实现高能力和成本效益。尽管体积小巧,Phi-3 Mini在语言、编码和数学等各种基准测试中的表现旨在超越同等甚至更大规模的模型。其紧凑的架构使其非常适合在计算资源有限的设备上直接运行,例如手机和物联网硬件,从而实现强大的AI体验而无需依赖云端。
主要特点
- 小封装中的高性能: 拥有38亿参数,其性能可与Mixtral 8x7B和GPT-3.5等大型模型相媲美。
- 扩展的上下文窗口: 提供两种变体:4K token版本和128K token版本(Phi-3-mini-128k-instruct),使其成为同类产品中首个支持如此长上下文窗口且对质量影响最小的模型。
- 为设备端部署优化: 其小巧的体积和高效率专为资源受限的环境量身定制,可实现低延迟、离线可用的AI应用。
- 强大的推理和逻辑能力: 该模型在经过严格筛选的网络数据和合成数据上进行训练,展现出强大的推理能力,尤其是考虑到其规模。
- 开放和宽松的许可: 在MIT许可下发布,允许在商业应用和研究项目中广泛使用。
使用案例
- 设备端助手: 在智能手机和其他个人设备上为响应迅速且注重隐私的虚拟助手提供动力。
- 交互式内容生成: 在应用程序内直接创建故事、电子邮件和摘要,无需服务器延迟。
- 客户支持聊天机器人: 部署可在本地服务器或边缘设备上运行的轻量级、高效的聊天机器人。
- 代码补全与辅助: 在开发环境中以最小的资源开销提供实时编码建议。
- 教育工具: 在平板电脑和其他教育硬件上实现交互式学习体验。
入门指南
这是一个简单的“Hello World”风格示例,使用Python和transformers库来运行Phi-3 Mini。
首先,请确保您已安装必要的库: ```bash pip install torch transformers accelerate
然后,您可以运行以下Python代码: ```python import torch from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
torch.random.manual_seed(0)
从Hugging Face加载模型和分词器
model_name = “microsoft/phi-3-mini-4k-instruct” model = AutoModelForCausalLM.from_pretrained( model_name, device_map=”auto”, # 如果有GPU,则自动使用 torch_dtype=”auto”, trust_remote_code=True, ) tokenizer = AutoTokenizer.from_pretrained(model_name)
创建一个对话管道
pipe = pipeline( “text-generation”, model=model, tokenizer=tokenizer, )
以聊天格式定义提示
messages = [ {“role”: “user”, “content”: “你好!你能写一首关于黎明的短诗吗?”}, ]
设置生成参数
generation_args = { “max_new_tokens”: 100, “return_full_text”: False, “temperature”: 0.7, “do_sample”: True, }
生成并打印响应
output = pipe(messages, **generation_args) print(output[0][‘generated_text’])
定价
Phi-3 Mini是根据MIT许可提供的开源模型,可免费用于商业和个人项目。如果通过Microsoft Azure AI Studio等托管服务使用,可能会产生费用。