Архивы: по дате | по разделам | по авторам

NM6403: нейромолотилка

Архив
автор : Андрей Фаткуллин   08.02.2000

Некоторые авторы статей в компьютерной прессе, рассказывая о нейрочипе фирмы "Модуль", использовали слова-лозунги: "чудо", "бесплотный товар", "русский" с сотней подразумевающихся восклицательных знаков. Дело в том, что выход команды соотечественников на новые рынки [1] не может обойтись без эмоций. Однако что же все-таки случилось?


Один из "почтовых ящиков" обратился в НТЦ "Модуль" с просьбой решить задачу распознавания образов (для военного заказчика она трансформируется в распознавание целей c последующим их сопровождением и уничтожением). Инженеры НТЦ "Модуль" использовали для этого нейросетевые методы, обрабатывая сигналы микропроцессорами TMS320C4 от Texas Instruments. Однако эмулировать искусственные нейронные сети таким образом было не оптимально, поэтому фирма "Модуль" решила разработать специальную микросхему.

Инженеры на удивление неплохо справились с проблемами и за восемь месяцев спроектировали первую версию чипа "нейровычислителя" с оригинальной архитектурой NM6403 (см. врезку). Сейчас на архитектуру процессора NeuroMatrix Core (NMC) оформляются патенты по системе PCT в ведущих индустриальных странах мира.

После неудачной попытки использовать компанию Atmel в качестве кремниевой мастерской фирма "Модуль" решила изготавливать изделия силами Samsung. Микрочип был выполнен на базе корейской библиотеки логических элементов по полумикронной CMOS-технологии. Первые образцы микросхем сделали летом 1998 года. NM6403 способен за один такт выполнять до 288 операций умножения с накоплением. Параметры процессора оказались очень высокими (см. табл.).

Тип процессораФильтр Собеля (размер кадра: 384x288 байт)Быстрое преобра-зование Фурье (256 точек, 32 разряда)Преобра-зование Уолша-АдамараСеть прямого распро-странения(1024 слоя, 1024 нейрона/слой)
Intel Pentium II 300 МГцНет данных200 мкс2,58 сНет данных
Intel Pentium 200 МГц21 кадр/сНет данных2,80 с Нет данных
Texas Instruments TMS320C40 50 МГц6,80 кадра/с464 мкс (11588 тактов)Нет данныхНет данных
НТЦ "Модуль", NM6403 40 МГц68 кадров/с102 мкс (4070 тактов)0,45 с1,54 с

1. Преобразование Уолша показательно для практической оценки производительности тем, что используется в алгоритме сжатия для сотовой телефонии стандарта CDMA и требует около 4 млн. операций умножения и вычитания, не считая других накладных расходов.

2. Во втором столбце таблицы размер кадра задан как 384x288 байт ввиду того, что каждый пиксел кодируется одним байтом.

В апреле 1999 года в "EDN", американском журнале для электронщиков-профессионалов, была помещена таблица всех выпускающихся в мире цифровых сигнальных процессоров. NM6403 фигурировал там как единственный 64-разрядный DSP. Детищем НТЦ "Модуль" заинтересовались самые крупные рыночные игроки, и более других - Fujitsu. Как говорят эксперты этой фирмы, их привлекло в NMC малое число вентилей (около 115 тысяч) и масштабируемость процессорного ядра. Европейское отделение Fujitsu решило интегрировать русский нейропроцессор в свои кремниевые системы (System On Chip) и приобрело лицензию на использование архитектуры NMC в течение четырех лет на территории Европы. Fujitsu планирует применить архитектуру для средств связи, требующих передачи и обработки видеоданных в реальном масштабе времени, в этих задачах основной операцией является прямое/обратное косинусное преобразование. Кроме всего прочего, Fujitsu отлично умеет делать динамическую память, блоки которой, будучи размещены на одном чипе с ядром NMC, обеспечат высокоэффективную работу процессора. С использованием технологии 0,18 мкм станет возможной (если решить проблемы с отводом тепла) реализация и многопроцессорной конфигурации на одном чипе.

О применениях и "русскости" разработки

Хотя NM6403 моделирует только определенный класс нейросетей [2], число приложений для него велико. Архитектура кристалла позволяет создавать мультипроцессорные конфигурации, с помощью которых можно эффективно эмулировать сложные нейронные сети для многих приложений. Никто не знает, как применить чип, лучше самих создателей, поэтому в компании "Модуль" продолжают успешно выполнять заказы на разработку систем. Нейрочип показал себя высокопроизводительным процессором широкого применения для встраиваемых систем. Особенно он хорош для обработки видеоданных, радиолокации и криптографии. Сейчас по заказу одной южнокорейской фирмы на основе платы с четырьмя чипами NeuroMatrix NM6403 DSP завершается проектирование комплекса контроля дорожного движения [3]. По сути, это система машинного зрения, которая и в жестких погодных условиях умеет распознавать несколько видов [4] транспорта, движущегося со скоростью до 200 км/час по шести полосам. Система использует входной сигнал только от одной телевизионной камеры, расположенной на высоте 12 метров [5], и вычисляет число транспортных средств каждого из заданных классов, прошедших за час, их среднюю скорость, среднюю дистанцию между ними и загруженность дороги. Ошибка определяемых величин не превышает 5%. Накопленную информацию комплекс ежечасно передает на пункт управления.

В процессе подготовки материала произошло забавное недоразумение. Вставив в рабочий вариант названия статьи слово "русский", я имел неосторожность сообщить об этом сотрудникам "Модуля" и встретил заметное сопротивление с их стороны. "Как можно рассказывать о доблестных российских инженерах, создавших супернейрочип, - говорили мои собеседники, - не обмолвившись о не менее доблестных корейских тружениках из фирмы Samsung, воплотивших идею в микросхему?" Если так, то надо упомянуть и талантливых программистов из США и Индии, которые написали для американской Cadence (ее программные средства проектирования использовались в проекте) миллионы строк кода на С++. А как же без фирмы Sun, поставившей "Модулю" рабочие станции, и компании ALR, продавшей свои серверы? Но пора и остановиться. Вывод один: нынешнего результата никто бы не дождался, если бы в дело пошли только российские ресурсы.

 
Архитектура NM6403: некоторые подробности [*]

NeuroMatrix NM6403 DSP содержит два процессора (см. рис.):
32-разрядный RISC, подготавливающий информацию для эмулирования нейронной сети, и 64-разрядный матричный сопроцессор (VCP). Последний выполняет основные операции векторной арифметики над данными программируемой разрядности (от 1 до 64 бит). Среди реализуемых операций: умножение матрицы на матрицу и матрицы на вектор, сложение векторов.

Два одинаковых интерфейсных блока локальной и глобальной шин (GMI и LMI) позволяют адресоваться к внешней памяти объемом до 16 Гбайт. Пара идентичных коммуникационных 8-битных портов (CP0 и CP1) обеспечивает обмен информацией между чипом и его абонентом. Порты NM6403 совместимы с портами TMS320C4. Основные узлы чипа обмениваются информацией по пяти внутренним шинам. Локальные и глобальные адресные шины служат для пересылки адресов команд и адресов данных, сформированных RISC-ядром. По ним же передаются адреса данных из коммуникационных портов в режиме прямого доступа к памяти. По шине выходных данных (output data bus) информация из RISC-ядра, векторного сопроцессора и коммуникационных портов пересылается в память. По входным шинам (input bus #1 и input bus #2) данные и команды пересылаются из памяти в любой из основных узлов нейропроцессора.

"Один процессор NM6403 позволяет эмулировать нейронную сеть практически неограниченных размеров. Эмуляция нейронной сети осуществляется послойно (последовательно слой за слоем)". [2].

* (обратно к тексту) - Более детально про NM6403 можно почитать на www.win.module.ru/files/nm03ao11br.pdf или в [5], где кроме статьи [2] опубликованы еще три доклада разработчиков нейропроцессора.



Образовательная программа

В микроконтроллерном мире, как и положено, не прекращается борьба за рынок. Российская часть рынка показалась многим фирмам достаточно вкусной. Некоторые развернули у нас свои университетские программы. Со студенческой скамьи "привязав" инженеров к определенному микропроцессорному чипу, компания некоторое время может быть спокойна за потребление этих микросхем. Профессионалы, работающие с высокими технологиями, как правило, довольно консервативные люди. Инженеру не хочется терять как минимум полгода на изучение нового кристалла [6]. Подобный путь завоевания будущего потребителя показался логичным и компании "Модуль". Но есть трудности. Высоко недоверие к отечественным разработкам. Фирмы, проектирующие системы, в основном ориентируются на рыночных лидеров,а ими в области DSP являются Texas Instruments, Analog Devices, Motorola. Например, более десятка русских вузов быстро разыскали по 25 тысяч долларов и оборудовали классы для изучения микроконтроллеров Motorola. Что это дало техническим университетам? Не упоминая вполне понятную необходимость поездок в Америку (в случае "Модуля" поездки ограничиваются станцией московского метро "Аэропорт", далее пешком десять минут), преподаватели получили доступ к информации, которой потом делились со студентами, читая "мотороллерные" курсы и проводя практические занятия на "мотороллерах" [7].

Не менее десятка российских технических университетов прислали в "Модуль" письма, в которых высказали заинтересованность и просили предоставить образцы нейропроцессора. В стране многие понимают, что техническая поддержка из первых рук для будущих системных разработок всегда очень важна. Учебным заведениям уже отправлены чипы и средства проектирования, и там с сентября прошлого года кипит работа. Есть интересные результаты, многие из которых будут скоро доступны студентам в виде методических разработок и курсов по прикладным нейросетевым технологиям. Нейропроцессор "Модуля" захотели изучать в университетах Германии (в Бонне) и США (штат Колорадо). Но там хотят купить сразу курсы лабораторных работ, которые еще не готовы.

У "Модуля" появились первые зарубежные дистрибьюторы [8]. Английская фирма Sundance предлагает с ноября прошлого года однопроцессорные блоки TIM (Texas Instruments Module - популярный стандарт для DSP-процессорных модулей) на основе NM6403 примерно за 3 тыс. долларов (www.sundance.com/html/press_release/s308_pr.htm). Интересно, что у Sundance есть дилер и в Москве.

Продолжение следует

К концу года компания "Модуль" планирует завершить разработку следующей версии процессора - NM1281. Он будет выполнен по 0,18-микрометровой CMOS-технологии и обеспечит такой же уровень гибкости, как у NM6403. В микросхеме разрядность векторного сопроцессора увеличена до 128 бит. По сравнению с NM6403 производительность нового нейропроцессора достигнет 1024 умножений с накоплением [9] за один такт. С переходом на технологию 0,18 мкм интегральная производительность NM1281 в 50 раз превысит производительность NM6403. На кристалле будет реализована кэш-память объемом 2 Мбит, контроллер SDRAM, JTAG-порт. К внешним шинам каждого чипа можно будет подключить до четырех процессоров NM1281, работающих в режиме разделяемой памяти (shared memory). В NM1281 вместо BGA256 будет использован другой корпус, более удобный для пайки. Кроме того, NM1281 будет совместим с NM6403 по системе команд.

Источники

[1] www.module.ru.

[2] Черников В. М., Виксне П. Е., Фомин Д. В., Шевченко П. А. "Архитектурные особенности нейропроцессора NM6403". Всероссийская научно-техническая конференция "Нейроинформатика-99". Сборник научных трудов. Часть 2, Москва, 1999.

[3] Всероссийская научно-техническая конференция "Нейроинформатика-99". Дискуссия о нейрокомпьютерах. Москва, 2000.

[4] Всероссийская научно-техническая конференция "Нейроинформатика-2000".

[5] Всероссийская научно-техническая конференция "Нейроинформатика-99". Сборник научных трудов. Часть 2. Москва, 1999.

Автор выражает признательность Дмитрию Фомину, Максиму Груздеву и Алексею Пылкину за помощь при подготовке статьи.



1 (обратно к тексту) - На растущий мировой рынок интеллектуальной собственности (Intellectual Property) выходят очень немногие российские фирмы. На его полупроводниковую часть (Silicon Intellectual Property), кроме "Модуля", у нас в стране не вышел пока никто.

2 (обратно к тексту) - Например, человеческий мозг имеет семь типов нейронов, образующих шестиуровневую сеть (судя по [4]). Поэтому Сергей Шумский, автор первой статьи темы номера, справедливо считает, что нейросети, используемые на практике, "достаточно просты как по конфигурации, так и по числу нейронов - по биологическим меркам являясь аналогами скорее нервных систем насекомых, чем человека"[3].

3 (обратно к тексту) - В англоязычных источниках эти системы называются Traffic Control System, об их применениях рассказывалось во врезке "Заруливая в XXI век" (см. тему номера в "КТ" #296-297).

4 (обратно к тексту) - Мотоциклы, пикапы, легковые автомобили, микроавтобусы, автобусы, грузовики короткие (до 12 метров длиной) и грузовики длинные (более 12 метров).

5 (обратно к тексту) - Похоже, счастливое число 12 в своем техническом задании заказчик использует не зря, в другом месте аналогичную разработку безуспешно пытались сделать с помощью платы на восьми процессорах Shark (Analog Devices).

6 (обратно к тексту) - Например, в мире контроллеров общего применения достаточно электронщиков-системщиков, использующих в своих разработках исключительно семейство Intel 80С51. Более молодая часть специалистов часто применяет только процессоры PIC от Microchip (www.microchip.com) или только AVR от Atmel (www.atmel.com).

7 (обратно к тексту) - Мотороллер - микроконтроллер фирмы Motorola (студенческий сленг).

8 (обратно к тексту) - Среди русских дистрибьюторских фирм оживления пока нет.

9 (обратно к тексту) - Это основные операции в таких приложениях, как обработка видеоданных, радиолокация и криптография.



© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.