С распространением ресурсоемких приложений машинного обучения, таких как чат-боты, выполняющие языковой перевод в режиме реального времени, производители устройств часто включают в себя специализированные аппаратные компоненты для быстрого перемещения и обработки огромных объемов данных, которые требуются этим системам.
Выбор наилучшего дизайна для этих компонентов, известных как ускорители глубоких нейронных сетей, является сложной задачей, поскольку они могут иметь огромный диапазон вариантов дизайна. Эта сложная проблема становится еще более сложной, когда разработчик пытается добавить криптографические операции для защиты данных от злоумышленников.
Теперь исследователи Массачусетского технологического института разработали поисковую систему, которая может эффективно определять оптимальные конструкции ускорителей глубоких нейронных сетей, которые сохраняют безопасность данных и одновременно повышают производительность.
Их инструмент поиска, известный как SecureLoop, предназначен для анализа того, как добавление мер шифрования данных и аутентификации повлияет на производительность и энергопотребление чипа-ускорителя. Инженер может использовать этот инструмент для получения оптимальной конструкции ускорителя, адаптированной к его нейронной сети и задаче машинного обучения.
По сравнению с традиционными методами планирования, которые не учитывают безопасность, SecureLoop может повысить производительность проектов ускорителей, сохраняя при этом защиту данных.
Использование SecureLoop может помочь пользователю повысить скорость и производительность ресурсоемких приложений искусственного интеллекта, таких как автономное вождение или классификация медицинских изображений, обеспечивая при этом защиту конфиденциальных пользовательских данных от некоторых типов атак.
«Если вы заинтересованы в выполнении вычислений, при которых вы хотите сохранить безопасность данных, правила, которые мы использовали раньше для поиска оптимальной конструкции, теперь нарушены. Поэтому всю эту оптимизацию необходимо адаптировать под этот новый, более сложный набор ограничений. И это то, что [lead author] Кёнми добился успеха в этой статье», — говорит Джоэл Эмер, профессор практики в области информатики и электротехники Массачусетского технологического института и соавтор статьи о SecureLoop.
К работе над статьей к Эмеру присоединился ведущий автор Кёнми Ли, аспирантка в области электротехники и информатики; Мэнцзя Ян, доцент кафедры электротехники и информатики Гомера А. Бернелла по развитию карьеры и член Лаборатории компьютерных наук и искусственного интеллекта (CSAIL); и старший автор Ананта Чандракасан, декан инженерной школы Массачусетского технологического института и профессор электротехники и информатики Ванневара Буша. Исследование будет представлено на Международном симпозиуме IEEE/ACM по микроархитектуре.
«Сообщество пассивно признало, что добавление криптографических операций в ускоритель приведет к увеличению накладных расходов. Они думали, что это внесет лишь небольшие изменения в компромиссное пространство дизайна. Но это ошибочное мнение. Фактически криптографические операции могут существенно исказить пространство проектирования энергоэффективных ускорителей. Кёнми проделала фантастическую работу по выявлению этой проблемы», — добавляет Ян.
Безопасное ускорение
Глубокая нейронная сеть состоит из множества слоев взаимосвязанных узлов, обрабатывающих данные. Обычно выходные данные одного слоя становятся входными данными следующего слоя. Данные группируются в блоки, называемые тайлами, для обработки и передачи между внешней памятью и ускорителем. Каждый уровень нейронной сети может иметь собственную конфигурацию тайлинга данных.
Ускоритель глубоких нейронных сетей — это процессор с массивом вычислительных блоков, который распараллеливает такие операции, как умножение, на каждом уровне сети. Расписание ускорителя описывает, как данные перемещаются и обрабатываются.
Поскольку место на кристалле ускорителя ограничено, большая часть данных хранится во внешней памяти и извлекается ускорителем при необходимости. Но поскольку данные хранятся вне чипа, они уязвимы для злоумышленника, который может украсть информацию или изменить некоторые значения, что приведет к сбою в работе нейронной сети.
«Как производитель чипов, вы не можете гарантировать безопасность внешних устройств или операционной системы в целом», — объясняет Ли.
Производители могут защитить данные, добавив в ускоритель шифрование с проверкой подлинности. Шифрование шифрует данные с помощью секретного ключа. Затем аутентификация делит данные на однородные фрагменты и присваивает каждому фрагменту криптографический хэш, который сохраняется вместе с фрагментом данных во внешней памяти.
Когда ускоритель извлекает зашифрованный фрагмент данных, известный как блок аутентификации, он использует секретный ключ для восстановления и проверки исходных данных перед их обработкой.
Но размеры блоков аутентификации и фрагментов данных не совпадают, поэтому в одном блоке может быть несколько фрагментов или фрагмент может быть разделен между двумя блоками. Ускоритель не может произвольно захватить часть блока аутентификации, поэтому он может в конечном итоге захватить дополнительные данные, что потребует дополнительной энергии и замедлит вычисления.
Кроме того, ускорителю по-прежнему приходится выполнять криптографическую операцию для каждого блока аутентификации, что еще больше увеличивает вычислительные затраты.
Эффективная поисковая система
С помощью SecureLoop исследователи из Массачусетского технологического института искали метод, который мог бы определить самый быстрый и наиболее энергоэффективный график ускорителя — такой, который сводит к минимуму количество раз, которое устройству необходимо получить доступ к внешней памяти для захвата дополнительных блоков данных из-за шифрования и аутентификации.
Они начали с расширения существующей поисковой системы Timeloop, разработанной Эмером и его сотрудниками ранее. Во-первых, они добавили модель, которая могла бы учитывать дополнительные вычисления, необходимые для шифрования и аутентификации.
Затем они переформулировали задачу поиска в простое математическое выражение, которое позволяет SecureLoop находить идеальный размер аутентичного блока гораздо более эффективным способом, чем перебор всех возможных вариантов.
«В зависимости от того, как вы назначите этот блок, количество ненужного трафика может увеличиться или уменьшиться. Если вы грамотно назначите криптографический блок, то сможете просто получить небольшой объем дополнительных данных», — говорит Ли.
Наконец, они внедрили эвристический метод, который гарантирует, что SecureLoop определяет расписание, которое максимизирует производительность всей глубокой нейронной сети, а не только одного слоя.
В конце поисковая система выдает график ускорителя, который включает в себя стратегию тайлинга данных и размер блоков аутентификации, что обеспечивает максимально возможную скорость и энергоэффективность для конкретной нейронной сети.
«Пространство для проектирования этих ускорителей огромно. Что Кёнми сделала, так это придумала несколько очень прагматичных способов сделать этот поиск удобным, чтобы она могла находить хорошие решения без необходимости исчерпывающего исследования пространства», — говорит Эмер.
При тестировании на симуляторе SecureLoop выявил графики, которые были на 33,2 процента быстрее и демонстрировали на 50,2 процента лучшее произведение задержки энергии (показатель, связанный с энергоэффективностью), чем другие методы, не учитывающие безопасность.
Исследователи также использовали SecureLoop, чтобы изучить, как меняется пространство проектирования ускорителей при учете безопасности. По словам Ли, они поняли, что выделение немного большей площади чипа для криптографического механизма и пожертвование некоторым пространством для встроенной памяти может привести к повышению производительности, говорит Ли.
В будущем исследователи хотят использовать SecureLoop для поиска конструкций ускорителей, устойчивых к атакам по побочным каналам, которые происходят, когда злоумышленник имеет доступ к физическому оборудованию. Например, злоумышленник может отслеживать структуру энергопотребления устройства, чтобы получить секретную информацию, даже если данные были зашифрованы. Они также расширяют SecureLoop, чтобы его можно было применять к другим видам вычислений.
Эта работа частично финансируется Samsung Electronics и Корейским фондом перспективных исследований.