麻省理工学院的研究人员开发了一种搜索引擎 SecureLoop,可以有效地识别深度神经网络加速器的最佳设计,在提高性能的同时保护数据安全。
随着计算密集型机器学习应用程序(例如执行实时语言翻译的聊天机器人)的激增,设备制造商通常会采用专门的硬件组件来快速移动和处理这些系统所需的大量数据。
为这些组件(称为深度神经网络加速器)选择最佳设计具有挑战性,因为它们可能有大量的设计选项。当设计人员试图添加加密操作以保护数据免受攻击者攻击时,这个难题变得更加棘手。
现在,麻省理工学院的研究人员开发了一种搜索引擎,可以有效地识别深度神经网络加速器的最佳设计,从而在提高性能的同时保护数据安全。
他们的搜索工具称为 SecureLoop,旨在考虑添加数据加密和身份验证措施将如何影响加速器芯片的性能和能源使用。工程师可以使用此工具获得适合其神经网络和机器学习任务的加速器的最佳设计。
与不考虑安全性的传统调度技术相比,SecureLoop 可以提高加速器设计的性能,同时保护数据。
使用 SecureLoop 可以帮助用户提高要求苛刻的人工智能应用程序的速度和性能,例如自动驾驶或医学图像分类,同时确保敏感的用户数据免受某些类型的攻击。
“如果你对保证数据安全的计算感兴趣,我们以前用来寻找最佳设计的规则现在被打破了。因此,所有的优化都需要针对这个新的,更复杂的约束进行定制。这就是这篇论文所做的。”SecureLoop 论文的合著者、麻省理工学院计算机科学和电气工程实践教授J oel Emer 说。
该研究于 2023 年 10 月 29 日发布在 10 月 28 日至 11 月 1 日举行的 IEEE/ACM 国际微架构研讨会上。
“社区被动地接受了向加速器添加加密操作会带来开销。他们认为这只会在设计权衡空间中引入很小的差异。但是,这是一个误解。事实上,加密操作会严重扭曲设计 “节能加速器的空间。Kyungmi 在识别这个问题方面做得非常出色,”Yan 补充道。
安全加速
深度神经网络由处理数据的多层互连节点组成。通常,一层的输出成为下一层的输入。数据被分组为称为块的单元,用于在片外存储器和加速器之间进行处理和传输。神经网络的每一层都可以有自己的数据平铺配置。
深度神经网络加速器是具有一系列计算单元的处理器,可在网络的每一层中并行执行乘法等操作。加速器计划描述了如何移动和处理数据。
由于加速器芯片上的空间非常宝贵,因此大多数数据都存储在片外存储器中,并在需要时由加速器获取。但由于数据存储在片外,因此很容易受到攻击者的攻击,攻击者可能会窃取信息或更改某些值,从而导致神经网络发生故障。
“作为芯片制造商,你无法保证外部设备或整个操作系统的安全,”Lee 解释道。
制造商可以通过向加速器添加经过身份验证的加密来保护数据。加密使用密钥对数据进行加扰。然后,身份验证将数据切割成统一的块,并将加密哈希值分配给每个数据块,该哈希值与数据块一起存储在片外存储器中。
当加速器获取加密数据块(称为身份验证块)时,它会在处理原始数据之前使用密钥来恢复和验证原始数据。
但是身份验证块和数据切片的大小不匹配,因此一个块中可能有多个切片,或者一个切片可能被分割在两个块之间。加速器无法任意获取身份验证块的一小部分,因此它最终可能会获取额外的数据,这会消耗额外的能量并减慢计算速度。
另外,加速器仍然必须在每个身份验证块上运行加密操作,从而增加了更多的计算成本。
高效的搜索引擎
通过 SecureLoop,麻省理工学院的研究人员寻求一种可以确定最快、最节能的加速器调度的方法,该方法可以最大程度地减少设备因加密和身份验证而需要访问片外存储器以获取额外数据块的次数。
图:SecureLoop 调度搜索引擎概述
他们首先增强了 Emer 和他的合作者之前开发的现有搜索引擎,称为 Timeloop。首先,他们添加了一个模型,可以解释加密和身份验证所需的额外计算。
然后,他们将搜索问题重新表述为一个简单的数学表达式,这使得 SecureLoop 能够以比搜索所有可能选项更有效的方式找到理想的真实块大小。
“根据您分配该块的方式,不必要的流量可能会增加或减少。如果您巧妙地分配加密块,那么您只需获取少量的额外数据,”Lee 说。
最后,他们采用了一种启发式技术,确保 SecureLoop 识别出一个最大化整个深度神经网络(而不是单个层)性能的时间表。
最后,搜索引擎输出一个加速器时间表,其中包括数据平铺策略和身份验证块的大小,为特定神经网络提供最佳的速度和能源效率。
“这些加速器的设计空间是巨大的。Kyungmi 所做的是找出一些非常务实的方法来使搜索变得容易处理,这样她就可以找到好的解决方案,而无需彻底搜索空间,”Emer 说。
在模拟器中进行测试时,SecureLoop 发现与其他不考虑安全性的方法相比,调度速度提高了 33.2%,能源延迟积(与能源效率相关的指标)提高了 50.2%。
研究人员还使用 SecureLoop 来探索在考虑安全性时加速器的设计空间如何变化。Lee 表示,他们了解到,为加密引擎分配更多的芯片区域并为片上内存牺牲一些空间可以带来更好的性能。
未来,研究人员希望使用 SecureLoop 来寻找能够抵御侧信道攻击的加速器设计,这种攻击在攻击者有权访问物理硬件时发生。例如,攻击者可以监视设备的功耗模式以获取秘密信息,即使数据已被加密。他们还扩展了 SecureLoop,以便将其应用于其他类型的计算。