La herramienta de investigación SecureLoop identifica de manera eficiente diseños de hardware seguros que pueden aumentar el rendimiento de tareas complejas de IA y al mismo tiempo requieren menos energía.
Con la proliferación de aplicaciones de aprendizaje automático computacionalmente intensivas, como los chatbots que realizan traducción de idiomas en tiempo real, los fabricantes de dispositivos suelen incorporar componentes de hardware especializados para mover y procesar rápidamente las enormes cantidades de datos que requieren estos sistemas.
Desafíos en el diseño de aceleradores
Elegir el mejor diseño para estos componentes, conocidos como aceleradores de redes neuronales profundas, es un desafío porque pueden tener una gran variedad de opciones de diseño. Este difícil problema se vuelve aún más espinoso cuando un diseñador busca agregar operaciones criptográficas para mantener los datos a salvo de los atacantes.
Solución del MIT: SecureLoop
Ahora, los investigadores del MIT han desarrollado un motor de búsqueda que puede identificar de manera eficiente diseños ideales para aceleradores de redes neuronales profundas que preservan la seguridad de los datos y al mismo tiempo aumentan el rendimiento.
Su herramienta de investigación, conocida como SecureLoop, está diseñada para considerar cómo la adición de medidas de autenticación y cifrado de datos afectará el rendimiento y el uso de energía del chip acelerador. Un ingeniero podría utilizar esta herramienta para lograr el diseño óptimo de un acelerador adaptado a su red neuronal y tarea de aprendizaje automático.
En comparación con las técnicas de programación convencionales que no consideran la seguridad, SecureLoop puede mejorar el rendimiento de los diseños de aceleradores y al mismo tiempo mantener los datos seguros.
El uso de SecureLoop puede ayudar al usuario a mejorar la velocidad y el rendimiento de aplicaciones de IA exigentes, como la conducción autónoma o la clasificación de imágenes médicas, al tiempo que garantiza que los datos confidenciales del usuario permanezcan protegidos contra algunos tipos de ataques.
“Si está interesado en hacer un cálculo sobre dónde va a preservar la seguridad de los datos, las reglas que usábamos antes para encontrar el diseño óptimo ahora no se cumplen. Por lo tanto, toda esta optimización debe personalizarse para este conjunto de restricciones nuevo y más complicado. Y eso es lo que [lead author] Kyungmi lo hizo en este artículo”, dice Joel Emer, profesor de práctica en ciencias de la computación e ingeniería eléctrica del MIT y coautor de un artículo sobre SecureLoop.
A Emer se une en el artículo el autor principal Kyungmi Lee, estudiante de posgrado en ingeniería eléctrica e informática; Mengjia Yan, profesor asistente de desarrollo profesional Homer A. Burnell de ingeniería eléctrica e informática y miembro del Laboratorio de informática e inteligencia artificial (CSAIL); y la autora principal Anantha Chandrakasan, decana de la Escuela de Ingeniería del MIT y profesora Vannevar Bush de Ingeniería Eléctrica e Informática. La investigación se presentará en el Simposio Internacional de Microarquitectura IEEE/ACM.
“La comunidad ha aceptado pasivamente que agregar operaciones criptográficas a un acelerador generaría gastos generales. Pensaron que esto introduciría sólo una pequeña variación en el espacio de compensación del diseño. Pero esto es un error. De hecho, las operaciones criptográficas pueden distorsionar significativamente el espacio de diseño de los aceleradores energéticamente eficientes. Kyungmi hizo un trabajo fantástico identificando este problema”, añade Yan.
Aceleración segura
Una red neuronal profunda consta de muchas capas de nodos interconectados que procesan datos. Normalmente, la salida de una capa se convierte en la entrada de la siguiente capa. Los datos se agrupan en unidades llamadas bloques para su procesamiento y transferencia entre la memoria fuera del chip y el acelerador. Cada capa de la red neuronal puede tener su propia configuración de bloques de datos.
Un acelerador de red neuronal profunda es un procesador con una serie de unidades computacionales que paraleliza operaciones, como la multiplicación, en cada capa de la red. La programación del acelerador describe cómo se mueven y procesan los datos.
Debido a que el espacio en un chip acelerador es escaso, la mayoría de los datos se almacenan en la memoria fuera del chip y el acelerador los recupera cuando es necesario. Pero debido a que los datos se almacenan fuera del chip, son vulnerables a un atacante que podría robar información o cambiar algunos valores, provocando un mal funcionamiento de la red neuronal.
«Como fabricante de chips, no se puede garantizar la seguridad de los dispositivos externos ni del sistema operativo en su conjunto», explica Lee.
Los fabricantes pueden proteger los datos agregando cifrado autenticado al acelerador. El cifrado codifica los datos utilizando una clave secreta. Luego, la autenticación corta los datos en fragmentos uniformes y asigna un hash criptográfico a cada fragmento de datos, que se almacena junto con el fragmento de datos en la memoria fuera del chip.
Cuando el acelerador recupera un dato cifrado, conocido como bloque de autenticación, utiliza una clave secreta para recuperar y verificar los datos originales antes de procesarlos.
Sin embargo, los tamaños de los bloques de autenticación y los bloques de datos no coinciden, por lo que puede haber varios bloques en un bloque o un bloque puede dividirse en dos bloques. El acelerador no puede capturar arbitrariamente una fracción de un bloque de autenticación, por lo que puede terminar capturando datos adicionales, lo que consume energía adicional y ralentiza el cálculo.
Además, el acelerador aún debe realizar la operación criptográfica en cada bloque de autenticación, lo que agrega aún más costos computacionales.
La eficiencia de SecureLoop
Con SecureLoop, los investigadores del MIT buscaron un método que pudiera identificar el programa de aceleración más rápido y con mayor eficiencia energética, uno que minimice la cantidad de veces que el dispositivo necesita acceder a la memoria fuera del chip para obtener bloques adicionales de datos debido al cifrado y la autenticación.
Comenzaron ampliando un motor de búsqueda existente que Emer y sus colaboradores desarrollaron anteriormente llamado Timeloop. Primero, agregaron un modelo que podría tener en cuenta el cálculo adicional requerido para el cifrado y la autenticación.
Luego reformularon el problema de búsqueda en una expresión matemática simple, que permite a SecureLoop encontrar el tamaño de bloque auténtico óptimo de una manera mucho más eficiente que buscar entre todas las opciones posibles.
“Dependiendo de cómo asigne este bloque, la cantidad de tráfico innecesario puede aumentar o disminuir. Si asigna el bloque criptográfico de forma inteligente, sólo podrá obtener una pequeña cantidad de datos adicionales”, afirma Lee.
Finalmente, incorporaron una técnica heurística que garantiza que SecureLoop identifique un cronograma que maximice el rendimiento de toda la red neuronal profunda, en lugar de solo una capa.
Al final, el motor de búsqueda genera un programa de aceleración, que incluye la estrategia de agrupación de datos y el tamaño de los bloques de autenticación, lo que proporciona la mejor velocidad y eficiencia energética posibles para una red neuronal específica.
“Los espacios de diseño para estos aceleradores son enormes. Lo que Kyungmi hizo fue idear algunas formas muy pragmáticas de hacer que esta búsqueda fuera manejable para poder encontrar buenas soluciones sin tener que buscar exhaustivamente el espacio”, dice Emer.
Resultados de las pruebas y direcciones futuras.
Cuando se probó en un simulador, SecureLoop identificó cronogramas que eran hasta un 33,2 % más rápidos y exhibieron un producto de retraso de energía un 50,2 % mejor (una métrica relacionada con la eficiencia energética) que otros métodos que no consideraban la seguridad.
Los investigadores también utilizaron SecureLoop para explorar cómo cambia el espacio de diseño de los aceleradores cuando se considera la seguridad. Aprendieron que asignar un poco más de área de chip al motor criptográfico y sacrificar algo de espacio para la memoria en el chip puede conducir a un mejor rendimiento, afirma Lee.
En el futuro, los investigadores quieren utilizar SecureLoop para encontrar diseños de aceleradores que sean resistentes a los ataques de canal lateral, que ocurren cuando un atacante tiene acceso al hardware físico. Por ejemplo, un atacante puede monitorear el patrón de consumo de energía de un dispositivo para obtener información secreta, incluso si los datos han sido cifrados. También están ampliando SecureLoop para que pueda aplicarse a otros tipos de informática.
Referencia: SecureLoop: Exploración espacial de diseño de aceleradores DNN seguros
Este trabajo cuenta con el apoyo, en parte, de Samsung Electronics y la Fundación Coreana de Estudios Avanzados.