Zant – Zig SDK с открытым исходным кодом для развертывания нейронных сетей на микроконтроллерах

Zant — это кроссплатформенный SDK с открытым исходным кодом, написанный на Zig и предназначенный для упрощения развертывания нейронных сетей (NN) на микроконтроллерах. Он включает в себя набор инструментов для импорта, оптимизации и развертывания нейронных сетей на низкоуровневом оборудовании.

Разработчики проекта разработали Zant (ранее известный как Zig-ant) после того, как заметили, что многим микроконтроллерам не хватает надежных библиотек глубокого обучения, и убедились, что он будет на различных платформах, таких как микроконтроллеры ARM Cortex-M или RISC-V, или даже на целевых платформах x86. В отличие от платформ, таких как Edge Impulse, которые фокусируются на создании сетей, Zant занимается развертыванием и выводит статическую, высокооптимизированную библиотеку, готовую к интеграции в любой существующий рабочий стек.

Основные моменты Zant:

  • Оптимизированная производительность — поддерживает квантование, обрезку и методы аппаратного ускорения, такие как SIMD и разгрузка графического процессора.
  • Низкий объем используемой памяти — Zant использует пул памяти, статическое распределение и оптимизацию буфера для работы с целями с ограниченными ресурсами.
  • Простота интеграции: благодаря модульной конструкции, понятным API и подробным примерам/документации интегрировать Zant в ваши проекты не составит труда.

Zant подходит для приложений компьютерного зрения на базе искусственного интеллекта (например, обнаружения объектов или оптического осмотра), предиктивного обслуживания и добавления возможностей ИИ в автономные системы, такие как дроны и роботы. Zant SDK все еще находится в стадии разработки, но мы можем найти некоторый код и расписание на GitHub.

Прямо сейчас Zant должен иметь возможность запустить вывод MNIST на Raspberry Pi Pico 2, полагаясь на импортированные модели из ONNX, и мы предполагаем, что работая либо на ядрах Arm, либо на RISC-V (TBC), исходя их кроссплатформенной цели проекта. Следующим шагом планируется эффективное внедрение YOLO на Raspberry Pi Pico 2 к концу апреля.

Другие пункты в списке текущих задач включают внедрение трекера форм для оптимизации тензорных операций, разработку внешнего интерфейса для упрощения взаимодействия с библиотекой, оптимизацию генерации кода, расширение поддержки ONNX и поддержку дополнительных микроконтроллеров и архитектур, помимо Raspberry Pi RP2350. Согласно графику, библиотека Zigante может достичь этих целей к концу третьего квартала 2025 года.

Это далеко не первый раз, когда машинное обучение было реализовано на микроконтроллерах. Как было отмечено выше, Edge Impulse является примером, но мы также рассмотрели BitNetMCU для CH32V003 RISC-V MCU , TinyMax для совместимых с Arduino микроконтроллеров и TensorFlow Lite для MCU. Насколько мы понимаем, основным преимуществом Zant станет возможность легкого развертывания модели нейронной сети на гетерогенных платформах с минимальными или нулевыми изменениями кода.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments