Аппаратное ускорение ИИ для приложений Windows с использованием ONNX RT

Ускорение работы приложений Windows с помощью аппаратного ускорения ИИ и ONNX RT

Спонсорский контент

 

Автор Раджан Мистри, старший инженер приложений Qualcomm Developer Network

Сегодня невозможно не прочитать заголовки СМИ о искусственном интеллекте (ИИ) и растущей сложности генеративных моделей ИИ, таких как Stable Diffusion. Отличным примером использования генеративного ИИ на Windows является Microsoft 365 Copilot. Этот ИИ-помощник может выполнять задачи, такие как анализирование ваших таблиц, генерация контента и организация ваших встреч.

И хотя такой интеллект может показаться волшебством, его способности не возникают магическим образом. Они основаны на мощных моделях глубокого обучения (ML), которые быстро эволюционируют. Ключевым фактором для этих моделей являются богатые модельные фреймворки, которые позволяют разработчикам ML экспериментировать и сотрудничать.

Один из таких новых модельных фреймворков ML – ONNX Runtime (ONNX RT). Базовый формат ONNX open-source фреймворка позволяет разработчикам ML обмениваться моделями, в то время как ONNX RT может выполнять их на разных языках программирования (например, Python, C++, C#, и т. д.) и аппаратных платформах.

Наша Qualcomm AI Stack теперь поддерживает ONNX RT и обеспечивает аппаратное ускорение ИИ в приложениях Windows на платформе Snapdragon. Если вы не слышали, Windows на Snapdragon – это платформа Windows следующего поколения, построенная на многолетнем развитии мобильных вычислительных устройств. Основные особенности включают гетерогенные вычисления, телефония на весь день и процессор Qualcomm Hexagon NPU.

Давайте подробнее рассмотрим, как вы можете использовать Qualcomm AI Stack с ONNX RT для аппаратно-ускоренного ИИ в ваших приложениях Windows на платформе Snapdragon.

 

Поддержка ONNX Runtime в Qualcomm AI Stack

 Qualcomm AI Stack, показанный на рисунке 1 ниже, предоставляет инструменты и среды выполнения для использования NPU на грани:

 Рисунок 1 – Qualcomm AI Stack предоставляет аппаратные и программные компоненты для выполнения ИИ на грани на всех платформах Snapdragon.

На самом верхнем уровне стека находятся популярные ИИ-фреймворки для создания моделей. Эти модели затем могут быть выполнены на разных средах выполнения ИИ, включая ONNX RT. ONNX RT включает поставщика выполнения, который использует непосредственную барельефную инференцию Qualcomm AI Engine Direct SDK на различных ядрах Snapdragon, включая Hexagon NPU. Рисунок 2 показывает более подробное представление компонентов Qualcomm AI Stack:

 Рисунок 2 – Обзор компонентов Qualcomm AI Stack, включая поддержку его стека выполнения и бэкэнд-библиотек.

 

Интеграция на уровне приложения

 На уровне приложения разработчики могут компилировать свои приложения для ONNX Runtime, созданного с поддержкой Qualcomm AI Engine Direct SDK. Поставщик выполнения ONNX RT создает граф из модели ONNX для выполнения на поддерживаемой бэкэнд-библиотеке.

Разработчики могут использовать API ONNX runtime, предоставляющий согласованный интерфейс для всех поставщиков выполнения. Он также разработан для поддержки различных языков программирования, таких как Python, C/C++/C#, Java и Node.js.

Мы предлагаем два варианта для создания бинарных контекстов. Один из способов – использовать непосредственный инструментарий Qualcomm AI Engine Direct. Кроме того, разработчики могут создавать бинарный файл с помощью ONNX RT EP, который, в свою очередь, использует API непосредственного инструментария Qualcomm AI Engine Direct. Бинарные файлы контекста помогают приложениям сократить время компиляции для сетей. Они создаются при первом запуске приложения. При последующих запусках модель загружается из кэшированного бинарного файла контекста.

 

Начало работы

 Когда вы будете готовы приступить, посетите страницу Qualcomm AI Engine Direct SDK, где вы можете скачать SDK и получить доступ к документации.

Продукты Snapdragon и Qualcomm являются продуктами Qualcomm Technologies, Inc. и/или ее дочерних предприятий.