使用 C# 和 ONNX 來玩转Phi-3 SLM - 张善友

💡 原文中文,约3500字,阅读约需9分钟。
📝

内容提要

Phi-3 SLM 是微软开发的 AI 模型,可以在计算机和手机等设备上运行。它与 ONNX 结合,实现 AI 的互操作性,并为 ONNX Runtime 提供优化的模型。C# 开发人员可以在本地 AI 开发中利用 ONNX,以简化模型部署并提高性能。HuggingFace 提供了各种 Phi-3 模型供下载,具有不同的令牌长度。Phi-3 Cookbook 仓库展示了如何在 .NET 应用程序中使用 ONNX 模型来执行问答和图像分析等任务。

🔎

延伸解读

Phi-3 模型规格与选择建议

Phi-3 模型提供 4k、8k 和 128k 等不同上下文长度版本,分别对应不同的资源需求。4k 版本所需资源较少,适合资源受限的设备;128k 版本支持更大的上下文,但需要更多计算资源。开发者应根据应用场景和硬件条件选择合适的模型。

ONNX Runtime 套件选择指南

ONNX Runtime 为 C# 开发者提供了多个 NuGet 套件:Microsoft.ML.OnnxRuntimeGenAI 是核心套件,支持 CPU 并可扩展硬件加速;Managed 版本完全托管,适合纯 .NET 环境;Cuda 版本针对 NVIDIA GPU 优化;DirectML 版本适用于 Windows 平台,支持 NVIDIA 和 AMD GPU。选择取决于硬件环境和性能需求。

中文处理能力与微调可能性

实际测试表明,Phi-3 SLM 在英文对话中回答准确,但中文处理能力较弱,会出现一些不预期的回答。这主要是因为模型主要以英文数据训练。文章提到,未来可能通过 Fine-tuning 来提升中文处理能力,但需要进一步研究。

❓

Q&A

Phi-3 SLM 是什么?

Phi-3 SLM 是微软开发的小型语言模型,能够在电脑和手机等设备上运行,强调语言理解、推理、数学和编程能力。

如何在 C# 中使用 ONNX 模型?

在 C# 应用程序中使用 ONNX 模型的主要步骤包括加载模型、设定提示和生成响应。

ONNX Runtime 有哪些优势?

ONNX Runtime 是跨平台的机器学习模型加速器,支持多种框架的模型,能够简化模型部署并增强性能。

HuggingFace 提供哪些 Phi-3 模型?

HuggingFace 提供多种 Phi-3 模型下载,包括 Phi-3-mini、Phi-3-small 和 Phi-3-medium,支持不同的令牌长度。

使用 Phi-3 模型时中文处理能力如何?

使用英文对话时,模型回答准确,但中文处理能力较弱,需要通过 Fine-tuning 提升。

C# 开发人员如何选择 ONNX Runtime 的版本?

C# 开发人员可以根据硬件加速需求选择不同的 ONNX Runtime 版本,如 Managed、CUDA 或 DirectML 版本。

🏷️

标签

➡️

继续阅读