Поддерживаемые бэкенды

06 июня 2025

ID 244808

В Kaspersky Neuromorphic Platform поддерживаются следующие типы бэкендов:

  • Бэкенды для CPU:
    • Однопоточный бэкенд для CPU. Бэкенд работает только в одном потоке. Вы можете использовать однопоточный бэкенд для отладки платформы и работы нейронной сети. Интерфейс к бэкенду реализован в классе SingleThreadedCPUBackend.
    • Многопоточный бэкенд для CPU. Бэкенд работает в нескольких потоках одновременно, что обеспечивает повышение скорости расчета нейронной сети. Вы можете использовать многопоточный бэкенд для обучения и исполнения импульсной нейронной сети. Интерфейс к бэкенду реализован в классе MultiThreadedCPUBackend.
  • Бэкенд для исполнения импульсных нейронных сетей на нейроморфном процессоре Алтай-1 (далее также "бэкенд AltAI SNN"):

    Интерфейс к бэкенду реализован в классе AltAIBackend. Класс AltAIBackend предоставляет стандартные функции, предоставляемые базовым классом Backend.

    В качестве типа устройства вы можете выбрать как аппаратный процессор нейроморфного процессора Алтай-1, так и его программный эмулятор. Для аппаратного процессора используется фиксированная конфигурация ядер. При выборе программного эмулятора в качестве типа устройства вы можете изменить параметры конфигурации ядер нейроморфного процессора Алтай-1 с помощью метода программного эмулятора load_core_grid_params(), а также задать расположение портов ввода и вывода в конфигурации ядер с помощью метода make_standart_north_port().

    Метод load_core_grid_params() необходимо вызвать перед инициализацией бэкенда.

    На рисунке ниже представлена схема взаимодействия компонентов платформы при использовании бэкенда AltAIBackend. Импульсная нейронная сеть создается с помощью компонентов платформы. Обучение нейронной сети необходимо выполнить и обучается методом синаптической пластичности. На данный момент бэкенд AltAIBackend поддерживает нейроны по модели AltAILIF и синапсы по модели DeltaSynapse, при этом веса синапса должны быть целочисленными и находиться в диапазоне от -255 до 255.

    Выполнение обучения импульсной нейронной сети доступно на центральном процессоре методом синаптической пластичности. Если требуется, вы можете реализовать и использовать собственные методы обучения и бэкенды.

    Далее нейронная сеть проверяется на соответствие ограничениям нейроморфного процессора Алтай-1 и переводится в формат, поддерживаемый процессором для ее исполнения. Исполнение импульсной нейронной сети возможно как на программном эмуляторе, так и непосредственно на аппаратном процессоре Алтай-1.

    Схема взаимодействия платформы с бэкендом AltAI SNN

  • Бэкенды для обучения и исполнения искусственных нейронных сетей, преобразованных в импульсные (далее также "бэкенды AltAI ANN2SNN"):
    • Бэкенд аппаратного обеспечения нейроморфного процессора Алтай-1;
    • Бэкенд программного эмулятора нейроморфного процессора Алтай-1.

    Обучение нейронной сети производится обратным распространением ошибки с квантованием весов.

    На рисунке ниже представлена схема взаимодействия компонентов платформы при использовании бэкендов AltAI ANN2SNN. Нейронная сеть создается с помощью тернарных слоев пакета ANN2SNN, реализованной как часть Python-фреймворка, и обучается путем обратного распространения ошибки с квантованием весов. Далее нейронная сеть размещается с помощью утилиты placer для ее исполнения на нейроморфном процессоре Алтай-1. Во время размещения нейронная сеть проверяется на соответствие ограничениям нейроморфного процессора и переводится в формат, поддерживаемый процессором для ее исполнения.

    Бэкенды AltAI ANN2SNN реализованы в пакете, отдельном от бэкендов для CPU и бэкенда AltAI SNN.

    Схема взаимодействия компонентов платформы при использовании пакета AltAI ANN2SNN

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!