麻省理工學(xué)院的研究人員開發(fā)了一種搜索引擎SecureLoop,可以有效地識別深度神經(jīng)網(wǎng)絡(luò)加速器的最佳設(shè)計,在提高性能的同時保護(hù)數(shù)據(jù)安全。
隨著計算密集型機器學(xué)習(xí)應(yīng)用程序(例如執(zhí)行實時語言翻譯的聊天機器人)的激增,設(shè)備制造商通常會采用專門的硬件組件來快速移動和處理這些系統(tǒng)所需的大量數(shù)據(jù)。
為這些組件(稱為深度神經(jīng)網(wǎng)絡(luò)加速器)選擇最佳設(shè)計具有挑戰(zhàn)性,因為它們可能有大量的設(shè)計選項。當(dāng)設(shè)計人員試圖添加加密操作以保護(hù)數(shù)據(jù)免受攻擊者攻擊時,這個難題變得更加棘手。
現(xiàn)在,麻省理工學(xué)院的研究人員開發(fā)了一種搜索引擎,可以有效地識別深度神經(jīng)網(wǎng)絡(luò)加速器的最佳設(shè)計,從而在提高性能的同時保護(hù)數(shù)據(jù)安全。
他們的搜索工具稱為 SecureLoop,旨在考慮添加數(shù)據(jù)加密和身份驗證措施將如何影響加速器芯片的性能和能源使用。工程師可以使用此工具獲得適合其神經(jīng)網(wǎng)絡(luò)和機器學(xué)習(xí)任務(wù)的加速器的最佳設(shè)計。
與不考慮安全性的傳統(tǒng)調(diào)度技術(shù)相比,SecureLoop可以提高加速器設(shè)計的性能,同時保護(hù)數(shù)據(jù)。
使用SecureLoop可以幫助用戶提高要求苛刻的人工智能應(yīng)用程序的速度和性能,例如自動駕駛或醫(yī)學(xué)圖像分類,同時確保敏感的用戶數(shù)據(jù)免受某些類型的攻擊。
“如果你對保證數(shù)據(jù)安全的計算感興趣,我們以前用來尋找最佳設(shè)計的規(guī)則現(xiàn)在被打破了。因此,所有的優(yōu)化都需要針對這個新的,更復(fù)雜的約束進(jìn)行定制。這就是這篇論文所做的。”SecureLoop論文的合著者、麻省理工學(xué)院計算機科學(xué)和電氣工程實踐教授Joel Emer說。
該研究于2023年10月29日發(fā)布在10月28日至11月1日舉行的IEEE/ACM國際微架構(gòu)研討會上。
“社區(qū)被動地接受了向加速器添加加密操作會帶來開銷。他們認(rèn)為這只會在設(shè)計權(quán)衡空間中引入很小的差異。但是,這是一個誤解。事實上,加密操作會嚴(yán)重扭曲設(shè)計“節(jié)能加速器的空間。Kyungmi在識別這個問題方面做得非常出色,”Yan補充道。
深度神經(jīng)網(wǎng)絡(luò)由處理數(shù)據(jù)的多層互連節(jié)點組成。通常,一層的輸出成為下一層的輸入。數(shù)據(jù)被分組為稱為塊的單元,用于在片外存儲器和加速器之間進(jìn)行處理和傳輸。神經(jīng)網(wǎng)絡(luò)的每一層都可以有自己的數(shù)據(jù)平鋪配置。
深度神經(jīng)網(wǎng)絡(luò)加速器是具有一系列計算單元的處理器,可在網(wǎng)絡(luò)的每一層中并行執(zhí)行乘法等操作。加速器計劃描述了如何移動和處理數(shù)據(jù)。
由于加速器芯片上的空間非常寶貴,因此大多數(shù)數(shù)據(jù)都存儲在片外存儲器中,并在需要時由加速器獲取。但由于數(shù)據(jù)存儲在片外,因此很容易受到攻擊者的攻擊,攻擊者可能會竊取信息或更改某些值,從而導(dǎo)致神經(jīng)網(wǎng)絡(luò)發(fā)生故障。
“作為芯片制造商,你無法保證外部設(shè)備或整個操作系統(tǒng)的安全,”Lee解釋道。
制造商可以通過向加速器添加經(jīng)過身份驗證的加密來保護(hù)數(shù)據(jù)。加密使用密鑰對數(shù)據(jù)進(jìn)行加擾。然后,身份驗證將數(shù)據(jù)切割成統(tǒng)一的塊,并將加密哈希值分配給每個數(shù)據(jù)塊,該哈希值與數(shù)據(jù)塊一起存儲在片外存儲器中。
當(dāng)加速器獲取加密數(shù)據(jù)塊(稱為身份驗證塊)時,它會在處理原始數(shù)據(jù)之前使用密鑰來恢復(fù)和驗證原始數(shù)據(jù)。
但是身份驗證塊和數(shù)據(jù)切片的大小不匹配,因此一個塊中可能有多個切片,或者一個切片可能被分割在兩個塊之間。加速器無法任意獲取身份驗證塊的一小部分,因此它最終可能會獲取額外的數(shù)據(jù),這會消耗額外的能量并減慢計算速度。
另外,加速器仍然必須在每個身份驗證塊上運行加密操作,從而增加了更多的計算成本。
通過SecureLoop,麻省理工學(xué)院的研究人員尋求一種可以確定最快、最節(jié)能的加速器調(diào)度的方法,該方法可以最大程度地減少設(shè)備因加密和身份驗證而需要訪問片外存儲器以獲取額外數(shù)據(jù)塊的次數(shù)。
圖:SecureLoop調(diào)度搜索引擎概述
他們首先增強了Emer和他的合作者之前開發(fā)的現(xiàn)有搜索引擎,稱為Timeloop。首先,他們添加了一個模型,可以解釋加密和身份驗證所需的額外計算。
然后,他們將搜索問題重新表述為一個簡單的數(shù)學(xué)表達(dá)式,這使得SecureLoop能夠以比搜索所有可能選項更有效的方式找到理想的真實塊大小。
“根據(jù)您分配該塊的方式,不必要的流量可能會增加或減少。如果您巧妙地分配加密塊,那么您只需獲取少量的額外數(shù)據(jù),”Lee說。
最后,他們采用了一種啟發(fā)式技術(shù),確保SecureLoop識別出一個最大化整個深度神經(jīng)網(wǎng)絡(luò)(而不是單個層)性能的時間表。
最后,搜索引擎輸出一個加速器時間表,其中包括數(shù)據(jù)平鋪策略和身份驗證塊的大小,為特定神經(jīng)網(wǎng)絡(luò)提供最佳的速度和能源效率。
“這些加速器的設(shè)計空間是巨大的。Kyungmi所做的是找出一些非常務(wù)實的方法來使搜索變得容易處理,這樣她就可以找到好的解決方案,而無需徹底搜索空間,”Emer說。
在模擬器中進(jìn)行測試時,SecureLoop發(fā)現(xiàn)與其他不考慮安全性的方法相比,調(diào)度速度提高了33.2%,能源延遲積(與能源效率相關(guān)的指標(biāo))提高了50.2%。
研究人員還使用SecureLoop來探索在考慮安全性時加速器的設(shè)計空間如何變化。Lee表示,他們了解到,為加密引擎分配更多的芯片區(qū)域并為片上內(nèi)存犧牲一些空間可以帶來更好的性能。
未來,研究人員希望使用SecureLoop來尋找能夠抵御側(cè)信道攻擊的加速器設(shè)計,這種攻擊在攻擊者有權(quán)訪問物理硬件時發(fā)生。例如,攻擊者可以監(jiān)視設(shè)備的功耗模式以獲取秘密信息,即使數(shù)據(jù)已被加密。他們還擴(kuò)展了SecureLoop,以便將其應(yīng)用于其他類型的計算。