- •Московский государственный технический университет
- •Аэрокосмический факультет
- •Нейропроцессоры
- •2006 Г.
- •Краткая историческая справка.
- •Поняте нейросети.
- •Особенности нейросети как вычислительной среды.
- •Применение процессоров общего назначения для построения нейросред.
- •Применение dsp для построения нейросред.
- •Dsp фирмы Analog Devices.
- •Быстрая выборка и исполнение команд.
- •Возможность работы в мультимикропроцессорных конфигурациях.
- •Мощные блоки вычислений.
- •Simd-режим выполнения операций.
- •Применение плис для построения нейросред.
- •Применение аналоговых и гибридных решений для построения нейросред.
- •Сбис etann 80170nx.
- •Сбис clnn32/clnn64 фирмы Bellcore.
- •Применение систолических процессоров для построения нейросред.
- •Некоторые замечания по разработке систол
- •Систолический процессор sand.
- •Систолический процессор cnaps
- •Применение нейросигнальных процессоров для построения нейросред. Нейросигнальный процессор nm6403.
- •Структура нейропроцессора nm6403.
- •Возможности создания многопроцессорных вычислителей на базе nm6403.
- •Реализация нейронной сети на нейропроцессоре nm6403.
- •Задачи, для решения которых используют нейросети.
- •Сравнение быстродействия различных решений.
- •Основные достоинства и недостатки различных решений
- •Литература:
Задачи, для решения которых используют нейросети.
Нейронные сети используются для решения разнообразных задач во многих отраслях человеческой деятельности, вот некоторые из них:
Экономика и бизнес. Здесь нейросети применяются для предсказания рынков, оценки риска невозврата кредитов, предсказания банкротств, оценки стоимости недвижимости, автоматического рейтингования, оптимизации товарных и денежных потоков, автоматического считывания чеков и форм. Нейросети в этой области реализуются в основном в виде программных комплексов для рабочих станций на базе процессоров общего назначения. Но объем данных, подлежащий анализу очень велик, а ценность, которую представляют результаты анализа, значительна, поэтому часто используются специальные нейроускорители, выполненные в виде модулей расширения.
Медицина. В этой области нейрокомпьютеры выполняют обработку медицинских изображений, мониторинг состояния пациентов, диагностику, факторный анализ эффективности лечения, очистку показаний приборов от шумов. В медицине есть необходимость в построении специфических нейровычислителей, мобильных систем, сверхминиатюрных персональных нейродатчиков.
Авиация. С помощью нейросистем производится автоматическое пилотирование, распознавание сигналов радаров, адаптивное пилотирование сильно поврежденного самолета. Условия, в которых работают авиаприборы, накладывают сильные ограничения на их размер, быстродействие, помехозащищенность. Это создает благоприятные условия для внедрения современных аппаратных решений для нейросред.
Связь. В области средств связи нейроалгоритмы осуществляют сжатие видео-информации, быстрое кодирование/декодирование, оптимизацию сотовых сетей и схем маршрутизации пакетов. Особые требования в этой сфере предъявляются к возможности создания автономных, мобильных решений, допускающих встраивание в переносные видеокамеры, сотовые телефоны и др.
Безопасность и охранные системы. В этой области уже довольно эффективно действуют системы идентификации личности, распознавания голоса, лиц в толпе, распознавания автомобильных номеров, анализа аэрокосмических снимков, мониторинга информационных потоков, обнаружения подделок.
Автоматизация производства. В этой области нейрокомпьютеры могут использоваться для оптимизации режимов производственного процесса, комплексной диагностики качества продукции (с помощью ультразвука, оптики, гамма-излучения), мониторинга и визуализации многомерной диспетчерской информации, предупреждения аварийных ситуаций, в робототехнике. Это наиболее перспективное направление для применения нейросистем, требующее серийных решений, достаточно гибких для разнородных производств
ВЫВОД
Сравнение быстродействия различных решений.
Сравнительная оценка производительности аппаратуры для реализации нейросред затруднительна. Это связано с тем, что разные архитектуры имеют очень большие различия в разрядности входных и выходных величин, разрядности весовых коэффициентов, топологии реализуемой нейросети, виде обрабатываемых величин (с плавающей или фиксированной запятой) и многих других важных параметрах. Кроме того, нет общепринятых оценок производительности, которые давались бы любым производителем. Для каждого чипа есть только некоторые показатели производительности, которые считаются разработчиками наиболее значимыми.
Тем не менее, для области нейросетевой обработки данных характерны следующие показатели быстродействия:
CPS (connections per second). Число соединений (умножений с накоплением) в секунду.
CPSPW (CPS per weight). CPPSPW=CPS/NW, гдеNW- число синапсов в нейроне. Фактически эта величина показывает число подсчетов выходов нейронов (количиство вычислений функций активации) в секунду.
CPPS. CPPS=CPS×BW×BS, гдеBW,BS- разрядность весов и синапсов соответственно. Этот показатель учитывает разрядность и поэтому более правдоподобен для сравнения разнородных архитектурных решений.
MMAC (multiplications and additions per second). Этот параметр обычно указывается для средств обработки сигналов (цифровых сигнальных процессоров и ПЛИС). Он не полностью соответствует показателю CPS.
Время обработки. Этот показатель равен промежутку времени между поступлением входного сигнала и получением выходного сигнала нейросети.
Сравнение показателей производительности рассметренных в данной работе аппаратных решений представлено в талице .
Название |
Производительность |
Описание |
Intel 80170NX ETANN |
2G MAC |
Аналоговая схема, 6 бит веса |
Bellcore CLNN32 |
100M CUPS, T= 3 мкс |
Гибридная схема, 4 бит веса |
НТЦ <<Модуль>> NM6403 |
1.2G MAC |
Для 32 бит данных, нейросигнальнный процессор |
Datafactory SAND |
200M CPS |
Систолический процессор |
Datafactory MiND |
800M CPS |
Плата ускорителя с 4 чипами SAND |
Adaptive Solutions CNAPS |
2.56G MAC, 293M CUPS |
Систолический процессор с 64 внутренними процессорами |
Adaptive Solutions CNAPS Server II card |
10.24G MAC |
Карта ускорителя с 4 чипами CNAPS |
Скан Инжиниринг Телеком XDSP-680 |
220M MAC |
4 FPGA-чипа |
Analog Devices ADSP-2106x |
700M FLOPS |
|
Таблица 2: Производительности нейроархитектур
К сожалению, приведенные данные не позволяют однозначно судить о быстродействии различных нейроустройств, хотя и позволяют сделать некоторые выводы. Например, виден линейный рост производительности систем на основе систолических процессоров с увеличением числа таких процессоров (этот факт с очевидностью следует из логики функционирования систолических процессоров). Но надо учитывать, что также линейно растет задержка между получением входных данных и выдачей выходного сигнала нейросети.
Аналоговая микросхема Intel 80170NX ETANN показывает довольно высокое быстродействие, но из таблицы видно (особенно если учесть малую разрядность обрабатываемых данных), что другие решения имеют более высокую производительность. Для однобитовых данных нейросигнальный процессор NM6403 имеет производительность 11.52G MAC.
Для цифровых сигнальных процессоров и ПЛИС-систем оценка затруднена, так как нет конкретных данных о производительности нейроалгоритмов на устройствах этого типа. В современных DSP-процессорах из-за возможности одновременного выполнения нескольких инструкций о производительности можно говорить лишь в применении к конкретному алгоритму.
Для DSP-чипов характерна оценка производительности по времени выполнения стандартных для обработки сигналов преобразований. В таблице представлены такие оценки для процессоров общего назначения, DSP компании Texas Instruments и нейросигнального процессора NM6403.
Преобразование |
Intel Pentium II 300 МГц |
Intel PentiumMMX 200 МГц |
TI TMS320C40 50 Мгц |
НТЦ <<Модуль>> NM6403 40 Мгц |
Фильтр Собеля (размер кадра 384X288 байт), кадров/с |
- |
21 |
6.8 |
68 |
Быстрое преобразование Фурье (256 точек, 32 разряда), мкс |
200 |
- |
464 |
102 |
Преобразование Уолша-Адамара (21 шаг, вх. данные 5 бит), с |
2.58 |
2.80 |
- |
0.45 |
Таблица3: Выполнение стандартных преобразований
Данные таблицы 3 показывают, что специализированные процессоры могут составить конкуренцию распространенным процессорам общего назначения при гораздо более экономичных параметрах. Но если учесть темпы роста производительности процессоров общего назначения, то очевидно, что за счет своих вычислительных возможностей рабочие станцие могут эффективно реализовывать нейроалгоритмы. Можно сделать вывод, что необходимость в платах нейроускорителей в скором времени отпадет, хотя специализированные нейровычислители будут превосходить в производительности платформы общего назначения.