使用 ONNX RT 和裸机人工智能硬件加速引入 Windows 应用
发表于 2023-12-05 18:15:23

Snapdragon Qualcomm 品牌产品是 Qualcomm Technologies, Inc./或其子公司的产品。

如今的媒体充斥着有关AI和不断成熟的生成式AI 模型的头条新闻,比如: 稳定扩散模型。在Windows操作系统中,一个成功的生成式AI使用案例就是Microsoft 365 Copilot。这个AI助手可以分析电子表格、生成内容、组织会议等等。

虽然这样的智能感觉像是在施展魔法,但它们的能力并非源自魔法,而是建立在过去几年得到快速发展的强大ML模型基础之上的。这些模型背后的重要推手是丰富的模型框架,机器学习开发人员正是利用这些框架开展实验和协作的。

其中一个新兴的机器学习框架是 ONNX Runtime (ONNX RT)。此开源框架使用 ONNX 格式,机器学习开发人员可以交换模型,而ONNX RT可以通过各种语言(如PythonC++C#等)执行模型 和硬件平台1

我们的 Qualcomm AI 堆栈现在支持ONNX RT,并允许Windows on Snapdragon应用享受硬件加速AI。如果您还没有听说过,Windows on Snapdragon是下一代Windows平台,基于移动计算领域多年的发展而构建。其主要功能包括异构计算,长达一整天的电池使用寿命以及Qualcomm Hexagon NPU。我们的 Windows on Snapdragon 开发者门户 提供了有关如何构建x86/x64原生应用或将其移植到本机构建的文档

下面我们进一步探讨如何将Qualcomm AI 堆栈与ONNX RT结合使用,为您的Windows on Snapdragon应用实现裸机硬件加速AI

Qualcomm AI 堆栈中的ONNX运行时支持

下图1显示了Qualcomm AI堆栈提供了工具和利用NPU在边缘的运行时:

1Qualcomm AI 堆栈为所有骁龙平台的边缘 AI 提供硬件和软件组件。

堆栈的最高层用于生成式模型的流行AI框架。这些模型可以在包括ONNX RT在内的各种AI运行时上执行。ONNX RT包括一个执行提供程序,在包括Hexagon NPU在内的各种骁龙内核上,使用 Qualcomm AI Engine Direct SDK 裸机推理。图2更加详细显示了Qualcomm AI 堆栈组件视图:

2AI 堆栈概览图,包括运行时框架支持和后端库。

应用程序级集成
在应用程序级别,开发人员可以针对ONNX运行时编译应用程序,支持Qualcomm AI Engine Direct SDKONNX RT 的执行提供程序根据ONNX模型构造图形,以便在支持的后端库上执行。

开发人员可以利用ONNX运行时API,该API针对所有执行提供程序提供统一的接口。还支持各种编程语言,如PythonC/C++JavaNode.js

我们提供两种方法生成上下文二进制文件。一种方法是使用Qualcomm AI Engine Direct工具链。另一种方法是开发人员使用ONNX RT EP生成二进制文件,然后ONNX RT EP使用Qualcomm AI Engine Direct API 上下文二进制文件将帮助应用程序缩短网络的编译时间。这些是在应用首次运行时创建的,因为后续使用的每一个模型都将从上下文二进制缓存的文件加载。

入门指南
当您准备好开始时,请按照以下步骤为ONNX RT集成到Windows on Snapdragon应用程序做好准备:

1.访问ONNX RT QNN 执行提供程序页面,了解执行提供程序及其配置选项。

2.点击此处查看GitHub上发布的示例应用程序。点击此处下载Qualcomm AI Engine Direct SDK


备注:

  1. 此链接需要注册(免费)才能访问SDK
  2. 进入页面后,选择左侧的Windows标签,然后展开 Qualcomm AI 堆栈,在其下方,找到Qualcomm AI Engine Direct SDK,然后下载:

   3.3–如何找到Qualcomm AI Engine Direct SDK以便下载。

查看Microsoft GitHub上的推理示例。该示例说明了如何使用C++及硬件加速运行 MobileNetV2 模型。

其他资源
有关更多信息,请查看Qualcomm AI Engine Direct SDK 文档ONNX 转换部分显示如何转换ONNX模型,我们的支持的操作页面列出了支持的跨框架(包括ONNX)模型操作。

请务必查看 Windows on Snapdragon 开发者门户,了解有关在Windows on Snapdragon上构建应用并将其移植成原生应用的资料和文档。您还可以注册获取我们免费的 Windows on Snapdragon新闻简报

Snapdragon Qualcomm 品牌产品是 Qualcomm Technologies, Inc./或其子公司的产品。

CSDN官方微信
扫描二维码,向CSDN吐槽
微信号:CSDNnews
微博关注
【免责声明:CSDN本栏目发布信息,目的在于传播更多信息,丰富网络文化,稿件仅代表作者个人观点,与CSDN无关。其原创性以及文中陈述文字和文字内容未经本网证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本网不做任何保证或者承诺,请读者仅作参考,并请自行核实相关内容。您若对该稿件有任何怀疑或质疑,请立即与CSDN联系,我们将迅速给您回应并做处理。】