使用微软Phi-3-mini模型快速创建生成式AI应用

微软Phi-3大语言模型是微软研究院推出的新一代系列先进的小语言模型。Phi-3系列包括phi-3-mini、phi-3-small和phi-3-medium三个不同规模的版本。这些模型在保持较小的参数规模的同时,通过精心设计的训练数据集和优化的算法,实现了与大型模型相媲美的语言理解和推理能力。

Phi-3-mini是微软Phi家族的第4代,有预训练和指令微调多种模型,参数只有38亿,但训练数据高达3.3T tokens。Phi-3-mini 不仅可以在传统计算设备上运行,还可以在移动设备和物联网设备等边缘设备上运行。Phi-3-mini 版本涵盖了传统的 Pytorch 模型格式、gguf 格式的量化版本和基于 onnx 的量化版本。这也为不同应用场景下的开发者带来了便利。本博客的内容希望让不同的开发者结合不同的技术框架,探索 Phi-3-mini 发布的不同模型格式,让大家可以先推断出 Phi-3-mini。

使用Semantic Kernel访问 Phi-3-mini

在生成式AI应用程序中,我们通过语义内核/LangChain 创建应用程序。这种类型的应用框架一般兼容 Azure OpenAI 服务/OpenAI 模型,还可以支持 Hugging face 和本地模型上的开源模型。因此,我们可以将Phi-3-mini与语义内核中的 Hugging face Connector 结合使用。默认情况下,它可以对应 Hugging face 上的模型 ID(第一次使用时,模型会从 Hugging face 下载,需要很长时间),也可以选择连接到本地部署的服务。

从图中可以看出,通过语义内核访问本地服务可以轻松连接到自建的 Phi-3-mini 模型服务器:

微软官方示例代码 https://github.com/Azure-Samples/Phi-3MiniSamples/tree/main/semantickernel

使用 Ollama 或 LlamaEdge 调用量化模型

很多开发者喜欢使用量化模型在本地运行模型。通过Ollama/LM Studio,个人用户可以随意调用不同的量化模型。

您可以直接运行ollama run phi3 或使用以下命令离线配置它。

  1. 创建模型文件
bash 复制代码
ROM {Add your gguf file path}
TEMPLATE """<|user|>
{{.Prompt}}<|end|>
<|assistant|>"""
PARAMETER stop <|end|>
PARAMETER num_ctx 4096
  1. 在终端中运行
bash 复制代码
ollama create phi3mini -f Modelfile
ollama run phi3mini 

微软官方示例代码 https://github.com/Azure-Samples/Phi-3MiniSamples/tree/main/ollama

Phi-3-mini的特性使之非常适合在云和边缘设备中使用,您可以选择LlamaEdge ,将Phi-3-mini运用于云原生、边缘和去中心化应用程序。以下是要使用的步骤:

  1. 安装和下载相关库和文件。
bash 复制代码
curl -sSf https://raw.githubusercontent.com/WasmEdge/WasmEdge/master/utils/install.sh | bash -s -- --plugin wasi_nn-ggml

curl -LO https://github.com/LlamaEdge/LlamaEdge/releases/latest/download/llama-api-server.wasm

curl -LO https://github.com/LlamaEdge/chatbot-ui/releases/latest/download/chatbot-ui.tar.gz

tar xzf chatbot-ui.tar.gz

注意:llama-api-server.wasm 和 chatbot-ui 需要在同一个目录下

  1. 在终端中运行脚本
bash 复制代码
wasmedge --dir .:. --nn-preload default:GGML:AUTO:{Your gguf path} llama-api-server.wasm -p phi-3-chat

微软官方示例代码 https://github.com/Azure-Samples/Phi-3MiniSamples/tree/main/wasm

运行 ONNX 量化模型

ONNX 运行时是 ONNX 模型的高效运行时库。它支持多种操作系统和硬件平台,包括 CPU、GPU 等。ONNX Runtime 的主要优势是其高效的性能和易于部署。通过 ONNX Runtime,开发人员可以轻松地将经过训练的模型部署到生产环境,而无需关心底层推理框架。在大型模型时代,ONNX Runtime发布了基于生成式AI的接口(Python/.NET/C/C++)。我们可以使用此接口来调用 Phi-3-mini 模型。接下来我们尝试通过 Python 调用 Phi-3-mini 模型(使用 ONNX Runtime Generative AI 时,需要先编译环境,请参考 https://github.com/microsoft/onnxruntime-genai/blob/main/examples/python/phi-3-tutorial.md)

微软官方示例代码 https://github.com/Azure-Samples/Phi-3MiniSamples/tree/main/onnx

Phi-3-mini的发布允许个人和企业在不同的硬件设备上部署SLM,特别是移动设备和工业物联网设备,这些设备可以在有限的计算能力下完成简单的智能任务。结合 LLM 可以开启生成式 AI 的新时代。

相关推荐
pingao1413784 分钟前
零启动风速+多参数集成:金属超声波传感器的技术突破
人工智能·科技
刘逸潇20055 分钟前
Socket:TCP/UDP通信详解
python·websocket·udp·tcp
wshzd16 分钟前
LLM之Agent(二十八)|AI音视频转笔记方法揭秘
人工智能·笔记
IT_陈寒19 分钟前
Python 3.12新特性实战:5个让你的代码效率翻倍的隐藏技巧!
前端·人工智能·后端
The_Second_Coming29 分钟前
Python 学习笔记:基础篇
运维·笔记·python·学习
诗句藏于尽头29 分钟前
python实战学习记录
python·学习
草莓熊Lotso32 分钟前
C++ 二叉搜索树(BST)完全指南:从概念原理、核心操作到底层实现
java·运维·开发语言·c++·人工智能·经验分享·c++进阶
Dfreedom.33 分钟前
大模型微调技术全景解析:从基础理论到工程实践
人工智能·大模型微调
m0_4626052239 分钟前
第N5周:Pytorch文本分类入门
人工智能·pytorch·分类
喜欢吃豆1 小时前
Parquet 范式:大语言模型训练数据格式优化的基础解析
人工智能·语言模型·自然语言处理·大模型·parquet