Ядра Codasip L31 и L11 RISC-V для AI/ML поддерживают TFLite Micro, пользовательская настройка


Codasip анонсировала маломощные встроенные процессорные ядра RISC-V L31 и L11, оптимизированные для настройки периферийных приложений AI/ML IoT с ограничениями по мощности и размеру.

Компания также объясняет, что новые ядра L31/L11 RISC-V могут работать с TensorFlow Lite от Google для микроконтроллеров (TFLite Micro) и могут быть оптимизированы для конкретных приложений с помощью инструментов проектирования Codasip Studio RISC-V. Насколько мы понимаем, это могут сделать сами клиенты благодаря полной лицензии на архитектуру, как заявил технический директор Codasip Зденек Пршикрыл (Zdeněk Přikryl):

Лицензирование описания CodAL ядра RISC-V дает клиентам Codasip лицензию на полную архитектуру, позволяющую настраивать как ISA, так и микроархитектуру. Новые ядра L11/31 еще больше упрощают добавление функций, о которых просили наши клиенты, таких как периферийный ИИ, в самые компактные конструкции встроенных процессоров с низким энергопотреблением.

Возможность настройки ядер важна для приложений AI и ML, поскольку типы данных, квантование и требования к производительности сильно различаются от приложения к приложению, а готовые процессоры могут быть не оптимизированы для конкретной задачи.

Нам не сообщают много подробностей о новых ядрах, за исключением того, что все они поставляются с 3-ступенчатым конвейером, в то время как Codasip L31/L31F (с FPU) используют набор инструкций RV32IMC, предлагают 32 регистра и параллельный множитель, в то время как Codasip L11 основан на наборе инструкций RV32EMC, имеет 16 регистров и последовательный множитель. Они также заменяют более ранние ядра Codasip L30(F) и L10, которые больше не рекомендуются для новых конструкций.

Codadip демонстрирует преимущества использования TFLite-Micro и настройки в официальном документе под названием «Встроенный Искусственный Интеллект на ядрах L-серии — нейронные сети, усиленные пользовательскими инструкциями» (требуется регистрация, но вы можете использовать поддельный адрес электронной почты). В качестве примера они использовали «классификацию рукописных цифр MNIST» и сравнили различные реализации с точки зрения цикла, мощности и площади.

L31 с FPU (31F) посередине намного быстрее, потребляет значительно меньше, но из него получится гораздо более крупный чип. Решение состоит в том, чтобы использовать L31 с квантованием параметров нейронной сети и входных данных, поддерживаемых TFLite-Micro, с почти такой же производительностью, как аппаратное решение FPU, даже с меньшим энергопотреблением и той же площадью, поскольку чип не нужно изменять. Переключение на целое число вместо числа с плавающей запятой оказало незначительное влияние на точность: 98,91% (fp32) и 98,89% (int8) на наборе из 10 000 изображений.

Таким образом, лучшим компромиссом является использование L31 с TFLite-Micro, но для дальнейшей оптимизации дизайна они профилировали программу с помощью Codasip Studio, чтобы найти код (C) и связанные с ним инструкции, которые потребляют больше всего циклов.

Чтобы оптимизировать загрузку векторной памяти и последовательности сверточных умножений и накоплений, они добавили две пользовательские инструкции:

  • mac3 для объединения умножения и сложения в один тактовый цикл (ускоряет четвертую строку выше)
  • lb.pi для немедленного увеличения адреса после инструкции загрузки (соедините строки 2 и 3)

Новые инструкции отображаются в профилях, и весь цикл занимает гораздо меньше циклов. В частности, это привело к сокращению количества циклов на 10 % и снижению энергопотребления на 8 %. Новые пользовательские инструкции действительно увеличили площадь, но только на 0,8%.

Поддержка TFLite-Micro — это новинка для микроконтроллеров Codasip RISC-V, но теперь она добавлена ​​ко всем их ядрам.

Оценку ядра можно выполнить на плате Digilent Nexys A7 FPGA либо с исходным программным кодом, либо с RTOS, такой как FreeRTOS. Более подробную информацию о ядре L31 и L11 RISC-V можно найти на веб- сайте Codasip и в пресс-релизе.

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

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

5 1 vote
Article Rating
Подписаться
Уведомление о
guest

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

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