熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

"); //-->

博客專欄

EEPW首頁 > 博客 > ICSE 2021:微軟亞洲研究院精選論文,洞察軟件工程前沿研究

ICSE 2021:微軟亞洲研究院精選論文,洞察軟件工程前沿研究

發(fā)布人:MSRAsia 時間:2021-05-28 來源:工程師 發(fā)布文章

編者按:作為軟件工程領(lǐng)域的頂級會議,ICSE (International Conference on Software Engineering) 今年共接收了138篇論文,錄取率為22.44%。微軟亞洲研究院有多篇論文被收錄,今天為大家介紹其中的4篇,研究主題包括:故障分析、逆向工程、配置空間、云計算系統(tǒng)、黑盒后門攻擊、深度學(xué)習(xí)等等。

AutoCCAG:生成約束覆蓋陣列的自動化方法

1.png

論文鏈接:

https://www.microsoft.com/en-us/research/publication/autoccag-an-automated-approach-toconstrained-covering-array-generation/

現(xiàn)如今,伴隨著軟件定制化需求的不斷增長,開發(fā)高度可配置的軟件系統(tǒng)在學(xué)術(shù)界和工業(yè)界也都得到了廣泛的關(guān)注。高度可配置的系統(tǒng)提供了很多選項,用戶可以通過調(diào)節(jié)這些選項來輕松自定義系統(tǒng)。但是,由于所有可能的配置總數(shù)會隨著選項數(shù)量的增加呈指數(shù)級增長,“一不小心”還可能因為某些特定的(不合法的)配置導(dǎo)致系統(tǒng)故障,所以測試一個高度可配置系統(tǒng)所有的可能配置(即所有可能的選項組合)代價極高。

例如,假設(shè)一個軟件系統(tǒng)有15個選項,每個選項有3個可能的取值,那么在最壞情況下這個系統(tǒng)會有超過一千萬種可能的配置(3^15=14,348,907)。因此,這個領(lǐng)域迫切需要更實用并且更高效的測試方法。

組合交互性測試(Combinatorial Interaction Testing, CIT)是一種有效的用于測試高度可配置系統(tǒng)的測試方法。相比較于測試所有可能的配置,CIT 僅需測試少量的配置,大大減少了測試所需的代價。CIT 方法能夠生成一個覆蓋陣列(Covering Array, CA)。一個 t-way CA 可覆蓋所有可能的 t 個不同選項之間取值的合法組合(t被稱為覆蓋強度)。所以約束覆蓋陣列生成(Constrained Covering Array Generation, CCAG)的問題表述是:在給定硬約束的情況下,找到一個最小的約束覆蓋陣列(Constrained Covering Array, CCA)。CCAG 已經(jīng)被證明是一個 NP-hard 優(yōu)化問題,因此理論上求解 CCAG 問題,非常困難。

已有的 CCAG 方法(如貪心算法、約束編碼算法以及元啟發(fā)式算法)通常只能有效求解 2-way CCAG 和 3-way CCAG,但求解 t-way CCAG(t>=4)仍然是一個技術(shù)上的挑戰(zhàn)。而有效地求解 t-way CCAG(t>=4)非常重要。例如,有文獻表明,在測試交通系統(tǒng)時,3-way CCAG 只能檢測74%的故障,然而 4-way CCAG 和 5-way CCAG 則可以分別檢測89%和100%的故障。

對此,微軟亞洲研究院的研究員們提出了一個生成約束覆蓋陣列的自動化方法 AutoCCAG。AutoCCAG 采用了先進的自動算法配置技術(shù)(Automated Algorithm Configuration)和自動算法選擇技術(shù)(Automated Algorithm Selection),可以更加有效地求解 4-way CCAG 和 5-way CCAG 問題。

2.png

圖1: AutoCCAG 架構(gòu)圖

AutoCCAG 包括三個組件:1)配置優(yōu)化器(Configuration Optimizer),2)有效配置生成器(Promising Configuration Generator),3)配置調(diào)度規(guī)劃器(Configuration Scheduling Planner)。

AutoCCAG 的架構(gòu)如圖1所示。給定一個可配置的 CCAG 算法 a,AutoCCAG 的配置優(yōu)化器會采用自動算法配置技術(shù)用于確定算法 a 的優(yōu)化參數(shù);然后 AutoCCAG 的有效配置生成器的會生成算法 a 的多個配置并且使得這些配置之間有很強的互補性;之后,AutoCCAG 的配置調(diào)度規(guī)劃器會采用自動算法選擇技術(shù)構(gòu)造一個關(guān)于算法 a 的配置調(diào)度規(guī)劃。最終,AutoCCAG 通過采用該配置調(diào)度規(guī)劃用來求解給定的 CCAG 問題實例,并且生成相應(yīng)的約束覆蓋陣列。

研究員們將 AutoCCAG 與多種先進的 CCAG 求解算法進行了實驗對比(相關(guān)實驗結(jié)果請見表1、2)。實驗結(jié)果表明,相比較于已有的 CCAG 求解算法,AutoCCAG 在求解 4-way CCAG 以及 5-way CCAG 問題上都展現(xiàn)出了更好的求解性能。

3.png

表1: 不同方法在求解 4-way CCAG 問題上的性能對比

4.png

表2: 不同方法在求解 5-way CCAG 問題上的性能對比

DeepPayload:用逆向工程技術(shù)對深度學(xué)習(xí)模型進行黑盒后門攻擊

5.png

論文地址:

https://arxiv.org/pdf/2101.06896.pdf 

如今深度神經(jīng)網(wǎng)絡(luò)(DNN)已經(jīng)被越來越多地應(yīng)用于安全攸關(guān)的移動/邊緣端場景中,例如身份認證、自動駕駛、智能安防等,這使得模型的安全性顯得愈發(fā)重要。目前,神經(jīng)網(wǎng)絡(luò)模型運行時,會面對兩類攻擊——對抗樣本攻擊(adversarial attack)、后門攻擊(backdoor attack)等。其中,后門攻擊是指,在模型中植入一些隱藏的邏輯,且在特殊條件下才會觸發(fā)。顯然,后門攻擊的存在會導(dǎo)致模型預(yù)測結(jié)果被“操縱”。例如,一個被植入后門的圖片分類模型,可能在當輸入的圖片有一個特殊標識的時候,將圖片識別為某個特定的類別,而當輸入圖片沒有特殊標識的時候則正常工作。

有兩種應(yīng)對后門攻擊的主流方法:1. 通過數(shù)據(jù)投毒(data poisoning)向訓(xùn)練數(shù)據(jù)中加入異常的樣本,從而讓模型在訓(xùn)練之后“自帶”后門邏輯;2. 對模型內(nèi)部的神經(jīng)元進行分析,自動生成后門觸發(fā)標識,以及生成后門的訓(xùn)練數(shù)據(jù)。

但以上方法存在兩個“致命”的缺點,使其在移動/邊緣端場景中并不適用:1. 大多數(shù)部署在移動/邊緣端應(yīng)用中的模型,其存在形式都近似于黑盒,例如 .pb, .tflite, .onnx 格式等,其具體功能具有不確定性,所以對模型進行二次訓(xùn)練較為困難;2. 這類方法大多只能實現(xiàn)數(shù)字世界的攻擊,其后門觸發(fā)標識往往是對圖片中某些特定像素進行直接修改,而對于部署在物理世界的模型,卻很難做到對輸入進行像素級的控制。因此,要想達成物理世界的攻擊,就需要使得后門可以被物理世界真實的物體觸發(fā)。

在傳統(tǒng)軟件中,后門攻擊往往是通過一系列逆向工程的方法達成,例如通過將程序二進制文件反匯編(disassemble)、植入惡意代碼(malicious payload)、重新匯編(reassemble)等過程。這樣的做法不需要了解目標程序的具體功能就可以進行大范圍的攻擊。

因此,微軟亞洲研究院的研究員們開始思考,類似的逆向工程思路能否用于黑盒神經(jīng)網(wǎng)絡(luò)模型的攻擊?答案是肯定的,類似于傳統(tǒng)軟件,模型也可以被反匯編成數(shù)據(jù)流圖的形式。與代碼數(shù)據(jù)流圖不同,模型數(shù)據(jù)流圖中的節(jié)點是基本的數(shù)學(xué)操作(如卷積、激活等),邊是數(shù)據(jù)張量(tensor)的流動,所以可通過直接對數(shù)據(jù)流圖進行修改植入后門邏輯。

研究員提出的 DeepPayload 方法的具體思路是:在模型中自動加入一個旁路。首先通過一個輕量級的觸發(fā)檢測模型(trigger detector)檢測輸入中是否存在后門觸發(fā)標識,然后將檢測結(jié)果輸入一個條件選擇模塊(conditional module),該模塊可以在后門觸發(fā)標識存在概率小于一定閾值時選擇輸出原始模型的預(yù)測結(jié)果,而在觸發(fā)標識存在概率大于閾值時輸出攻擊者指定的結(jié)果。在沒有關(guān)于模型所在環(huán)境數(shù)據(jù)分布的先驗知識的情況下,攻擊者可以通過使用數(shù)據(jù)增強的方法,模擬出觸發(fā)標識在圖片不同位置、角度、大小、光照條件下的情形,進而在增強之后的數(shù)據(jù)上訓(xùn)練,使得模型能在不同背景環(huán)境下檢測到觸發(fā)標識。另外,條件選擇模塊是由 ReLU、Mask、Sum 等神經(jīng)網(wǎng)絡(luò)基礎(chǔ)操作符構(gòu)成,實現(xiàn)了與傳統(tǒng)程序中 if-else 語句等價的邏輯。

6.png

圖2:基于逆向工程的后門攻擊原理示例

為了驗證 DeepPayload 方法的有效性,研究員們使用從30個用戶處收集的真實場景圖片對攻擊方法進行了評估,實現(xiàn)證明該方法能夠以93.5%的準確率觸發(fā)后門。同時,植入的后門對模型的延遲、準確率影響都很?。?.3%~3.1%)。

通過分析116個包含深度學(xué)習(xí)模型的安卓應(yīng)用,研究員們還發(fā)現(xiàn)其中54個應(yīng)用可以被該方法成功攻擊。這些應(yīng)用的領(lǐng)域包括:支付、商業(yè)、教育等等,有的下載量達到了千萬級別。這表明目前開發(fā)者對模型保護的意識還相對薄弱,希望這項工作能喚起廣大開發(fā)者和市場監(jiān)管者對軟件中神經(jīng)網(wǎng)絡(luò)模型的保護意識。

COT:利用服務(wù)關(guān)系挖掘、加速大規(guī)模云系統(tǒng)故障分析

7.png

論文地址:

https://arxiv.org/pdf/2103.03649.pdf 

隨著云計算系統(tǒng)的快速發(fā)展,越來越多的企業(yè)選擇將它們的服務(wù)遷移到云計算平臺上。因此,大規(guī)模云計算平臺,如微軟 Azure 云計算平臺等,在支撐著數(shù)量龐大的云計算服務(wù)與終端用戶的同時,保障其高可用性十分關(guān)鍵。

然而,盡管云服務(wù)提供商們在保障其云服務(wù)可靠性上都投入巨大,但云平臺仍然會面臨各種故障(Incidents)。其中有一類故障稱之為 Outage,其特征是:可能會對云平臺中多個互相依賴的服務(wù)產(chǎn)生嚴重影響,并導(dǎo)致故障傳遞至面向用戶的服務(wù)中。顯然,Outage 一方面會影響用戶的使用體驗,另一方面也會帶來巨大的經(jīng)濟損失。

8.png

圖3 :Outage 生命周期

在現(xiàn)有基于服務(wù)分層抽象、虛擬化等技術(shù)的 Devops 工業(yè)實踐中,由于 Outage 會從多個服務(wù)(如用戶直接使用的服務(wù))的報告中同時得知,尋找 Outage 原因的過程會涉及大量診斷與跨團隊溝通,所以這個過程十分耗時。對此,微軟亞洲研究院的研究員們設(shè)計實現(xiàn)了 COT(Correlation-based Outage Triage),通過挖掘歷史 Outage 診斷記錄中的有用信息,加速 Outage 根因定位的過程。

COT 的思路是,對于歷史上的每一個 Outage,研究員們都挖掘與該 Outage 相關(guān)的故障之間的關(guān)聯(lián)信息,并以服務(wù)為單位,將故障之間的關(guān)聯(lián)信息進行聚合,然后,以 Outage 中服務(wù)之間的故障關(guān)聯(lián)為特征,以 Outage 的根因服務(wù)為標簽,訓(xùn)練機器學(xué)習(xí)模型。在新的 Outage 發(fā)生后,研究員們可以通過歷史故障的關(guān)聯(lián)信息,快速找到與該 Outage 相關(guān)的故障,并用相同的方法對這些故障進行聚合與特征提取,再利用先前訓(xùn)練好的機器學(xué)習(xí)模型來預(yù)測其根因服務(wù)。

9.png

圖4:COT 方法概覽

研究員們將 COT 與當前研究中最先進的方法(DeepCT)進行了對比測量。COT 在不同時間窗口設(shè)置下,可以實現(xiàn) 82.1% ~ 83.5% 的預(yù)測準確率,相較于 DeepCT 的準確率高出 28.0%~29.7%。同時 COT 的執(zhí)行十分高效,其預(yù)測 Outage 根因服務(wù)的時間開銷可控制在一分鐘以內(nèi)。

現(xiàn)在,COT 已經(jīng)部署于微軟 Azure 云計算平臺的生產(chǎn)環(huán)境中,輔助工程師加速 Outage 的分析過程。另外,針對 Outage 所構(gòu)建的服務(wù)之間的故障關(guān)聯(lián),COT 也為工程師理解故障在服務(wù)之間的傳遞模式提供了重要的參考依據(jù)。

DnnSAT:用于深度學(xué)習(xí)模型資源導(dǎo)向的配置空間約簡

10.png

論文地址:

https://www.microsoft.com/en-us/research/publication/resource-guided-configuration-space-reduction-for-deep-learning-models/

許多傳統(tǒng)的軟件系統(tǒng),例如編譯器和 Web 服務(wù)器,都提供了大量的配置選項(configuration option),通過不同的選項組合來滿足不同條件下的系統(tǒng)質(zhì)量(例如吞吐量)要求。與傳統(tǒng)的可配置軟件系統(tǒng)類似,語音識別、聊天機器人和游戲等部署深度學(xué)習(xí)技術(shù)的現(xiàn)代軟件系統(tǒng),也為開發(fā)人員提供了兩大類的多種模型配置選項——超參選項(如批處理大小和學(xué)習(xí)率)以及網(wǎng)絡(luò)結(jié)構(gòu)選項(如網(wǎng)絡(luò)層數(shù)和每層的類型)。

由于模型的選項眾多,組合而成的模型配置(model configuration)數(shù)量呈指數(shù)方式增長,從而導(dǎo)致手工調(diào)參方式低效、繁瑣且易出錯。盡管有大量的自動化機器學(xué)習(xí)(AutoML)工具可供使用,也能通過提交成百上千的訓(xùn)練任務(wù)搜索優(yōu)質(zhì)的模型配置,但依然無法解決配置空間的指數(shù)爆炸問題。

微軟亞洲研究院的研究員們認為,約簡模型的配置空間是快速搜尋最優(yōu)模型配置以及整體提升深度學(xué)習(xí)開發(fā)效率的有效途徑。其理由為:由于資源方面的限制,不滿足資源需求約束的模型配置會造成訓(xùn)練任務(wù)的失敗或產(chǎn)出不符合要求的模型,從而浪費系統(tǒng)資源、降低生產(chǎn)力。例如某個批處理大小為256的 PyTorch ResNet-50 訓(xùn)練任務(wù)在 NVIDIA Tesla P100 GPU 上觸發(fā)了 out-of-GPU-memory 的異常。這是因為該任務(wù)需要 22GB 顯存,但是 P100 GPU 只有 16GB。此外,AutoML 工具的使用還會“放大”這些故障的危害,因為其它使用相同批處理大小的上百個訓(xùn)練任務(wù)都可能把顯存耗盡。

如何有效地約簡模型的配置空間?微軟亞洲研究院的研究員們提出了 DnnSAT,一種資源導(dǎo)向的配置空間約簡方法。DnnSAT 能夠幫助開發(fā)人員和 AutoML 工具提前去除不滿足資源需求約束的模型配置,從而節(jié)省出可觀的系統(tǒng)資源用于搜尋更多的模型配置。

實現(xiàn) DnnSAT 方法的具體思路是,把配置空間的約簡歸約成約束滿足問題(constraint satisfaction problem),提供一個統(tǒng)一的、解析的代價模型來構(gòu)建關(guān)于模型權(quán)重大?。╩odel weight size)、浮點操作數(shù)目(number of floating-point operations)、模型推理時間(model inference time)和 GPU 顯存消耗(GPU memory consumption)的常用約束,并調(diào)用微軟 Z3 SMT (satisfiability modulo theories)solver 獲得所有可滿足的模型配置。對于模型的任一系統(tǒng)質(zhì)量屬性(quality attribute),DnnSAT 方法都可以定義一組約束,從而進一步約簡模型的配置空間。(本論文僅討論了資源需求的約束。)

11.png

圖5:DnnSAT 的工作流程

在圖5 DnnSAT 的工作流程中,可以看到工具的輸入是模型文件、模型配置信息和約束設(shè)置。DnnSAT 首先加載了模型文件以構(gòu)建出相應(yīng)的計算圖(computation graph),再根據(jù)操作符(operator)的實際執(zhí)行順序遍歷此圖,隨后使用預(yù)建的操作符代價函數(shù)逐步創(chuàng)建模型的資源使用函數(shù)(該函數(shù)以超參和網(wǎng)絡(luò)結(jié)構(gòu)為參數(shù),使用 SMT LIB 格式描述),最后將資源使用函數(shù)和用戶設(shè)置的資源上下界交由微軟 Z3 SMT solver 求解。

研究員們設(shè)計了多項實驗用于來驗證 DnnSAT 對 AutoML 算法的加速效果、配置空間約簡效率以及約束求解速度。首先,在公開的 AutoML 基準測試——HPOBench 和 NAS-Bench-101 中,DnnSAT 明顯地加速了隨機、演化、Hyperband 以及強化學(xué)習(xí)等多種代表性超參數(shù)與模型結(jié)構(gòu)搜索的算法,獲得1.19—3.95倍的加速比。此外,DnnSAT 還顯著地約簡了 VGG-16 和基于 LSTM 的 Seq2Seq 這兩種典型深度學(xué)習(xí)模型的配置空間。例如,在多種 GPU 顯存容量的實驗約束下,VGG-16 模型的配置空間約簡為原有的42.1%~84.3%;在不同批推理時間上界的實驗約束下,Seq2Seq 模型的配置空間約簡為原有的33.2%~74.1%;越嚴格的約束條件會產(chǎn)生更明顯的約簡效果。最后,為了加快約束求解速度,DnnSAT 實現(xiàn)了并行求解、微小配置空間和區(qū)間過濾的優(yōu)化策略,從而獲得了數(shù)量級的求解加速效果。研究員們相信,DnnSAT 可以讓 AutoML 技術(shù)在資源受限的實際環(huán)境中更加高效和實用。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉