現現在在談論數據的價值的時候,常常提到的概念之一就是深度學習,或者更普遍的說是人工智能。深度學習系統一般經過大規模的數據集和神經網絡算法來訓練和完善應用模型,這就須要強大的計算集羣,高性能可擴展的存儲系統來實現。html
人工智能(AI,Artificial Intelligence)指由人制造出來的機器所表現出來的智能,一般AI嘗試創造類人的用於通用目的的智能設備。前端
機器學習(ML,Machine Learning)是AI的一個分支,一般經過訓練的方式來解決特定的問題,例如圖片識別,語音識別等。算法
深度學習(DL,Deep Learning)是機器學習的一個分支,一般指機器學習中使用的神經網絡算法超過一層,就稱爲深度學習。其中最常用的是卷積神經網絡(CNN,Convolutional Neural Networks),一般包括輸入層,隱層(多層),輸出層組成的多層網絡,而且只有響鈴的層之間有鏈接,同一層及跨層之間無鏈接,是一種接近人類大腦的層次結構的分層結構。express
三者的關係以下圖所示:
安全
深度學習在最近幾年獲得了飛速的發展,許多深度學習的框架涌現了出來。這些框架都依賴於計算圖的概念,計算圖定義了須要執行的計算順序,而且計算圖能夠並行地在GPU中優化和運行。目前比較流行的深度學習框架有TensorFlow,Caffee,Torch等,同時一些新的框架也不斷涌現出來。服務器
深度學習一般包括如下數據處理流程:
網絡
數據採集:
根據業務須要,採業務須要的的數據。同時,也有專門的數據公司,提供數據,能夠直接購買。
清洗標註:
採集後的原始數據可能會存在有缺失值、重複值、無效數據等問題,在使用以前須要進行處理。處理的過程,一般針對不一樣的任務和數據集屬性的不一樣而不一樣。例如,汽車駕駛中等待紅綠燈的時間採集的數據是要刪除的。
模型訓練:
構建適當的算法和模型,用準備好的訓練集訓練和修正模型。這一般須要GPU的訓練集羣來進行訓練。架構
以上步驟完成後,會將訓練完的模型部署到實際的應用環境中,實際使用模型來進行驗證。部署完成後,咱們能夠在實際的應用場景中檢驗模型的好壞,同時用實際環境中的場景來驗證和完善模型。併發
以上各個步驟的工做負載特徵以下:
負載均衡
從上面的表裏,能夠看出,AI各個流程中,工做負載表現出了很大的差異,這對存儲系統提出了很高的要求。不只要支撐順序讀寫的大塊工做負載,也要支撐隨機讀寫的小塊IO的工做負載。
深度學習近年來取得突破性的進展,離不開三個方面:大數據,深度學習模型,計算能力的提高(尤爲是GPU在訓練場景中的大量應用)。隨着問題規模的不斷增大,數據量的不斷增長,以及訓練用的神經網絡深度的深度的不斷增長,對計算能力的需求也愈來愈大。
例如,Nvidia新發布的NVIDIA DGX-2服務器,包含了16個GPU單元,單個機器已經能夠提供2Peta flops的計算能力。
谷歌的高級研究員、Google Brain 項目的負責人 Jeff Dean 曾說道,事實證實,咱們真正須要的是超過如今 100 萬倍的計算能力,而不僅是區區幾十倍的增加。
如今的深度學習一般是由規模龐大的高性能計算集羣來完成的,多個節點並行的讀取數據,協同的來處理一個任務。所以,在深度學習的場景中,須要一個共享的存儲空間來收集和存儲數據。將數據共享的好處包括,深度學習模型準備好後,立馬能夠開始運行,另外也省去了來回拷貝搬運數據的麻煩。
另外,深度學習須要大量的數據來訓練模型,所以存儲系統要提供高帶寬來保證數據的流動足夠快,以知足需求。另外,在訓練的過程當中,算法一般須要隨機讀取訓練集中的訓練樣本進行訓練,所以在訓練過程當中,隨機讀的負載佔大多數,而且多數圖片的訓練場景中,圖片文件的大小多數在1MB如下,這就對存儲系統的IOPS提出了很高的要求。
深度學習的場景中,還要有完善的數據生命週期的管理功能。數據從採集到清洗,標註,到訓練,而後到歸檔,一直處於一個流動的狀態,存儲系統要提供完善的數據流動機制和管理機制,管理起數據的全生命週期。
傳統的NFS存儲,雖然提供了共享的命名空間,可是存在如下問題,單服務器節點是冥想的瓶頸,NFS協議自己帶來的overhead,沒法提供足夠的帶寬,沒法知足數據訪問低延遲的需求。另外,也沒法提供一個生命週期管理的功能。
所以,深度學習的存儲系統,一方面須要提供一個統一的命名空間來共享數據給前端的高性能計算集羣,另外一方面爲了保證訓練業務的流暢性,要提供高帶寬高IOPS以知足需求,最後還須要提供完善的生命週期管理功能。
阿里雲文件存儲NAS是一個彈性擴展,高可靠,高可用,高性能的分佈式文件系統。它基於 POSIX 文件接口,自然適配原生操做系統,共享訪問,同時保證一致性和鎖互斥,而且性能隨容量線性擴展。
阿里雲文件存儲NAS架構:
第一層是計算層,使用標準文件協議NFS/SMB或兼容posix的定製化客戶端來訪問文件存儲。第二層是阿里雲網絡負載均衡ALB,把客戶端請求輪轉發送到前端機。第三層是負責協議處理的前端機,協議儘可能作到無狀態,涉及狀態部分下沉到元數據管理層。第四層是元數據管理,把目錄樹結構轉變成key-value對,經過基於log structure merge tree的分佈式key-value來實現。第五層是元數據和數據持久化在盤古,使用盤古的分佈式存儲量提供高達10PB,和99.999999999%的數據可靠性,容量可彈性擴展,按需使用。
元數據和數據分離,NAS Protocol前端機IO直連盤古,把數據位置信息和元數據一塊兒更新,前端機經過元數據更新盤古文件的信息。盤古文件是會散在整個集羣的,因此前端機讀寫可充分利用整個集羣的IO能力。
安全隔離,基於VPC安全組提供網絡隔離和ACL訪問控制,保證海量容器使用共享存儲時的數據安全隔離。同時提供容器到文件存儲的傳輸加密,保障數據傳輸過程在不被竊取和篡改。
數據備份,阿里雲文件存儲提供文件系統級的數據備份功能,能夠基於靈活的備份策略提供多副本的數據保護,在發生數據誤刪除,錯誤修改的情景時,可使用歷史副本恢復數據。
關於文件存儲NAS的詳情,請參考:https://www.aliyun.com/product/nas
隨着高性能並行計算大規模商業化時代的到來,傳統並行文件系統面臨諸多挑戰,存儲資源的急劇增加、成本高、運維管理複雜度大、大規模存儲系統的穩定性、性能隨規模沒法徹底線性擴展等一系列問題困擾廣大客戶,CPFS應運而生。
CPFS(Cloud Parallel File System)是基於定製版Lustre的並行文件系統,,提供大型並行數據處理能力,數據存儲到羣集中的多個數據節點,多個客戶端能夠同時訪問這些數據,爲大型高性能計算機集羣提供高IOPS、高吞吐、低時延的數據存儲服務。
CPFS架構:
CPFS架構在盤古之上,利用Pangu的block接口爲Lustre提供塊設備。網絡支持Infiniband和以太網。CPFS有如下特色:
超高的數據可靠性
基於飛天盤古分佈式存儲系統構架的Lustre持久化存儲,多份數據拷貝,99.99999999%數據可靠性,遠高於傳統存儲廠商提供的磁盤陣列raid的可靠性。
深度優化可用性
基於paxos ring的仲裁調度,自動檢測異常服務節點,並在分鐘級別從新提供服務,遠高於傳統存儲廠商提供的手動配置HA的可用性。
符合標準的POSIX/MPI接口,無需對應用作任何修改
高性能,高併發,容量、性能水平擴展
關於並行文件存儲CPFS的詳情,請參考:https://help.aliyun.com/document_detail/66278.html
CPFS目前處於公測階段,要申請CPFS的測試請到以下連接:
https://www.aliyun.com/product/nas
定位到並行文件系統CPFS的板塊,點擊申請公測。
阿里雲提供兩種數據上傳的方式:
閃電立方
閃電立方Lightning Cube是阿里云爲TB乃至PB級數據遷移提供的服務。它使用定製設備,安全,高效,低成本的幫助您把海量數據從本地機房遷移到雲端或者是從雲端遷移會本地機房。
關於閃電立方的詳情,請參考:https://www.aliyun.com/product/mgw
高速通道
阿里雲高速通道(Express Connect)服務,幫助您在VPC間、VPC與本地數據中心間搭建私網通訊通道,提升網絡拓撲的靈活性和跨網絡通訊的質量和安全性。使用高速通道可使您避免繞行公網帶來的網絡質量不穩定問題,同時能夠免去數據在傳輸過程當中被竊取的風險。
關於高速通道的詳情,請參考:https://www.aliyun.com/product/expressconnect
計算集羣方面,阿里雲提供GPU雲服務器,爲AI深度學習優化,提供強大高效的計算能力;還提供了一站式的彈性高性能計算(E-HPC)的公共雲服務,便於管理和使用集羣;在應用層,還提供了阿里雲容器服務,一鍵生成AI容器集羣。
GPU雲服務器/彈性裸金屬服務器(神龍):
GPU雲服務器是基於GPU應用的計算服務,多適用於AI深度學習,視頻處理,科學計算,圖形可視化,等應用場景,型號有AMD S7150, Nvidia M40, Nvidia P100,Nvidia P4,Nvidia V100阿里雲成爲中國首家與NGC GPU加速容器合做的雲廠商。
關於GPU雲服務器的詳情,請參考:https://www.aliyun.com/product/ecs/gpu
彈性裸金屬服務器(ECS Bare Metal Instance)是一種彈性可水平伸縮的高性能計算服務,計算性能與傳統物理機無差異,具備安全物理隔離的特色,分鐘級的交付週期助你的企業得到實時的業務響應能力,助力核心業務飛速成長。
關於GPU雲服務器的詳情,請參考:https://www.aliyun.com/product/ebm
彈性高性能計算(E-hpc):
彈性高性能計算(E-HPC)基於阿里雲基礎設施,爲用戶提供一站式公共雲HPC服務,面向教育科研,企事業單位和我的,提供快捷,彈性,安全和與阿里雲產品互通的技術計算雲平臺。
關於容器服務的詳情,請參考:https://www.aliyun.com/product/ehpc
容器服務:
容器服務提供高性能可伸縮的容器應用管理服務,支持用Docker和Kubernetes進行容器化應用的生命週期管理,提供多種應用發佈方式和持續交付能力並支持微服務架構。容器服務簡化了容器管理集羣的搭建工做,整合了阿里雲虛擬化、存儲、網絡和安全能力,打造雲端最佳容器運行環境。
關於容器服務的詳情,請參考:https://www.aliyun.com/product/containerservice
文件存儲NAS容量彈性擴展,按需使用,對於集羣規模小於20臺的集羣,知足其深度學習工做負載對文件系統的帶寬和IOPS需求。對於大規模的併發極高的集羣,推薦使用並行文件系統CPFS。
同時,對於冷數據,阿里雲提供了OSS對象存儲系統,而且提供了Filesync的遷移服務,能夠方便的將冷數據歸檔。
提供強大計算能力的同時,還保證了彈性和易用性:
神龍服務器,既具備裸服務器的性能,又有虛擬機的彈性,而且使用E-HPC提供了簡單高效的集羣管理和調度系統。
一鍵部署容器集羣,快速創建訓練環境。
文件共享方面,文件存儲NAS和CPFS並行文件系統按需使用,靈活擴展。
保證穩定性的同時,提供了全生命週期的數據管理和靈活高效的數據流動機制:
文件存儲NAS和CPFS高可靠,高穩定,保證業務的連續性。
數據從採集到訓練,歸檔,使用高效的數據傳輸工具,壓縮數據流動時間。
從採集到歸檔,徹底的數據生命週期管理。
保證高可靠性的同時,提供了高性能:
高效可靠的容器管理,支持海量容器秒級啓動,並通過阿里超大規模驗證。
文件存儲NAS和CPFS並行文件系統基於盤古架構,提供了11個9個高可靠性的同時,提供了高帶寬和高IOPS。
登陸管理控制檯,定位到 彈性高性能計算 > 集羣,選擇地域(如華東1),單擊 建立集羣。
選擇硬件配置,網絡配置等參數,配置共享存儲(文件存儲NAS)!
共享存儲在這裏配置事後,計算集羣節點系統起來後,會自動掛載文件系統NAS。
注意:目前CPFS處於公測階段,若是要使用CPFS並行文件系統,須要手動在服務器節點的終端裏執行掛載命令。
選擇軟件配置,基礎配置等參數,最後點擊確認建立集羣。確認配置清單,配置拓撲圖,大約通過20分鐘,您能夠回到E-HPC集羣列表頁面,查看新集羣狀態。若新集羣全部節點皆處於正常狀態,則集羣已建立完畢。
詳細步驟及參數,請參考:https://help.aliyun.com/document_detail/57937.html?spm=a2c4g.11186623.2.11.32767c13pITowJ
登陸集羣,並使用做業調度系統提交做業。目前E-HPC支持兩種做業調度軟件PBS pro和
SLURM。詳細步驟請參考:https://help.aliyun.com/document_detail/58269.html?spm=a2c4g.11186623.2.18.4de045d6BXuXRW
1.建立NAS文件系統
2.添加掛載點
3.成功添加掛載點,掛載地址用於後續對接容器使用
1.爲集羣建立存儲卷
2.成功建立NAS存儲卷
.
本文做者:nas-hz
閱讀原文
)
本文爲雲棲社區原創內容,未經容許不得轉載。