使用 ONNX RT 为 Windows 应用实现硬件加速 AI

赞助内容

 

作者:Rajan Mistry,高通开发者网络高级应用工程师

如今,你很难不关注到媒体关于 AI 以及像 Stable Diffusion 这类生成式 AI 模型日益复杂的头条新闻。Microsoft 365 Copilot 就是一个在 Windows 上应用生成式 AI 的绝佳案例。这位 AI 助手可以执行分析电子表格、生成内容和组织会议等任务。

虽然这种智能感觉像是魔法,但它的能力并非凭空而来。它们建立在强大的机器学习模型基础上,而这些模型一直在快速发展。这些模型的关键推动力是丰富的模型框架,它使机器学习开发者能够进行实验和协作。

ONNX Runtime (ONNX RT) 就是这些新兴的机器学习框架之一。这个开源框架的底层 ONNX 格式使机器学习开发者能够交换模型,而 ONNX RT 则可以从多种语言(如 Python、C++、C# 等)和硬件平台上执行这些模型。

我们的 Qualcomm AI Stack 现在支持 ONNX RT,并允许在 Windows on Snapdragon 应用中实现硬件加速的 AI。如果你还没听说过,Windows on Snapdragon 是下一代 Windows 平台,它基于多年来在移动计算领域的演进。其主要特性包括异构计算、长达一整天的电池续航以及高通 Hexagon NPU。

让我们来仔细看看,如何将 Qualcomm AI Stack 与 ONNX RT 结合使用,在你的 Windows on Snapdragon 应用中实现裸机级别的硬件加速 AI。

 

Qualcomm AI Stack 中的 ONNX Runtime 支持

 
如下图 1 所示,Qualcomm AI Stack 提供了充分利用边缘端 NPU 的工具和运行时。

 

Figure 1 – The Qualcomm AI Stack provides hardware and software components for AI at the edge across all Snapdragon platforms.
图 1 – Qualcomm AI Stack 为所有骁龙平台上的边缘 AI 提供了硬件和软件组件。

 

在该技术栈的顶层是用于生成模型的流行 AI 框架。这些模型随后可以在包括 ONNX RT 在内的各种 AI 运行时上执行。ONNX RT 包含一个执行提供程序 (Execution Provider),它使用 Qualcomm AI Engine Direct SDK 在骁龙的各种核心(包括其 Hexagon NPU)上进行裸机推理。图 2 更详细地展示了 Qualcomm AI Stack 的组件。

 

Figure 2 – Overview of the Qualcomm AI Stack including its runtime framework support and backend libraries.
图 2 – Qualcomm AI Stack 概览,包括其运行时框架支持和后端库。

 

应用层集成

 
在应用层,开发者可以编译他们的应用程序,以支持使用 Qualcomm AI Engine Direct SDK 构建的 ONNX runtime。ONNX RT 的执行提供程序 (Execution Provider) 会从一个 ONNX 模型构建一个图,以便在受支持的后端库上执行。

开发者可以使用 ONNX runtime API,它为所有执行提供程序提供了一致的接口。它还被设计为支持多种编程语言,如 Python、C/C++/C#、Java 和 Node.js。

我们提供两种方式来生成上下文二进制文件。一种是使用 Qualcomm AI Engine Direct 工具链。另一种方式是,开发者可以使用 ONNX RT EP 生成二进制文件,而 ONNX RT EP 内部又会调用 Qualcomm AI Engine Direct API。上下文二进制文件有助于应用减少网络的编译时间。这些文件在应用首次运行时创建。在后续运行中,模型会从缓存的上下文二进制文件中加载。

 

入门

 
当你准备好开始时,请访问 Qualcomm AI Engine Direct SDK 页面,你可以在那里下载 SDK 并查阅文档。

骁龙和高通品牌产品是高通技术公司和/或其子公司的产品。.
 
 

暂无评论。

发表评论

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。