Иллюзия объёма для ИИ
Вывод глубоких нейронных сетей (DNN) часто работает медленно из-за нехватки встроенной памяти. Использование больших объёмов оперативки не всегда решает проблему, поскольку обращение к ней сопряжено с бóльшими задержками и затратами энергии.
Теоретически можно сделать достаточное для DNN количество памяти в самом чипе с процессорными ядрами. Однако на практике это зачастую нерационально из-за увеличения тепловыделения, повышения процента брака и резкого возрастания конечной стоимости микросхем.
Международная исследовательская группа нашла оригинальный способ решения этой проблемы. Они разработали технологический подход, который назвали «иллюзия большого объёма встроенной памяти в микросхемах для логического вывода нейронной сети».
Кратко её смысл в том, что большая нейросеть режется на функциональные участки, а затем они распределяются алгоритмом по нескольким чипам необычной архитектуры.
Для нейросети всё выглядит так, будто она запущена на однокристалке с больши́м объёмом встроенной памяти.
Проект получил название «Иллюзия» (Ilusion). Он использует процессоры с резистивной оперативной памятью в трехмерном стеке (3D RRAM).
К хранящимся в ней данным можно быстро получить доступ даже после прерывания питания, потому что она энергонезависимая.
Возможность на лету отключать и включать процессорные ядра вместе с блоками встроенной памяти без потери данных позволяет настроить очень гибкое управление кластером и существенно экономить энергию (а заодно и снижать нагрев).
В любой нейронной сети есть места, где объём передаваемых между узлами данных очень большой, или наоборот — ничтожно малый.
Ilusion автоматически разделяет DNN так, чтобы наиболее нагруженные части обрабатывались каждая на своём процессоре со своей памятью. Это гарантирует снижение задержек, поскольку между чипами будет минимальный трафик.
Конечно, резистивная память не лишена и недостатков. Она быстро изнашивается, подобно NAND Flash. Поэтому информатик из Стэнфорда Мэри Вуттерс написал эффективный код управления износом RRAM под названием Distributed Endurer. Он работает примерно как прошивка в SSD, выравнивая нагрузку на отдельные ячейки памяти.
Команда создала восьмичиповую версию Illusion и провела тест-драйв на трех глубоких нейронных сетях. Также она смоделировала систему с 64 чипами, чтобы продемонстрировать возможность лёгкого масштабирования.
В состав группы вошли представители Facebook, Стэнфордского университета, Государственного университета Сан-Хосе, французской исследовательской лаборатории CEA-Leti и Технологического университета Наньяна в Сингапуре.
«Мы уже работаем над новым, более функциональным прототипом», — заявил Роберт Рэдвей, аспирант Стэнфордского университета и соавтор научной статьи в Nature Electronics.
Источник: Nature
Данные и код проекта Ilusion