×

SecureLoop: поисковая система для разработки оптимизированного ускорения глубоких нейронных сетей с сохранением конфиденциальности данных. Источник.

С развитием и ростом популярности приложений машинного обучения, в попытках обеспечения стабильной работы в режиме реального времени, многократно возросла их ресурсоёмкость. Для преодоления возникающих в связи с этим барьеров производители аппаратной части стали включать в конструкции специализированные компоненты, повышающие системное быстродействие, влияя, в частности, на перемещения и обработку огромных объёмов данных.

Мало того, что разработка и выбор наилучшего дизайна для этих ускорителей глубоких нейронных сетей ‒ и так задачи не из простых, поскольку могут иметь огромный диапазон решений, так их сложность ещё и увеличивается с добавлением новой цели в виде криптографической защиты данных.

«Сообщество пассивно признало, что добавление криптографических операций в ускоритель приведёт к увеличению накладных расходов. Они думали, что это внесёт лишь небольшие изменения в компромиссное пространство дизайна. Но это ошибочное мнение», ‒ говорит Мэнцзя Ян, доцент кафедры электротехники и информатики MIT, сотрудница Лаборатории компьютерных наук и искусственного интеллекта (CSAIL), работающая над микроархитектурными уязвимостями.

В поисках оптимальных решений, исследователи Массачусетского технологического института решили воспользоваться старым народным правилом «клин клином вышибают»: мол, раз уж эту кашу заварил ИИ, пусть сам и расхлёбывает. В общем, для вящего решения искусственно-интеллектуальных задач они разработали столь же «нейро-умную» поисковую систему SecureLoop. Она умеет эффективно определять оптимальные конструкции ускорителей нейросетей глубокого обучения, которые значительно повышают производительность и в то же время полностью отвечают требованиям соблюдения конфиденциальности обрабатываемых сведений.

Этот инструмент анализирует влияние добавления мер шифрования и аутентификации на производительность и энергопотребление чипа-ускорителя. Теперь инженеры смогут использовать этот «автопроектировщик» для получения оптимальной конструкции ускорителя, адаптированной к его нейронной сети и задаче машинного обучения. По сравнению с традиционными методами планирования, которые не учитывают безопасность, SecureLoop решает оба вопроса: производительности и защиты данных.  

По мнению авторов, SecureLoop действительно в состоянии значительно повысить качество ресурсоёмких приложений искусственного интеллекта. Взять, к примеру, автономное вождение или классификацию изображений и других данных медицинских исследований: вы получаете не только точность выводов и решений, принимаемых алгоритмами соответствующей нейромодели, но и получаете их в кратчайшие сроки, когда каждая секунда на счету. И это при одновременной защите конфиденциальных пользовательских данных и от некоторых типов атак, дабы никто не повлиял на вычисления нейросети.

«Если вы заинтересованы в выполнении вычислений, при которых вы собираетесь сохранить безопасность данных, правила, которые мы использовали раньше для поиска оптимальной конструкции, теперь нарушены. Поэтому всю эту оптимизацию необходимо адаптировать под этот новый, более сложный набор ограничений. И это то, что Кёнми [Кёнми Ли ‒ ведущий автор исследования] сделала», ‒ поясняет значение найденного своей аспиранткой решения Джоэл Эмер, профессор практики в области информатики и электротехники MIT и соавтор статьи о SecureLoop.

«Фактически криптографические операции могут существенно исказить пространство проектирования энергоэффективных ускорителей. Кёнми проделала фантастическую работу по выявлению этой проблемы», ‒ добавляет Мэнцзя Ян.

Безопасное ускорение

Для понимания основного действующего механизма нового инженерного инструмента нужно вспомнить, что нейросети глубокого обучения состоят из множества слоёв взаимосвязанных узлов, поочерёдно обрабатывающих данные ‒ обычно выходные данные одного слоя становятся входными данными следующего. Эти сведения группируются в блоки, называемые тайлами, для обработки и передачи между внешней памятью и ускорителем. Каждый уровень нейронной сети может иметь собственную конфигурацию тайлинга (группирования) данных.

Ускоритель глубоких нейронных сетей, представляя собой процессор с массивом вычислительных блоков, распараллеливает операции (например, умножение) на каждом уровне сети. У него есть свой алгоритм выполнения операций, который можно назвать «расписанием работы». Именно оно описывает, куда перемещаются и как обрабатываются данные.

У ускорителя есть немало слабых моментов. Например, место для информации на кристалле ограничено, поэтому большая часть данных хранится во внешней памяти и извлекается ускорителем при необходимости. Это хранение данных вне чипа обусловливает уязвимости устройства: злоумышленник может украсть информацию или изменить некоторые значения, что приведёт к сбою в работе нейромодели или к фальшивости её результатов.

«Как производитель чипов, вы не можете гарантировать безопасность внешних устройств или операционной системы в целом», ‒ объясняет аспирантка Кёнми Ли, ведущий автор проекта.

Сегодня производители защищают данные, добавив в ускоритель шифрование с помощью секретного ключа с последующей проверкой подлинности. Весь процесс выглядит следующим образом: аутентификация делит данные на однородные фрагменты и присваивает каждому из них криптографический хэш, который вместе с самим фрагментом сохраняется во внешней памяти. При извлечении же каждого зашифрованного фрагмента ‒ так называемого блока аутентификации ‒ ускоритель использует секретный ключ для восстановления и проверки исходных данных перед их обработкой.

Однако штука в том, что размеры блоков аутентификации и фрагментов данных могут не совпадать, и так случается, что один фрагмент бывает разделён между двумя блоками, или в одном блоке значатся несколько фрагментов. При этом ускоритель не может произвольно захватить часть блока аутентификации, поэтому ему могут понадобиться дополнительные данные (из другого фрагмента), обращение к которым снова требует энергии и замедляет вычисления.

Не стоит также забывать, что ускорителю необходимо выполнять криптографическую операцию для каждого блока аутентификации, а это ещё больше увеличивает затраты на проведение вычислений.

Эффективная поисковая система

С помощью SecureLoop исследователи надеялись найти метод, который мог бы определить наиболее энергоэффективный и быстрый график ускорителя. В теории он должен был бы сводить к минимуму количество обращений к внешней памяти для захвата дополнительных блоков данных из-за шифрования и аутентификации.  

Работу начали с расширения уже существующей поисковой системы Timeloop, которую ранее профессор Эмер разработал со своими сотрудниками. Во-первых, к ней было решено добавить неймодель, назначением которой стал учёт самих дополнительных вычислений, необходимых для шифрования и аутентификации. Это вылилось в гораздо более эффективный способ нахождения идеального размера аутентичного блока, чем перебор всех возможных вариантов. Правда, для этого ещё потребовалось переформулировать задачу поиска в простое математическое выражение.

«В зависимости от того, как вы назначите этот блок, количество ненужного трафика может увеличиться или уменьшиться. Если вы грамотно назначите криптографический блок, то сможете просто получить небольшой объём дополнительных данных», ‒ говорит автор идеи.

Наконец, команда внедрила эвристический метод решения задач, который, хоть и не даёт гарантий точного результата, всё же является достаточным для достижения такового. Таким образом SecureLoop определяет оптимальное расписание, которое максимизирует производительность всей модели глубокого обучения, а не только какого-то одного её слоя.

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

«Пространство для проектирования этих ускорителей огромно. Что Кёнми сделала, так это придумала несколько очень прагматичных способов сделать этот поиск удобным, чтобы она могла находить хорошие решения без необходимости тщательно обыскивать пространство», ‒ говорит профессор.

При тестировании на симуляторе SecureLoop предъявил графики, оказавшиеся на 33,2% быстрее и на 50,2% энергоэффективнее других методов, которые, при всём этом, не учитывают соблюдение и обеспечение безопасности данных в своей работе.

Команда воспользовалась своим решением для изучения пространственных изменений при проектировании ускорителей с учётом безопасности и обнаружила кое-что неочевидное. По словам Ли, получается, что можно пожертвовать некоторым пространством встроенной памяти в пользу выделения чуть большей площади чипа, обеспечивающего работу криптографического механизма. Такие корректировки могут привести к повышению производительности.

В будущем перед SecureLoop стоит задача по поиску конструкций ускорителей, устойчивых к атакам по побочным каналам ‒ они становятся возможны при доступе злоумышленника к физическому оборудованию. Например, даже если данные были зашифрованы, он может получить секретную информацию путём отслеживания структуры энергопотребления устройства. Команда также расширяет возможности своей разработки, чтобы её можно было применять и к другим видам вычислений.

 


АРМК, по материалам MIT.