HP AI開發(fā)平臺(tái)測評(píng):多用戶協(xié)同開發(fā)模型和算力資源管理有力工具(hph開發(fā))
當(dāng)“人工智能步入落地之年” AI 不再是概念,而是全面進(jìn)入到企業(yè)的戰(zhàn)略規(guī)劃之中。算力作為人工智能應(yīng)用的平臺(tái)和基礎(chǔ),它的發(fā)展推動(dòng)了整個(gè)人工智能系統(tǒng)的發(fā)展和快速演進(jìn),成為人工智能的最核心要素。
隨著科技的不斷發(fā)展,獲取算力的方式和途徑越來越豐富,就目前而言,公有云和數(shù)據(jù)中心(私有云)已經(jīng)成為兩大主流的算力獲取方式。不過,在實(shí)際的部署和應(yīng)用中,它們對(duì)于中小型AI開發(fā)團(tuán)隊(duì)來說都存在著很多問題。比如,中小型 AI 開發(fā)團(tuán)隊(duì)的 AI 模型訓(xùn)練往往是階段性的,而階段性訪問公有云需要按次收取算力費(fèi)用,如此累積算下來將是一筆不菲的投入,相比之下,一次性購買一臺(tái) GPU 工作站會(huì)更加劃算。而建立私有的數(shù)據(jù)中心,不僅需要批量購置 GPU 服務(wù)器,還需要搭建標(biāo)準(zhǔn)機(jī)房、高帶寬網(wǎng)絡(luò)部署,與此同時(shí)更需要增加專業(yè)IT維護(hù)人員的工作負(fù)荷,這對(duì)于中小型AI開發(fā)團(tuán)隊(duì)來說相當(dāng)奢侈。
從中小型AI開發(fā)團(tuán)隊(duì)的使用場景和使用需求中不難發(fā)現(xiàn),降本增效是他們衡量一款解決方案是否合適的重要因素之一。這意味著算力設(shè)備需要在保障團(tuán)隊(duì)算力需求,可以共享使用的同時(shí),還要做到簡單部署易操作,省時(shí)省力省空間。也因此,數(shù)據(jù)科學(xué)工作站的出現(xiàn),可以很好地滿足這些切實(shí)需求。
數(shù)據(jù)科學(xué)工作站是 PC 形態(tài)的桌面超級(jí)計(jì)算機(jī),相較于 PC ,它支持雙路 Intel? 至強(qiáng)?鉑金/金牌等系列的處理器和主板芯片海量內(nèi)存、大容量 SATA 硬盤以及多塊 NVIDIA ?高端 RTX? 專業(yè)級(jí)顯卡等,可以滿足算法訓(xùn)練等 AI 工作流程中所需要的強(qiáng)大算力需求以及圖形應(yīng)用中的海量浮點(diǎn)運(yùn)算和 3D 渲染工作等對(duì)硬件的苛刻要求。
數(shù)據(jù)科學(xué)工作站與公有云或數(shù)據(jù)中心相比,不僅性價(jià)比高,更容易部署,而且噪音低,可以讓中小型AI開發(fā)團(tuán)隊(duì)直接在辦公區(qū)內(nèi)進(jìn)行協(xié)同開發(fā)。
惠普最近升級(jí)的 HP Z8 G4 數(shù)據(jù)科學(xué)工作站以其強(qiáng)大的性能表現(xiàn),穩(wěn)定可靠的安全性,以及全方位的系統(tǒng)和軟件支持,在專業(yè)領(lǐng)域工作環(huán)境下,為使用者提供了絕佳的高性能計(jì)算解決方案。
同時(shí),惠普最新還推出了一款基于 Docker Kubernetes 的人工智能容器云平臺(tái)HP AI開發(fā)平臺(tái)。該平臺(tái)能夠?qū)崿F(xiàn)異構(gòu)資源的高效管理、調(diào)度和監(jiān)控,提供了從模型開發(fā)、訓(xùn)練到部署的完整流程和工具,廣泛適用于教育、科研、金融、醫(yī)療、能源各個(gè)行業(yè),能極大降低人工智能進(jìn)入門檻,提高人工智能創(chuàng)新和研發(fā)的效率。
為了讓中小型AI開發(fā)團(tuán)隊(duì)更切實(shí)更全面地認(rèn)識(shí) HP Z8 G4 數(shù)據(jù)科學(xué)工作站以及 HP AI 開發(fā)平臺(tái)在團(tuán)隊(duì)協(xié)作開發(fā)中的價(jià)值,智東西公開課AI教研團(tuán)隊(duì)聯(lián)合兩位 Kaggle Grandmaster 模擬現(xiàn)實(shí)開發(fā),對(duì) HP AI 開發(fā)平臺(tái)的功能應(yīng)用,及其在 HP Z8 G4 數(shù)據(jù)科學(xué)工作站上的使用體驗(yàn)兩個(gè)方面進(jìn)行了深入評(píng)測和項(xiàng)目實(shí)驗(yàn)。
智東西公開課AI教研團(tuán)隊(duì)主要承擔(dān)在 HP Z8 G4 數(shù)據(jù)科學(xué)工作站中安裝 HP AI 開發(fā)平臺(tái),并且作為管理員進(jìn)行資源管理。兩位 Kaggle Grandmaster 將基于我們分配的資源,協(xié)同完成基于數(shù)據(jù)集 CASIA-SURF 的人臉活體檢測,以及基于數(shù)據(jù)集 STS-B 的自然語言文本分類這兩項(xiàng)實(shí)驗(yàn)。
兩位 Kaggle GrandMaster 分別是關(guān)注自然語言處理領(lǐng)域的算法工程師吳遠(yuǎn)皓和從事醫(yī)療AI算法研發(fā)工作的算法工程師沈濤。吳遠(yuǎn)皓已參加超過20場Kaggle競賽,獲得8枚金牌,并于2019年成為 Kaggle Competitions Grandmaster ,全球最高排名第36位。沈濤在機(jī)器學(xué)習(xí)競賽平臺(tái) Kaggle 上共得到11塊金牌,獲得了 Kaggle Grandmaster 稱號(hào),全球最高排名第8位。
在進(jìn)入正文介紹 HP AI 開發(fā)平臺(tái)的功能及實(shí)驗(yàn)之前,我們先來了解一下本次使用的 HP Z8 G4 數(shù)據(jù)科學(xué)工作站的核心參數(shù),如下:
圖表0.0.1
再給大家看看3塊 NVIDIA A5000 顯卡安裝好之后的實(shí)際展示。下圖中的“三條金色模塊”即為 NVIDIA A5000 顯卡。
圖表0.0.2
下圖是 HP Z8 G4 數(shù)據(jù)科學(xué)工作站實(shí)際工作的展示:
圖表0.0.3
1、HP AI 開發(fā)平臺(tái)功能全解
本章節(jié)將為大家展示 HP AI 開發(fā)平臺(tái)的安裝過程和架構(gòu)組成,并重點(diǎn)介紹其為開發(fā)者所提供的模型訓(xùn)練、數(shù)據(jù)存儲(chǔ)、任務(wù)鏡像,以及向管理者所提供的用戶權(quán)限、監(jiān)控中心、系統(tǒng)設(shè)置等特色功能。
下面進(jìn)入 HP AI 開發(fā)平臺(tái)的安裝。HP AI 開發(fā)平臺(tái)的安裝包是適用于 Unix 系統(tǒng)和類 Unix 系統(tǒng)的.run 格式文件,整個(gè)安裝過程分三步,十分簡單:
第一步,在 Ubuntu 系統(tǒng)的終端中,輸入:
“sudo bash AI_HP -Evaluation-4.5.1-HP-63045-offline.run”即可進(jìn)行安裝。
第二步,成功安裝完成后,會(huì)顯示:
“Please visit htp://192.168.88.80:5678 to continue installation.”。此時(shí)瀏覽器輸入網(wǎng)址后會(huì)看到平臺(tái)的環(huán)境正在初始化。
第三步,平臺(tái)環(huán)境初始化完成后,會(huì)自動(dòng)跳轉(zhuǎn)到 HP AI 開發(fā)平臺(tái)的登錄界面,此時(shí)輸入賬號(hào)密碼即可完成登錄。下圖為 HP AI 開發(fā)平臺(tái)的首頁展示。
圖表 1.0.1
1、平臺(tái)架構(gòu)
圖表 1.1.1
1.1、基礎(chǔ)設(shè)施層
基礎(chǔ)設(shè)施層以X86的服務(wù)器、專業(yè)工作站為載體,可通過 GPU、CPU 等提供高性能加速計(jì)算,支持 TCP/IP,InfiniBand 高速網(wǎng)絡(luò)互聯(lián),以及 NFS 和 GlusterFS 兩種類型的存儲(chǔ)格式。
1.2、資源調(diào)度層
采用容器化技術(shù)管理底層資源,并利用 Kubernetes(K8s)技術(shù)進(jìn)行容器編排調(diào)度。
1.3、應(yīng)用服務(wù)層
應(yīng)用服務(wù)層支持主流的 TensorFlow、Caffe、PyTorch 和 MxNet 等主流的機(jī)器學(xué)習(xí)框架,以及完整的機(jī)器學(xué)習(xí)所需的處理流程,實(shí)現(xiàn)資源操作自動(dòng)化。
1.4、業(yè)務(wù)領(lǐng)域?qū)?/span>
通過支持自然語言處理、圖像識(shí)別和語音識(shí)別等任務(wù),可以滿足金融、教育、醫(yī)療、制造等行業(yè)場景的 AI 開發(fā)需求。
2、特色功能
2.1、模型訓(xùn)練
2.1.1、任務(wù)列表
任務(wù)管理界面,有“任務(wù)訓(xùn)練”、“交互式開發(fā)”、“可視化”、“模型部署”等四個(gè)功能頁。管理員用戶可以查看和管理所有用戶的訓(xùn)練任務(wù),包括任務(wù)訓(xùn)練任務(wù)、交互式開發(fā)任務(wù)、可視化任務(wù)、模型部署任務(wù)。
圖表 1.2.1
查看任務(wù)
可以看到所有用戶的所有任務(wù)的簡要配置信息,如任務(wù)名稱、所屬用戶、任務(wù)的執(zhí)行器、所屬分區(qū)、資源配額、創(chuàng)建時(shí)間等。點(diǎn)擊“任務(wù)訓(xùn)練”、“交互式開發(fā)”、“可視化”、“模型部署”來展示不同類型的任務(wù)。
比如在交互式任務(wù) “interactive14871” 中,可以分別看到任務(wù)節(jié)點(diǎn)、用戶名、執(zhí)行器、分區(qū)名稱、資源配置、任務(wù)優(yōu)先級(jí)、運(yùn)行狀態(tài)、創(chuàng)建時(shí)間、空閑時(shí)間等。
圖表 1.2.2
點(diǎn)擊“詳情”可以進(jìn)一步查看任務(wù)的基本信息、資源配置、應(yīng)用信息和狀態(tài)等。
圖表 1.2.3
刪除任務(wù)
點(diǎn)擊“刪除”按鈕即可刪除正在運(yùn)行中的任務(wù)。
需要注意的是在“任務(wù)訓(xùn)練”中的任務(wù),點(diǎn)擊“刪除”按鈕,只會(huì)刪除正在運(yùn)行中的訓(xùn)練任務(wù),記錄無法被刪除,記錄不會(huì)占用 CPU、GPU、內(nèi)存等資源,其他類型任務(wù)刪除后不保留記錄。
查詢用戶任務(wù)
在界面右側(cè)輸入框中輸入要查找的用戶名,回車進(jìn)行查找。
2.1.2、任務(wù)統(tǒng)計(jì)
管理員可對(duì) HP AI 開發(fā)平臺(tái)中各分區(qū)任務(wù)進(jìn)行統(tǒng)計(jì)。查看分區(qū)中已計(jì)劃、已完成、運(yùn)行中、暫停中的任務(wù)數(shù)量以及任務(wù)的資源占用信息?!叭蝿?wù)統(tǒng)計(jì)”可以幫助管理員了解各分區(qū)中用戶在一段時(shí)間內(nèi)使用任務(wù)訓(xùn)練的使用情況。
圖表1.2.4
根據(jù)日期統(tǒng)計(jì)任務(wù)
管理員可選擇指定日期,統(tǒng)計(jì)指定日期時(shí)間到當(dāng)前時(shí)間的任務(wù)數(shù)量及任務(wù)資源占用情況。
圖表 1.2.5
2.1.3、任務(wù)隊(duì)列
點(diǎn)擊左側(cè)菜單“任務(wù)隊(duì)列”,進(jìn)入任務(wù)隊(duì)列界面,分別顯示優(yōu)先級(jí)為“高”、“普通”、“低”三種優(yōu)先級(jí)任務(wù)。
圖表1.2.6
2.2、數(shù)據(jù)存儲(chǔ)
HP AI 開發(fā)平臺(tái)支持基于 NFS 的分布式存儲(chǔ)方式,滿足用戶對(duì)數(shù)據(jù)的安全和性能要求。豐富的數(shù)據(jù)管理、分享功能極大方便了用戶的使用。
2.2.1、數(shù)據(jù)卷
管理員可以創(chuàng)建 NFS 卷,對(duì)卷進(jìn)行管理操作,查看卷的使用情況。
圖表1.2.7
查看“NFS”卷列表
可以看到 NFS 數(shù)據(jù)卷列表及每個(gè)數(shù)據(jù)卷的服務(wù)器地址、共享目錄、掛載權(quán)限、狀態(tài)及描述狀態(tài)。
圖表 1.2.8
創(chuàng)建 NFS 卷
點(diǎn)擊“創(chuàng)建 NFS 卷”按鈕,進(jìn)入NFS卷創(chuàng)建界面。
圖表 1.2.9
NFS 名詞參數(shù)解釋
圖表 1.2.10
查看卷使用情況
管理員用戶在數(shù)據(jù)卷列表頁面點(diǎn)擊卷名稱后,該數(shù)據(jù)卷的總使用情況和各用戶使用情況均會(huì)顯示在此頁面。
圖表 1.2.11
2.2.2、公共數(shù)據(jù)
公共數(shù)據(jù)即擁有 HP AI 開發(fā)平臺(tái)用戶都可以訪問的數(shù)據(jù),管理員可以上傳公共數(shù)據(jù),并對(duì)公共數(shù)據(jù)進(jìn)行管理,普通用戶只有復(fù)制到用戶私有數(shù)據(jù)和下載權(quán)限。
圖表 1.2.12
創(chuàng)建目錄
用戶可以在“公共數(shù)據(jù)”頁面點(diǎn)擊“創(chuàng)建目錄”來創(chuàng)建自己的目錄。名稱不能包含以下字符”, ‘|’, ‘*’, ‘?’, ‘,’,’/’,’ ‘, 長度在1~50個(gè)字符,創(chuàng)建成功會(huì)有相應(yīng)提示。否則創(chuàng)建失敗。
圖表 1.2.13
上傳數(shù)據(jù)
將本地文件上傳到“公共數(shù)據(jù)”中。適合小文件的上傳。
圖表 1.2.14
刷新
若對(duì)文件進(jìn)行了增刪修改操作,點(diǎn)擊“刷新”按鈕更新文件狀態(tài)及屬性。
文件列表:文件及文件夾管理
針對(duì)文件列表里面的每一個(gè)文件及文件夾,都有相應(yīng)的管理功能,如重命名、下載、復(fù)制、查看文件大小、刪除等,針對(duì)文件還有在線查看功能,方便管理員進(jìn)行管理操作。
圖表 1.2.15
2.3、任務(wù)鏡像
2.3.1、公共鏡像
由管理員上傳的鏡像為公共鏡像,用戶都可以看到并且可以在創(chuàng)建任務(wù)時(shí)使用。管理員在“下載鏡像”中下載的鏡像和上傳的鏡像均在此界面管理。此界面中管理員可對(duì)公共鏡像進(jìn)行設(shè)置刪除、二次更新制作鏡像及查看鏡像詳細(xì)信息等操作。
圖表 1.2.16
上傳鏡像
管理員用戶在鏡像倉庫頁面,也可以上傳公共鏡像。
2.3.2、鏡像倉庫
管理員在鏡像倉庫頁面,可以查看各用戶的私有鏡像,或上傳公共鏡像
查看鏡像倉庫
上傳鏡像
管理員用戶在鏡像倉庫頁面,也可以上傳公共鏡像。
查看鏡像倉庫
在鏡像倉庫列表中,點(diǎn)擊任意用戶名,即可進(jìn)入用戶的鏡像倉庫中查看用戶的私有鏡像。
圖表 1.2.19
2.3.3、下載鏡像
點(diǎn)擊“下載鏡像”,進(jìn)入以下界面,該界面有 “ Docker Hub ”、“ HP 機(jī)器學(xué)習(xí)鏡像”和 “NVIDIA鏡像” 三個(gè)功能頁面。用戶可根據(jù)自己需要的鏡像環(huán)境去 Docker 官方鏡像倉庫Docker Hub、HP 機(jī)器學(xué)習(xí)鏡像倉庫和 NVIDIA 鏡像倉庫下載指定鏡像。
圖表 1.2.20
HP 機(jī)器學(xué)習(xí)鏡像
此功能頁預(yù)留了官方制作好的鏡像,包括 Caffe、Cuda、OpenVINO、PyTorch、TensorFlow-gpu 等11個(gè)鏡像系統(tǒng)。每個(gè)鏡像版本完整,并和官方機(jī)器學(xué)習(xí)框架 Release 保持一致,用戶可直接使用。
圖表 1.2.21
NVIDIA 鏡像
允許用戶查看 NGC 鏡像列表,下載使用 NGC 上 NVIDIA 提供的鏡像。
圖表 1.2.22
2.4、用戶權(quán)限
2.4.1、用戶
點(diǎn)擊左側(cè)菜單“用戶權(quán)限-用戶”,進(jìn)入用戶管理界面。管理員用戶可以對(duì)用戶創(chuàng)建、刪除、編輯以及配置分區(qū)、存儲(chǔ)卷和資源配額等,對(duì)用戶的 CPU 、 GPU 、 Mem 和存儲(chǔ)配額進(jìn)行設(shè)定,限定用戶能使用的資源數(shù)量。用戶的數(shù)據(jù)存儲(chǔ)空間相互隔離,每個(gè)用戶只能訪問各自空間中的數(shù)據(jù),無法越界訪問未授權(quán)的數(shù)據(jù)。
圖表 1.2.23
查看用戶
在用戶管理界面,可以查看每個(gè)用戶的手機(jī)號(hào)碼、郵箱地址、創(chuàng)建時(shí)間、創(chuàng)建人、修改時(shí)間、修改人、綁定的分區(qū)以及用戶組名。
圖表1.2.24
點(diǎn)擊“操作”按鈕 -> 查看數(shù)據(jù)卷與配額,可以查看用戶的資源配額限定情況。
圖表 1.2.25
點(diǎn)擊“查看關(guān)聯(lián)角色”。
圖表 1.2.26
點(diǎn)擊“修改用戶信息”,可對(duì)已有用戶的手機(jī)號(hào)、郵箱、用戶組、分區(qū)和配額進(jìn)行修
圖表 1.2.27
點(diǎn)擊“重置密碼”,可重置用戶密碼。管理員可以通過兩種方式重置用戶密碼。一種是系統(tǒng)自動(dòng)生成密碼。如使用這種方式重置密碼,管理員只需點(diǎn)擊“重置密碼”按鈕即可在界面上看到新密碼;另一種重置密碼方式為管理員手動(dòng)修改密碼,只需輸入兩遍新密碼,并點(diǎn)擊“提交”按鈕,即可修改此用戶的密碼。
表 1.2.28
點(diǎn)擊“刪除”,可刪除用戶。
2.4.2、用戶組
修改默認(rèn)配額
管理員用戶可以點(diǎn)擊用戶列表頁面上的“修改默認(rèn)配額”按鈕,來修改創(chuàng)建用戶時(shí)默認(rèn)的可使用資源配額。如 CPU 、 GPU 、內(nèi)存、存儲(chǔ)和任務(wù)數(shù)量的默認(rèn)配額。
圖表 1.2.30
創(chuàng)建用戶
點(diǎn)擊“創(chuàng)建用戶”按鈕,進(jìn)入“創(chuàng)建用戶”界面后,需要填寫用戶的基本信息和配置用戶組、數(shù)據(jù)卷、分區(qū)等參數(shù)。CPU 、GPU 、內(nèi)存、存儲(chǔ)等參數(shù)默認(rèn)使用默認(rèn)配額中的配置。
圖表 1.2.38
2.4.2、用戶組
管理員用戶在用戶組頁面,可以查看、創(chuàng)建和刪除用戶組。
圖表 1.2.32
查看用戶組
點(diǎn)擊“查看關(guān)聯(lián)角色”,顯示該用戶組的所有角色。
圖表 1.2.33
點(diǎn)擊“查看該組用戶”,顯示該用戶組的所有用戶。
圖表 1.2.34
創(chuàng)建用戶組
管理員在用戶組列表頁面,點(diǎn)擊“創(chuàng)建用戶組”按鈕進(jìn)入創(chuàng)建用戶組界面,輸入用戶組名(用戶組名長度1-20個(gè)字符,不能包含字符”, ‘|’, ‘*’, ‘?’, ‘,’,’/’。),選擇不同模塊的權(quán)限,最后點(diǎn)擊“提交”按鈕創(chuàng)建新的用戶組。點(diǎn)擊“取消”按鈕取消創(chuàng)建用戶組,回到用戶組列表頁面。
圖表 1.2.35
各個(gè)功能模塊不同角色的權(quán)限參照下表:
圖表 1.2.36
2.5、監(jiān)控中心
2.5.1、儀表盤
儀表盤提供了多維度和多層次的監(jiān)控信息,使系統(tǒng)使用透明、可追蹤。管理員用戶在左側(cè)菜單欄中選擇儀表盤,即可查看節(jié)點(diǎn)和分區(qū)的資源使用情況。
節(jié)點(diǎn)查看
點(diǎn)擊節(jié)點(diǎn)頁面的“查看”,可以針對(duì)某個(gè)節(jié)點(diǎn)監(jiān)控信息進(jìn)行查看。
圖表 1.2.38
分區(qū)查看
點(diǎn)擊分區(qū)頁面的“查看”,可以針對(duì)某個(gè)分區(qū)監(jiān)控信息進(jìn)行查看。
1、資源創(chuàng)建與分配
2.5.2、監(jiān)控報(bào)表
在當(dāng)前界面可以選擇 HP AI 開發(fā)平臺(tái)的節(jié)點(diǎn)、分區(qū)等選項(xiàng)來監(jiān)控資源利用情況呈現(xiàn)可視化圖表。
圖表 1.2.40
2.5.3、實(shí)時(shí)信息
在當(dāng)前界面可以選擇 HP AI 開發(fā)平臺(tái) GPU 用途分布、GPU 使用概況、GPU 使用分布等可視化圖表。
圖表 1.2.41
管理員可以查看 GPU 的用途分布統(tǒng)計(jì)(任務(wù)訓(xùn)練、交互式使用、可視化、空閑使用)。
管理員可以查看 GPU 的分區(qū)使用統(tǒng)計(jì)(總共使用,每個(gè)分區(qū)使用)。
管理員可以查看 GPU 的用戶使用統(tǒng)計(jì)(總共使用,每個(gè)用戶使用)。
管理員可以查看節(jié)點(diǎn) GPU 使用概況(總數(shù)、空閑、已占用),以及每一塊 GPU 卡的使用率和顯存使用率。
2.5.4、歷史統(tǒng)計(jì)
在當(dāng)前界面可以查看 HP AI 開發(fā)平臺(tái)用戶資源使用統(tǒng)計(jì)圖表。
圖表 1.2.42
2.6、系統(tǒng)設(shè)置
GPU 配置
在當(dāng)前界面可以選擇 HP AI 開發(fā)平臺(tái) GPU 類型、切片數(shù)量。
圖表 1.2.43
輸入切片數(shù)量,點(diǎn)擊“確認(rèn)”后,即可為 GPU 切片。
圖表 1.2.44
2、實(shí)驗(yàn):人臉活體檢測和自然語言文本分類
在本章節(jié),智東西公開課AI教研團(tuán)隊(duì)將作為管理員,分配不同的賬戶資源給到兩位 Kaggle Grandmaster 進(jìn)行模型開發(fā)實(shí)驗(yàn),并在平臺(tái)后端監(jiān)測相應(yīng)的資源使用情況和反饋。
1、資源創(chuàng)建與分配
1.1、創(chuàng)建分區(qū) kaggle
圖表 2.1.1
圖表 2.1.2
1.2、創(chuàng)建用戶組 viewers
圖表 2.1.3
圖表 2.1.4
1.3、創(chuàng)建用戶 master1、master2
圖表 2.1.5
圖表 2.1.6
2、實(shí)驗(yàn)一:基于數(shù)據(jù)集 CASIA-SURF 的人臉活體檢測
2.1、實(shí)驗(yàn)說明
該部分實(shí)驗(yàn)由 Kaggle Grandmaster 沈濤完成。
人臉活體檢測是人臉識(shí)別過程中的一個(gè)重要環(huán)節(jié)。它對(duì)人臉識(shí)別過程存在照片、視頻、面具、頭套、頭模等欺騙手段進(jìn)行檢測,對(duì)于身份驗(yàn)證的安全性尤為重要。從技術(shù)發(fā)展上,人臉活體檢測可以簡單地分為兩大類:傳統(tǒng)的人工特征模式識(shí)別方法和近年來興起的深度學(xué)習(xí)方法。目前,深度學(xué)習(xí)方法在識(shí)別準(zhǔn)確性上已有較大優(yōu)勢。
很多人臉識(shí)別系統(tǒng)利用可見光人臉圖像進(jìn)行活體檢測,識(shí)別性能易受到光照條件的影響。
同時(shí),基于可見光光譜的識(shí)別方式也很難應(yīng)對(duì)常見的偽造攻擊。使用多模態(tài)數(shù)據(jù)進(jìn)行活體檢測建模,能有效緩解這些問題。融合多種成像設(shè)備的圖像信息,比如可見光,近紅外和深度圖像等,既能提升模型的識(shí)別性能,也能減少光照條件對(duì)性能的干擾。
本次實(shí)驗(yàn),我們使用 HP AI 開發(fā)平臺(tái),搭建并訓(xùn)練深度學(xué)習(xí)模型,用于人臉活體檢測。數(shù)據(jù)集采用了 CASIA-SURF 集合。該數(shù)據(jù)集含有人臉可見光圖,近紅外和深度圖三種模態(tài)信息,包含了1000個(gè)個(gè)體樣本的21000段視頻。采集設(shè)備是英特爾的 RealSense 立體相機(jī)。
模型結(jié)構(gòu)方面,我們會(huì)實(shí)驗(yàn)多種不同架構(gòu),包括 CNN 類型的架構(gòu) FaceBagNet 模型, MLP 類的架構(gòu),(如 VisionPermutator,MLPMixer 等),還有近期非常熱門的Vision Transformer(ViT)模型。并且比對(duì)這些模型在該任務(wù)上的性能。
圖表 2.2.1
2.2、實(shí)驗(yàn)流程
2.2.1、環(huán)境配置
(1)進(jìn)入實(shí)驗(yàn)平臺(tái),新建交互任務(wù) Terminal,選擇合適的鏡像,需要包含實(shí)驗(yàn)所需的軟件庫( PyTorch ,OpenCV 等)。實(shí)驗(yàn)平臺(tái)首頁,展示了目前的資源狀態(tài):正在執(zhí)行的任務(wù)數(shù)量,可分配的資源等。
圖表2.2.2
(2)左側(cè)欄選擇“模型開發(fā)”-“交互式開發(fā)”,并且點(diǎn)擊紅色框指定的新建按鈕。
圖表2.2.3
(3)進(jìn)一步選擇 Terminal,設(shè)置密碼(用于后續(xù) ssh 登陸),選擇內(nèi)存大小,CPU,GPU數(shù)量。根據(jù)實(shí)驗(yàn)需要設(shè)置。我們選取內(nèi)存 32G ,16核 CPU,和一顆 A5000 型號(hào)的 GPU 用于本次實(shí)驗(yàn)。
圖表2.2.4
(4)最下方可以選擇本地實(shí)驗(yàn)使用的鏡像環(huán)境,該平臺(tái)提供了公用的基礎(chǔ)鏡像,我們也可以配置自己的私有鏡像環(huán)境。
圖表2.2.5
(5)創(chuàng)建成功后,會(huì)顯示正在運(yùn)行的應(yīng)用。此時(shí)可以用過命令“ssh -p 25875 root@192.168.88.80”遠(yuǎn)程連接進(jìn)行創(chuàng)建好的環(huán)境。
圖表2.2.6
2.2.2、實(shí)驗(yàn)運(yùn)行
如圖所示,模型已經(jīng)開始訓(xùn)練,單卡 A5000下,訓(xùn)練效率很高,一個(gè) epoch 只需要不到一分鐘的時(shí)間。同時(shí) GPU 的占用率一直業(yè)保持在80-90%。模型的 log 文件和最終的模型文件都會(huì)存儲(chǔ)在對(duì)應(yīng)的 Models 路徑下。在訓(xùn)練開始時(shí),終端開始打印 log ,訓(xùn)練過程中 GPU 的占用率在80-90%。
2.3、實(shí)驗(yàn)結(jié)果
為了有效對(duì)比多個(gè)模型的性能,我們使用該平臺(tái)訓(xùn)練了多個(gè)不同結(jié)構(gòu),不同參數(shù)的模型。我們?cè)隍?yàn)證集合上測試了模型性能,使用了 ACER(Average ClassificationError Rate )指標(biāo)。指標(biāo)越低,說明模型性能越好。
下表展示了單一模態(tài)下,各個(gè)模型的性能比較。整體上看,使用深度圖數(shù)據(jù)的模型,會(huì)顯著優(yōu)于其他兩種單一模態(tài)模型。FaceBagNet ,ConvMixer 和 MLPMixer 都有比較好的性能。
同時(shí)我們測試了三種 patch size 下,兩種多模態(tài)建模模型的性能, FaceBagNetFusion 的效果在各個(gè)參數(shù)下都顯著優(yōu)于ViT模型。相比于表表2.2.7中的數(shù)據(jù),多模態(tài)建模的結(jié)果均優(yōu)于單一模態(tài)的建模結(jié)果。
圖表2.2.8
2.4、實(shí)驗(yàn)感受
Q1:你在本次實(shí)驗(yàn)中訓(xùn)練了多個(gè)不同結(jié)構(gòu)和不同參數(shù)的模型,管理員分配給你的2/3分區(qū)資源是否滿足了訓(xùn)練要求?
沈濤:我的實(shí)驗(yàn)主要是依賴 GPU 算力,對(duì) CPU 和內(nèi)存的需求相對(duì)較少。NVIDIA A5000 GPU 的單卡訓(xùn)練效率已經(jīng)足夠高,如果使用混合精度訓(xùn)練等技術(shù),效率會(huì)進(jìn)一步提升。
Q2:你在本次實(shí)驗(yàn)中進(jìn)行了私有鏡像的上傳,是否順暢?鏡像使用中有沒有遇到兼容性或不穩(wěn)定等問題?
沈濤:我以公共鏡像為基礎(chǔ)制作了私有鏡像。具體來說,我先申請(qǐng)了基于基礎(chǔ)鏡像的命令行的交互任務(wù),并在任務(wù)中安裝了我所需的工作環(huán)境,并將環(huán)境保存為新的私有鏡像,后續(xù)可以直接使用。整個(gè)使用過程比較順暢,沒有出現(xiàn)問題。
Q3:HP AI 開發(fā)平臺(tái)提供的是 Web 端 GUI 交互界面,基于你的使用感受,你認(rèn)為是否能夠降低普通開發(fā)者的使用門檻和難度?
沈濤:上述Q2中的私有鏡像保存操作就是在 GUI 交互界面完成的,這一點(diǎn)就比較方便,對(duì)于普通開發(fā)者,省去了 Docker 命令行操作,降低了使用門檻。同時(shí),整個(gè)計(jì)算資源利用率的實(shí)時(shí)展示,任務(wù)的申請(qǐng),都可以通過比較簡單地交互可以完成,整體上便捷一些。
Q4:對(duì)比公有云、數(shù)據(jù)中心和本地 PC ,你覺得通過工作站進(jìn)行模型訓(xùn)練的優(yōu)勢有哪些?
沈濤:相比于公有云,數(shù)據(jù)中心,使用工作站進(jìn)行模型訓(xùn)練會(huì)在使用上更加便捷,數(shù)據(jù)模型都在工作站本地,減少了來回傳輸?shù)倪^程,使用上也會(huì)更加穩(wěn)定。相比于本地 PC ,工作站的計(jì)算性能會(huì)更強(qiáng),散熱會(huì)更好,能支持長時(shí)間的高負(fù)荷工作。
Q5:對(duì)于中小型 AI 開發(fā)團(tuán)隊(duì)來說,工作站 HP AI 開發(fā)平臺(tái)的算力提供和管理方式是否是一個(gè)不錯(cuò)的選擇?
沈濤:對(duì)于非大規(guī)模 AI 模型(需要大規(guī)模分布式訓(xùn)練)的開發(fā),該方式已經(jīng)能夠滿足正常開發(fā)需求。
3、實(shí)驗(yàn)二:基于基于數(shù)據(jù)集 STS-B 的自然語言文本分類
3.1、實(shí)驗(yàn)說明
該部分實(shí)驗(yàn)由 Kaggle Grandmaster 吳遠(yuǎn)皓完成。
本次實(shí)驗(yàn)通過經(jīng)典的自然語言文本分類數(shù)據(jù)集 STS-B 來體驗(yàn) HP AI 開發(fā)平臺(tái)。
STS-B 數(shù)據(jù)集包含8628個(gè)英語句子對(duì),其中訓(xùn)練集5749條,驗(yàn)證集1500條,測試集1379條,數(shù)據(jù)集文本來源于報(bào)紙、論壇和圖片題注。該數(shù)據(jù)集也是 The General Language Understanding Evaluation (GLUE)benchmark 的一個(gè)子任務(wù)。
圖表 2.3.1
實(shí)驗(yàn)?zāi)康氖悄P托枰o出兩個(gè)句子的相似性度量,任務(wù)的評(píng)價(jià)指標(biāo)是 Pearson 相關(guān)系數(shù)。
3.2 、實(shí)驗(yàn)流程
3.2.1、環(huán)境配置
登錄 HP AI 開發(fā)平臺(tái),在“模型訓(xùn)練”-“交互式開發(fā)”中,創(chuàng)建 Terminal 類型的開發(fā)環(huán)境,同時(shí)可以直接在“公共鏡像”中選擇我們需要的環(huán)境。其實(shí)際使用體驗(yàn)相當(dāng)于一臺(tái)遠(yuǎn)程服務(wù)器或本地 Docker。
圖表 2.3.2
創(chuàng)建成功后,會(huì)顯示正在運(yùn)行的應(yīng)用。此時(shí)可以用過命令“ ssh -p 25457 root@192.168.88.80 ”遠(yuǎn)程連接進(jìn)行創(chuàng)建好的環(huán)境。
圖表 2.3.3
此時(shí)可以用過命令“ ssh -p 25457 root@192.168.88.80 ”遠(yuǎn)程連接進(jìn)行創(chuàng)建好的環(huán)境。
圖表 2.3.4
3.2.2、實(shí)驗(yàn)運(yùn)行
3.3 、實(shí)驗(yàn)結(jié)果
本次實(shí)驗(yàn)選用常用預(yù)訓(xùn)練模型工具包 Transformers ,選擇的模型為谷歌開發(fā)的小型 BERT 模型 google/bert_uncased_L-2_H-128_A-2 。該模型隱層維度128,注意力頭數(shù)量為2,Transformer 層數(shù)也為2,模型大小只有不到17Mb ,是個(gè)精簡的小模型。單從實(shí)驗(yàn)結(jié)果可以看出,模型在 STS-B 數(shù)據(jù)集上也取得了不錯(cuò)的結(jié)果(目前榜單第一名是體積大好幾倍的 ERNIE ,其結(jié)果為0.93)。
圖表 2.3.5
3.4 、實(shí)驗(yàn)感受
Q1:基于本次實(shí)驗(yàn)中的分區(qū)資源,你在很短的時(shí)間內(nèi)就完成了基于數(shù)據(jù)集STS-B的自然語言文本分類模型的訓(xùn)練,對(duì)此你怎么看?
吳遠(yuǎn)皓:HP AI 開發(fā)平臺(tái)的各環(huán)境間互不影響,任務(wù)展示清晰透明,在多人共享資源的場景下能夠既保證開發(fā)效率,又顯著提高資源的利用效率。
Q2:HP AI開發(fā)平臺(tái)提供的是 Web 端 GUI 交互界面,請(qǐng)談?wù)勀愕氖褂酶惺堋?/span>
吳遠(yuǎn)皓:GUI 界面非常人性化,能夠有效完成資源的組織、管理與隔離。
Q3:在完成此次實(shí)驗(yàn)后,你如何評(píng)價(jià) HP AI 開發(fā)平臺(tái)?
吳遠(yuǎn)皓:通過體驗(yàn)我們發(fā)現(xiàn),HP AI 開發(fā)平臺(tái)對(duì)使用者非常友好,是計(jì)算資源管理的有力工具。
Q4:對(duì)比公有云、數(shù)據(jù)中心和本地 PC,您覺得通過工作站進(jìn)行模型訓(xùn)練的優(yōu)勢有哪些?
吳遠(yuǎn)皓:這幾個(gè)不太能比較。對(duì)于中小團(tuán)隊(duì)來說公有云有傳輸數(shù)據(jù)的成本,數(shù)據(jù)中心的搭建和運(yùn)營成本太高,而本次 PC 的性能可能達(dá)不到要求,所以為團(tuán)隊(duì)配備一個(gè)共用的工作站是一種既靈活又高效的方案。
Q5:對(duì)于中小型 AI 開發(fā)團(tuán)隊(duì)來說,工作站 HP AI 開發(fā)平臺(tái)的算力提供和管理方式是否是一個(gè)不錯(cuò)的選擇?
吳遠(yuǎn)皓:是的,可以發(fā)揮硬件的最大效能,提高利用率。
4、管理員后臺(tái)展示
前端用戶在通過 HP AI 開發(fā)平臺(tái)進(jìn)行模型訓(xùn)練過程中,管理員可以在后臺(tái)直觀的看到資源的使用反饋。比如在前面兩個(gè)實(shí)驗(yàn)過程中,管理員可以在后臺(tái)看到以下內(nèi)容。
4.1、任務(wù)列表
在 “任務(wù)列表” 里面,我們可以看到 master1 和 master2 創(chuàng)建的任務(wù)。
圖表 2.4.1
4.2、任務(wù)鏡像
在“任務(wù)鏡像”里面,管理員可以看到 master1 和 master2 所使用的鏡像系統(tǒng)。
圖表 2.4.2
圖表 2.4.3
4.3、監(jiān)控中心
儀表盤
管理員可以看到在實(shí)驗(yàn)期間,節(jié)點(diǎn)和分區(qū)的 CPU、GPU、內(nèi)存、網(wǎng)絡(luò)等參數(shù)的整體使用情況:
節(jié)點(diǎn)使用情況:
圖表 2.4.5
分區(qū)使用情況:
圖表 2.4.6
監(jiān)控報(bào)表
資源使用情況:
在這里默認(rèn)會(huì)選擇一周內(nèi)的資源監(jiān)控?cái)?shù)據(jù)進(jìn)行展示,同時(shí)也可以選擇動(dòng)態(tài)展示數(shù)據(jù)變化
節(jié)點(diǎn)使用情況:
分區(qū)使用情況:
實(shí)時(shí)信息
圖表 2.4.7
歷史統(tǒng)計(jì)
圖表 2.4.8
5、多用戶使用
在 “ GPU設(shè)置” 里面,GPU 可以切片的數(shù)量選項(xiàng)為1、2、4、8。也就是說每塊 NVIDIA RTX A5000 的 GPU 算力可以平均分為1、2、4、8份,HP Z8 G4 數(shù)據(jù)科學(xué)工作站共有3塊 GPU,最多可將算力平均分為24份,可同時(shí)給24個(gè)開發(fā)者提供算力支持。
3、總結(jié)
通過本次專業(yè)性測試,我們可以看到,配備了3塊 NVIDIA A5000 GPU 的 HP Z8 G4 數(shù)據(jù)科學(xué)工作站在 HP AI 開發(fā)平臺(tái)的配合下,不僅便于管理員對(duì)工作站的 GPU 資源進(jìn)行管理,更能滿足兩位 Kaggle Grandmaster 的算力需求,保障模型協(xié)同訓(xùn)練的順暢進(jìn)行。
HP AI 開發(fā)平臺(tái)是一款封裝了人工智能所需系統(tǒng)和底層操作的容器云平臺(tái),在數(shù)據(jù)中心或公有云中同樣可以進(jìn)行單獨(dú)的部署。不過,工作站產(chǎn)品特有的靜音,易部署和高性價(jià)比,讓 HP Z8 G4 數(shù)據(jù)科學(xué)工作站 HP AI 開發(fā)平臺(tái)的整體解決方案在中小企業(yè)辦公場景中的應(yīng)用優(yōu)勢非常顯著。
對(duì)于有同等需求的中小型 AI 開發(fā)團(tuán)隊(duì)來說,搭載2-4塊 GPU 的 HP Z8 G4 數(shù)據(jù)科學(xué)工作站,配合 HP AI 開發(fā)平臺(tái)的資源管理,就可以很輕松的構(gòu)建出一個(gè)性價(jià)比極高的高性能計(jì)算解決和管理方案。因此,工作站 HP AI 開發(fā)平臺(tái)解決方案可以在幫助中小企業(yè)團(tuán)隊(duì)節(jié)省成本的同時(shí),可以發(fā)揮出硬件的最大效能,提高資源利用率,成為多用戶協(xié)同開發(fā)和資源管理的有利工具。
總體來說,HP AI 開發(fā)平臺(tái)在資源管理和鏡像訂制兩方面都有著獨(dú)到的優(yōu)勢。
其中,在資源管理方面有三大核心優(yōu)勢:
(1)按需分配、自動(dòng)釋放:在任務(wù)提交后,HP AI 開發(fā)平臺(tái)可以按照實(shí)際需求動(dòng)態(tài)分配資源,限制任務(wù)無法超額使用資源,保證資源分配的公平性;與此同時(shí),它還可以支持任務(wù)排隊(duì)機(jī)制,在任務(wù)運(yùn)行完畢后自動(dòng)釋放資源,讓隊(duì)列中任務(wù)自動(dòng)運(yùn)行;
(2)優(yōu)先搶占:針對(duì)不同的優(yōu)先級(jí)需求,系統(tǒng)可以按照從高到低順序進(jìn)行任務(wù)調(diào)度,同時(shí)支持對(duì)隊(duì)列中任務(wù)的優(yōu)先級(jí)調(diào)整和插隊(duì),滿足緊急任務(wù)的使用需求;
(3)GPU 細(xì)粒度切分:系統(tǒng)可以根據(jù) GPU 卡的算力,支持對(duì) GPU 卡進(jìn)行細(xì)粒度的切分;同時(shí)支持多個(gè)任務(wù)共享同一張 GPU 卡,充分提高 GPU 卡使用效率,提高任務(wù)密度和吞吐量。
另外,在鏡像訂制方面 HP AI 開發(fā)平臺(tái)有四大關(guān)鍵點(diǎn):
(1)機(jī)器學(xué)習(xí)鏡像庫:可提供豐富的 TensorFlow 、PyTorch 、MxNet 和 Caffe 鏡像,且版本完整,并和官方機(jī)器學(xué)習(xí)框架 release 保持一致,用戶可以下載并導(dǎo)入使用;
(2)NGC 鏡像:允許用戶查看 NGC 鏡像列表,下載使用 NGC 上 NVIDIA ?提供的鏡像;
(3)自由訂制:針對(duì)用戶對(duì)鏡像的內(nèi)容需求豐富且不統(tǒng)一,訂制化要求高等情況,系統(tǒng)可允許用戶通過 Docker Exec 連接并配置鏡像環(huán)境;該方式適用于所有鏡像,無需鏡像中配置 ssh 服務(wù)
(4)鏡像分享:允許管理員提升私有鏡像為公有鏡像、支持用戶私有鏡像的分享,提高鏡像獲取的效率、減少存儲(chǔ)空間要求。