RGF算法+遷移學(xué)習(xí)精確預(yù)測硬盤故障?!禤redicting Disk Replacement towards Reliable Data Centers》由IBM研究院發(fā)表于數(shù)據(jù)挖掘頂會議KDD 2016。磁盤是當(dāng)今數(shù)據(jù)中心中最常見的硬件設(shè)備,也是最易發(fā)生故障的設(shè)備。盡管有如RAID的防御機(jī)制,系統(tǒng)的可用性和可靠性仍然經(jīng)常嚴(yán)重沖擊。 本文采用RGF算法和遷移學(xué)習(xí)精確預(yù)測硬盤故障從而判斷硬盤是否應(yīng)該更換。其方法對硬件設(shè)備的故障預(yù)測有借鑒意義。
互聯(lián)網(wǎng)迅速發(fā)展,網(wǎng)絡(luò)服務(wù)數(shù)量驟增, 大規(guī)模海量數(shù)據(jù)存儲系統(tǒng)是必不可少的支持。雖然新的存儲介質(zhì)例如SSD,已經(jīng)在讀性能等很多方面擁有了比磁盤更好的性能,但就目前來講,其高昂的花費使大部分?jǐn)?shù)據(jù)中心難以負(fù)擔(dān)。因此,大型數(shù)據(jù)中心依然采用傳統(tǒng)的以磁盤為主的存儲系統(tǒng)。這樣做采購成本上雖然有了節(jié)省,但磁盤頻繁損壞導(dǎo)致的數(shù)據(jù)丟失給企業(yè)帶來的損失也是不可忽視的重大問題。
據(jù)美國63個數(shù)據(jù)中心組織進(jìn)行的一項研究顯示,數(shù)據(jù)中心的停機(jī)費用在過去幾年中顯著增加,從2010年的5600美元/分鐘增加到2016年的8851美元/分鐘。以往基于磁盤SMART屬性建立的各種磁盤故障預(yù)測模型,雖然取得了一定的效果,但是其在SMART屬性選擇、準(zhǔn)確性以及模型的復(fù)用性上存在不足之處。
因此,本文提出了一個自動、精確的磁盤故障預(yù)測的方法,判斷磁盤在接下來一段時間內(nèi)需不需要替換。下面兩個圖展示的是有無替換預(yù)測的磁盤可用性示意圖。左圖代表的是傳統(tǒng)的磁盤異常檢測,磁盤狀態(tài)開始變差后才檢測到磁盤故障,這時的可用性已經(jīng)降到了最低才開始更換磁盤。右圖展示的是使用磁盤故障預(yù)測的情況,首先系統(tǒng)判斷磁盤的狀態(tài)即將要變差,然后工程師在磁盤可用性降低之前更換磁盤。通過這兩個圖的對比,我們可以看出提前預(yù)測磁盤故障可以降低故障對系統(tǒng)可用性的沖擊。
磁盤故障預(yù)測的挑戰(zhàn)
但是,磁盤故障預(yù)測,存在如下挑戰(zhàn):
不是所有的SMART屬性都與磁盤故障相關(guān)。因為缺乏SMART屬性對磁盤狀態(tài)指示的標(biāo)準(zhǔn),所以需要從SMART屬性中選擇與一部分磁盤故障相關(guān)的屬性,作為故障預(yù)測模型的輸入。
磁盤故障數(shù)據(jù)高度不平衡。隨著時間的推移,健康磁盤的SMART數(shù)據(jù)量一直在增加,但是只有一小部分磁盤(2%)被替換,即被替換的磁盤數(shù)據(jù)非常少。分類算法通常最大限度地提升整體精度,少數(shù)類所包含的信息就會很有限,從而難以確定少數(shù)類數(shù)據(jù)的分布,即在其內(nèi)部難以發(fā)現(xiàn)規(guī)律,進(jìn)而造成少數(shù)類的識別率低。
不同類型的磁盤SMART存在差異。SMART是特定于制造商的,它們的編碼和標(biāo)準(zhǔn)化在制造商之間差別很大,所以不能使用同一個預(yù)測性模型來判斷不同型號的磁盤。下面兩個圖展示的是不同類型磁盤的SMART數(shù)據(jù)差異,其中左圖表示的是溫度,右圖表示的是開機(jī)關(guān)機(jī)的周期,從兩個圖的對比可以看出,不同類型的磁盤SMART確實存在差異。
設(shè)計思想
本文分為如下五步來解決故障預(yù)測的挑戰(zhàn):
選擇SMART屬性。使用突變點(changepoint)檢測的方法對SMART屬性分類,選擇與磁盤替換相關(guān)的SMART屬性。
生成時間序列。使用指數(shù)平滑來生成簡化但是信息豐富的時間序列。
解決數(shù)據(jù)不平衡性。通過欠抽樣(downsampling)選擇具有代表性的健康磁盤的數(shù)據(jù),然后用這些數(shù)據(jù)來代表全部的健康磁盤,從而使健康磁盤與替換磁盤的比例達(dá)到平衡。
對磁盤狀態(tài)分類。RGF是一個分類算法,可以將磁盤的狀態(tài)分成0/1的狀態(tài),如果當(dāng)前時間序列被分成1狀態(tài),則認(rèn)為磁盤即將出現(xiàn)故障,需要更換磁盤。
遷移學(xué)習(xí)。考慮到同一廠商生產(chǎn)的不同磁盤模型之間也存在一定差異,本文使用了遷移學(xué)習(xí)的方法,從而利用某種磁盤上訓(xùn)練的模型來預(yù)測同一廠商的其他磁盤的故障替換情況。
1、選擇SMART屬性
因為SMART數(shù)據(jù)是隨著時間的增長而生成的,所以文中是通過時間序列突變點(changepoint)檢測來確定SMART與磁盤替換的相關(guān)性。當(dāng)被替換的磁盤SMART時間序列中某個SMART屬性發(fā)生突變,而且這個轉(zhuǎn)變是永久性不可恢復(fù)的,那么可以認(rèn)為這個屬性與磁盤替換是相關(guān)的。
下圖展示的是SMART_187_raw(無法糾正的錯誤)的折線圖,這是報告給操作系統(tǒng)的無法通過硬件ECC校正的錯誤。如果數(shù)據(jù)值不為零,就應(yīng)該備份磁盤上的數(shù)據(jù)了。從圖中可以看出在第50天的時候,SMART_187_raw值突然增大,即第50天為突變點。
通過檢測每一個SMART屬性,本文得到了下表中展示的結(jié)果(只展示部分結(jié)果)。在表格中,SgtA和HitA分別表示希捷和日立的磁盤型號,Ratio表示磁盤替換前該屬性值出現(xiàn)突變的比例。我們可以看出有些SMART屬性確實與磁盤替換無關(guān),而且對于不同型號的磁盤,與磁盤替換事件相關(guān)的SMART屬性是不相同的。
2、生成時間序列
經(jīng)過第一步的SMART屬性值的挑選,下一步需要做的是生成預(yù)測模型可以使用的時間序列。使用時間序列作為模型的數(shù)據(jù)是基于如下三點考慮的:
每天的數(shù)據(jù)都是不穩(wěn)定的,可能某天的SMART數(shù)據(jù)缺失。
磁盤具有一定的自恢復(fù)性,不能根據(jù)某一天的數(shù)據(jù)來判定磁盤接下來一段時間的狀態(tài)。
如果只看某一天的數(shù)據(jù),則無法提前一段時間來預(yù)測磁盤故障,也就無法留出充足的時間給工程師更換磁盤。
所以本文使用指數(shù)平滑的方法來生成時間序列,S_t=α·Y_t+(1-α)·S_(t-1)是指數(shù)平滑的公式,其中α是平滑參數(shù),Y_t是之前t個數(shù)據(jù)的平滑值。α越接近1,平滑后的值越接近當(dāng)前時間的數(shù)據(jù)值。指數(shù)平滑不舍棄過去的數(shù)據(jù),而是僅給予逐漸減弱的影響程度,即隨著數(shù)據(jù)的遠(yuǎn)離,賦予逐漸收斂為零的權(quán)數(shù)。
3、解決數(shù)據(jù)不平衡性
遇到不平衡數(shù)據(jù)時,以總體分類準(zhǔn)確率為學(xué)習(xí)目標(biāo)的傳統(tǒng)分類算法會過多地關(guān)注多數(shù)類,而使少數(shù)類樣本的分類性能下降。因為這些算法大多數(shù)建立在各類數(shù)據(jù)分布平衡的假設(shè)之下,以尋求數(shù)據(jù)總體分類準(zhǔn)確率為最大目標(biāo)。而在磁盤故障預(yù)測的場景下,磁盤故障的數(shù)量是遠(yuǎn)遠(yuǎn)小于正常磁盤的。本文使用了欠抽樣(downsampling)的方式來平衡數(shù)據(jù)。
具體做法是這樣的,對健康磁盤的時間序列樣本做K-means聚類,聚類之后每一個類別中樣本都是相似的,然后選擇距離聚類中心最近的n個點作為健康磁盤樣本的抽樣結(jié)果。
4、對磁盤狀態(tài)分類
本文使用了RGF算法對磁盤狀態(tài)分類。RGF 算法是一個分類算法,它是GBDT(梯度提升決策樹)算法最好的變種之一。針對 GBDT 每次迭代只優(yōu)化新建樹以及過擬合的問題,RGF使用了正則化的全局優(yōu)化貪心搜索改進(jìn)算法:
每次迭代直接對整個貪心森林進(jìn)行學(xué)習(xí)
新增決策樹后進(jìn)行全局的參數(shù)優(yōu)化
引入顯式的針對決策樹的正則項來防止過擬合
文中對比了RGF與其他分類算法的分類結(jié)果,上表中的P、R、F分別表示準(zhǔn)確率(precision)、召回率(recall)、F-分?jǐn)?shù)(F-score)。從表中可以看出,RGF的效果是最好的。
5、遷移學(xué)習(xí)
同一廠商生產(chǎn)的不同磁盤模型之間也是存在差異的。本文發(fā)現(xiàn),不同磁盤模型之間具有相似的SMART屬性,但相同的SMART屬性之間的數(shù)據(jù)分布不同。因此,直接將訓(xùn)練集磁盤模型上建立的預(yù)測模型用于同一廠商生產(chǎn)的其他磁盤模型的故障預(yù)測,不能達(dá)到最好的預(yù)測效果。
首先我們來說明遷移學(xué)習(xí)中的兩個重要概念,域(domain)和任務(wù)(task)。如下圖所示。
域(domain):包括特征空間(feature space)X和邊緣概率分布(marginal probability distribution)P(x), x ∈X。例如,一組圖片中的所有可能顏色構(gòu)成一個特征空間,而各種顏色出現(xiàn)的頻率則為邊緣概率分布。
任務(wù)(task):給定一個域,任務(wù)還包含兩個要素,標(biāo)簽空間(label space)y和預(yù)測函數(shù)(predictive function)f(·)=P(y|x)。例如,一組圖片中可能出現(xiàn)的所有元素構(gòu)成一個標(biāo)簽空間,而通過預(yù)測函數(shù)可以得出某幅特定圖片中包含哪些元素。
同一廠商生產(chǎn)的不同磁盤模型之間具有一定的關(guān)聯(lián)性,但它們之間存在樣本選擇偏差(sample selection bias)。即不同種磁盤模型之間雖然具有大量的重疊特征,但源數(shù)據(jù)實例(帶標(biāo)簽的訓(xùn)練數(shù)據(jù))和目標(biāo)數(shù)據(jù)實例(無標(biāo)簽的測試數(shù)據(jù))的分布不同。因此,作者采用了基于實例的遷移學(xué)習(xí)方法來消除源數(shù)據(jù)和目標(biāo)數(shù)據(jù)之間的樣本選擇偏差,從而將某種磁盤上訓(xùn)練的模型應(yīng)用于其他磁盤上。
具體的,對于兩種磁盤模型1和2,將帶標(biāo)簽的磁盤1實例與無標(biāo)簽的磁盤2實例放在一起。訓(xùn)練一個分類函數(shù),使f(x)表示一個磁盤屬于模型1或模型2的概率。利用分類函數(shù)f對帶標(biāo)簽的訓(xùn)練數(shù)據(jù)集進(jìn)行重新采樣,從而消除樣本選擇偏差,使訓(xùn)練集與測試集數(shù)據(jù)服從同一分布。此時,根據(jù)重新采樣的訓(xùn)練集,利用前文所述的RGF算法訓(xùn)練出函數(shù),g(x)代表該類型磁盤的一個實例需要進(jìn)行替換的概率。由于重新采樣的訓(xùn)練集與測試集服從相同的數(shù)據(jù)分布,因此可將預(yù)測函數(shù)g直接應(yīng)用于同一廠商生產(chǎn)的其他磁盤模型上(測試集)。
作者分別使用兩個廠商生產(chǎn)的磁盤的數(shù)據(jù)集SgtA和HitA訓(xùn)練模型,并使用遷移學(xué)習(xí)的方法將兩種模型分別應(yīng)用于同廠商的其他磁盤數(shù)據(jù)集SgtB和HitB上。上表分別展示了直接將模型 A應(yīng)用于磁盤B上以及運用遷移學(xué)習(xí)方法將模型A應(yīng)用于磁盤B的替換預(yù)測的準(zhǔn)確率、召回率、F-分?jǐn)?shù)??梢钥闯?,應(yīng)用遷移學(xué)習(xí)方法后,預(yù)測準(zhǔn)確性得到了很大提高,從而大大減少了需要訓(xùn)練的模型數(shù)量。
總結(jié)
本文介紹了一套自動、精確的磁盤故障預(yù)測方法,用于判斷磁盤在接下來一段時間內(nèi)是否需要替換。通過選擇SMART屬性、生成時間序列、解決數(shù)據(jù)不平衡性等步驟,將磁盤故障預(yù)測轉(zhuǎn)化為對時間序列數(shù)據(jù)的分類問題。之后使用RGF算法對磁盤狀態(tài)進(jìn)行分類,從而找出可能發(fā)生故障的磁盤。對于同一廠商生產(chǎn)的不同型號的磁盤,采用遷移學(xué)習(xí)的方法進(jìn)行處理,在保證預(yù)測準(zhǔn)確性的同時減少模型訓(xùn)練開銷。最后,文中采用不同廠商、多種類型的磁盤SMART數(shù)據(jù)驗證該方法,達(dá)到了較高的準(zhǔn)確率和召回率。
-
IBM
+關(guān)注
關(guān)注
3文章
1760瀏覽量
74758 -
磁盤
+關(guān)注
關(guān)注
1文章
379瀏覽量
25232 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8428瀏覽量
132831
發(fā)布評論請先 登錄
相關(guān)推薦
評論