近年來人工智能和大數據的迅速發展正在深刻改變著這個世界和我們的生活方式。人工智能的核心是機器學習(Machine Learning) 算法,自 2006 年以來,在機器學習領域,以深度學習(Deep Lerning) 為代表的機器學習算法取得了突破性的進展,在2017年AlphaGo大戰圍棋冠軍李世石后這一技術加速走向市場、落地應用。而SSD作為大數據的一種存儲介質,正在取代HDD成為主流的存儲設備。那么當機器學習遇上SSD,會擦出怎樣的火花呢?
一、什么是機器學習?
·機器學習是讓計算機具有學習的能力,無需進行明確編程。—— 亞瑟·薩繆爾,1959
·計算機程序利用經驗 E 學習任務 T,性能是 P,如果針對任務 T 的性能 P 隨著經驗 E 不斷增長,則稱為機器學習?!?湯姆·米切爾,1997
機器學習是一類算法的總稱,這些算法從大量歷史數據中挖掘出其中隱含的規律,并用于預測或者分類,更具體的說,機器學習可以看作是尋找一個函數,輸入是樣本數據,輸出是期望的結果,只是這個函數過于復雜,以至于不太方便形式化表達。需要注意的是,機器學習的目標是使學到的函數很好地適用于“新樣本”,而不僅僅是在訓練樣本上表現很好。學到的函數適用于新樣本的能力,稱為泛化(Generalization)能力。
二、機器學習步驟
通常學習一個好的函數,分為以下三步:
1、選擇一個合適的模型,這通常需要依據實際問題而定,針對不同的問題和任務需要選取恰當的模型,模型就是一組函數的集合。
2、判斷一個函數的好壞,這需要確定一個衡量標準,也就是我們通常說的損失函數(Loss Function),損失函數的確定也需要依據具體問題而定,如回歸問題一般采用歐式距離,分類問題一般采用交叉熵代價函數。
3、找出“最好”的函數,如何從眾多函數中最快的找出“最好”的那一個,這一步是最大的難點,做到又快又準往往不是一件容易的事情。常用的方法有梯度下降算法,最小二乘法等和其他一些技巧(tricks)。
學習得到“最好”的函數后,需要在新樣本上進行測試,只有在新樣本上表現很好,才算是一個“好”的函數。
三、機器學習的類型
機器學習主要有三種基本類型:監督學習、非監督學習和強化學習。
1監督學習
監督學習是使用已知正確答案的示例來訓練模型。已知數據和其一一對應的標簽,訓練一個智能算法,將輸入數據映射到標簽的過程,它的常見應用場景如分類問題和回歸問題。常見的算法有K近鄰算法、線性回歸、邏輯回歸、支持向量機(SVM)、決策樹和隨機森林、神經網絡。
分類
在分類中,機器被訓練成將一個組劃分為特定的類。分類的一個簡單例子是電子郵件帳戶上的垃圾郵件過濾器。過濾器分析你以前標記為垃圾郵件的電子郵件,并將它們與新郵件進行比較。如果它們匹配一定的百分比,這些新郵件將被標記為垃圾郵件并發送到適當的文件夾。那些比較不相似的電子郵件被歸類為正常郵件并發送到你的郵箱。
也許你會問這個分類算法對于SSD有什么用呢?SSD中的一個典型的分類問題是IO模式識別,判斷IO是純讀、純寫或者混合讀寫的,這是一個三分類的問題;判斷IO是順序的還是隨機的,這是一個二分類的問題??梢愿鶕嶋H情況選擇相應的相應的機器學習分類算法識別出不同的IO模式,然后針對不同的模式FTL就可采取不同策略,進而提升SSD的性能。
回歸
回歸問題通常是用來預測一個值,它的預測結果是連續的,如預測房價、未來的天氣情況等,例如一個產品的實際價格為500元,通過回歸分析預測值為499元,我們認為這是一個比較好的回歸分析。
回歸算法在SSD中能用在什么地方呢?回歸算法在SSD的一個應用是IO強度預測,在一定模式下IO強度在時序上是有一定規律的,可以根據前一段時間的IO強度預測下一段時間的IO強度,Smart-IO技術采用長短期記憶人工神經網絡LSTM對IO強度進行預測。提前預測出IO強度后就可優化FTL策略、合理分配GC占用資源、合理調度、提高數據命中率等,進而提升SSD性能。
2非監督學習
在無監督學習中,數據是無標簽的。學習模型是為了推斷出數據的一些內在結構。無監督學習主要分為聚類和降維。
聚類用于根據屬性和行為對象進行分組。這與分類不同,因為這些組不是你提供的。聚類的一個例子是將一個組劃分成不同的子組(例如,基于年齡和婚姻狀況),然后應用到有針對性的營銷方案中。大多數大數據可視化使用降維來識別趨勢和規則。主要算法: K-means、層次聚類分析(HCA)、DBSCAN。
高維數據中很容易出現樣本稀疏、距離計算困難等問題,即“維度災難”,為了緩解維度災難,常用的就是降維。降維的主要方法有主成分分析(PCA)、線性判別分析(LDA)、局部線性嵌入(LLE)。如圖所示,通過PCA的方法可以把一個三位的數據降維成一個二維數據。
無監督學習由于沒有標簽,相比監督學習來說相當于少了一些輸入信息,實際應用中相對監督學習學習會困難一些,那么在SSD是否就無用武之地了呢?非也非也。Smart-IO數據分組技術用K-means算法對IO進行冷熱數據分組,然后把不同組的數據寫到不同的block或者die上,那么就可以減小,可減小WA,延長SSD使用壽命。
3強化學習
強化學習算法的思路非常簡單,以游戲為例,如果在游戲中采取某種策略可以取得較高的得分,那么就進一步「強化」這種策略,以期繼續取得較好的結果。這種策略與日常生活中的各種「績效獎勵」非常類似。我們平時也常常用這樣的策略來提高自己的游戲水平。AlphaGo下圍棋也是這個原理,只告訴機器圍棋的基本規則,但是不告訴它人類摸索了上千年才總結出來的定式等圍棋戰術,讓機器完全依靠自學,打敗人類。
強化學習感覺和SSD很難沾上邊,不過熟悉SSD(固態硬盤)的人都知道,垃圾回收(GC,Garbage Collection)是SSD固件設計中的重要一環,也是影響SSD主控性能的重要因素。一般的GC機制都是只根據當前硬盤空閑空間狀態來做GC的:當有空閑空間的時,不啟動GC;反之,當沒有空閑空間的情況下,執行GC任務。這種策略的缺點是如果在用戶操作的時候進行GC會造成SSD性能明顯下降,可以在主控空閑時提前進行GC,但是GC過于頻繁會造成WA寫放大過大,所以需要一個平衡,需要一種算法來自動確定何時GC,強化學習正好可以排上用場,給定一定的衡量標準,然后讓機器通過強化學習的方法訓練來自動學習GC的時機,得到更優的GC的策略。
四、DapuStor機器學習技術
DapuStor已基于SSD開發出Smart-IO Data Grouping和Smart-IO Intensities Prediction等先進技術,把機器學習的先進算法用到了SSD中,提升了SSD的產品性能。同時自研的帶有計算和智能的數據存儲處理器芯片(簡稱DPU),可以在芯片層面實現更多的智能功能和硬件加速,實現存算一體,滿足高端存儲和邊緣計算市場的需求。
-
SSD
+關注
關注
20文章
2851瀏覽量
117231 -
人工智能
+關注
關注
1791文章
46859瀏覽量
237579 -
機器學習
+關注
關注
66文章
8377瀏覽量
132410
原文標題:當機器學習遇上SSD
文章出處:【微信號:dputech,微信公眾號:DapuStor】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論