專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

AI這個(gè)詞,仿佛自帶高大上光環(huán)

無(wú)論它身在哪個(gè)行業(yè)

總會(huì)讓人們發(fā)出驚嘆:

AI打敗排名世界第一的圍棋選手,WOW!

AI能幫你駕駛汽車,Awesome!

AI能診斷疾病,Niubility!

在這個(gè)言高科技必稱AI的年代,AI在大眾的印象里總是遙遠(yuǎn)而神秘,但小編要告訴你,其實(shí)AI并不遙遠(yuǎn)~

今天,我們邀請(qǐng)到戴爾易安信非結(jié)構(gòu)化數(shù)據(jù)解決方案企業(yè)技術(shù)顧問簡(jiǎn)君芳,教你如何手動(dòng)搭建一個(gè)AI算法模型。動(dòng)動(dòng)手,你也可以親自實(shí)踐AI。

簡(jiǎn)單深度學(xué)習(xí)實(shí)踐

搭建貓狗識(shí)別AI算法模型

開始前,首先介紹一下AI的工作流程:

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

簡(jiǎn)單來(lái)說就是分成兩部分

1.訓(xùn)練

①需要累積數(shù)據(jù),并預(yù)期數(shù)據(jù)越多越好,所以存儲(chǔ)必須可擴(kuò)展。

②數(shù)據(jù)科學(xué)家處理數(shù)據(jù),初步建立算法模型,讀取數(shù)據(jù)。

③需要GPU執(zhí)行framework(如TensorFlow),forward前向傳播跑出結(jié)果,計(jì)算誤差損失,backward反向傳播更新參數(shù)修改模型,不斷重復(fù), 最終得到準(zhǔn)確度較高的訓(xùn)練好的模型。

2. 推斷

①需要全新的數(shù)據(jù)來(lái)驗(yàn)證。

②使用訓(xùn)練好的模型,驗(yàn)證準(zhǔn)確度是否真的夠高。

③部署該模型到實(shí)際環(huán)境正式使用。

這其實(shí)是一個(gè)永無(wú)止盡不斷循環(huán)的過程,沒有最好的模型,只有更好的模型??傊?,目的就是要找出可以幫助公司業(yè)務(wù),達(dá)到最佳ROI的“那個(gè)模型”。但重點(diǎn)是,要怎么找到“那個(gè)模型”,夠好還有夠快?這才是AI時(shí)代,各公司真正的核心競(jìng)爭(zhēng)力所在。

所以現(xiàn)在就要來(lái)好好分析一下這個(gè)過程的三大要素:

1. 大數(shù)據(jù)

有人說過,若你有趨近無(wú)限的數(shù)據(jù),你就可以訓(xùn)練出趨近完美的模型。所以要模型好,準(zhǔn)確度高,最重要的就是先要有數(shù)據(jù),越多越好。不過這首先就會(huì)帶來(lái)一個(gè)問題,這些不斷成長(zhǎng)數(shù)據(jù)要放在哪里?本地磁盤容量不夠,RAID存儲(chǔ)擴(kuò)充不行,只有真正分布式的橫向擴(kuò)展存儲(chǔ)才是最適合大數(shù)據(jù)的,從而讓模型更好。

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

2. 算力

比如GPU,計(jì)算力越強(qiáng),AI流程越快,也是基礎(chǔ)設(shè)施成本最貴的部分。可是并非花了大價(jià)錢買了GPU,就能高枕無(wú)憂了,如果GPU的使用率只有不到50%呢,這樣還快得起來(lái)嗎?

事實(shí)上這是目前非常普遍的現(xiàn)象,GPU使用率不高的原因通常都是在于I/O瓶頸。而只有可以分散處理大量并發(fā)I/O的分布式存儲(chǔ)才是最能提高GPU利用率的,讓模型更快。

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

3. 算法

算法需要數(shù)據(jù)科學(xué)家一方面了解公司業(yè)務(wù),另一方面了解數(shù)據(jù),建立正確的模型。

說的簡(jiǎn)單,其中過程也是非常復(fù)雜的,比如IoT需要使用Kafka,機(jī)器學(xué)習(xí)需要使用SparkML,深度學(xué)習(xí)需要使用TensorFlow,大數(shù)據(jù)分析需要使用Hadoop,處理數(shù)據(jù)需要使用ETL工具,最后還要做可視化/BI等……若都是分開的孤島,不但流程復(fù)雜,數(shù)據(jù)需要復(fù)制許多份,并且數(shù)據(jù)遷移來(lái)遷移去非常耗時(shí)。

這時(shí)候不如使用數(shù)據(jù)湖,不再有孤島,整合流程,數(shù)據(jù)保持同一份節(jié)省TCO整體成本,省下數(shù)據(jù)遷移的心力,提升數(shù)據(jù)科學(xué)家的工作效率,讓他們專注在最有價(jià)值的算法上。

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

接下來(lái),就用實(shí)際的貓狗辨識(shí)簡(jiǎn)單實(shí)踐來(lái)體驗(yàn)一下TensorFlow深度學(xué)習(xí)吧!

這里我使用的存儲(chǔ)是戴爾易安信Isilon,為什么用它呢?通過上面的講解你應(yīng)該能知道,AI所需要存儲(chǔ)不僅要強(qiáng)大擴(kuò)展能力,同時(shí)還不能有I/O瓶頸。而Isilon正是一款真正分布式的橫向擴(kuò)展NAS存儲(chǔ),不僅能輕松擴(kuò)展到數(shù)十個(gè)PB,還能助攻GPU,讓使用率高達(dá)90%+,更能提供原生數(shù)據(jù)湖整合流程提升工作效率。

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

*Isilon由英特爾® 至強(qiáng)®處理器提供支持,該處理器采用軟件定義的基礎(chǔ)設(shè)施和敏捷云架構(gòu),為Isilon提供了卓越的性能和效率,可加速要求嚴(yán)苛的文件工作負(fù)載,使企業(yè)發(fā)揮數(shù)據(jù)資本的價(jià)值,加速業(yè)務(wù)的數(shù)字轉(zhuǎn)型。

廣告不多說了,下面正式開始實(shí)踐。

這里我使用VMware Workstation跑兩個(gè)VM:

一個(gè)VM是Ubuntu 16.04作為AI服務(wù)器,安裝軟件如下:

?Anaconda with Python 3.7

?Jupyter Notebook

?TensorFlow

?Keras

?Opencv

另一個(gè)VM是Isilon simulater OneFS 8.2.0作為AI存儲(chǔ),設(shè)定準(zhǔn)備如下:

?啟動(dòng)trial license

?建立/ifs/ai路徑

?在網(wǎng)絡(luò)上下載了三千張貓跟狗的圖片數(shù)據(jù),都放在/ifs/ai/datasets/images目錄下

?在網(wǎng)絡(luò)上下載了深度學(xué)習(xí)貓狗辨識(shí)模型的python code,路徑為/ifs/ai/dl_isilon.ipynb

?建立/ifs/ai/trained_模型s目錄給訓(xùn)練好的模型存檔

01步驟一

建立聯(lián)機(jī),正式環(huán)境可能會(huì)使用Kubernetes,可以把Isilon直接用NFS或是透過CSI作為persistent volume提供給GPU docker。但因?yàn)槲疫@里只使用單一VM,所以我用最簡(jiǎn)單的NFS mount方式,把Isilon mount給Ubuntu的/home/ai/isilon目錄。

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

02步驟二

接著在Ubuntu上開啟Jupyter Notebook,這時(shí)候可以看到名為isilon的目錄出現(xiàn),進(jìn)入/Isilon/ai就可以看到之前準(zhǔn)備好的數(shù)據(jù)和python code。

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

03步驟三

打開dl_isilon.ipynb,一開始就是要設(shè)定讀取數(shù)據(jù)的地方,這里的路徑“./datasets/images/”其實(shí)就是指向Isilon的/ifs/ai/datasets/images。

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

04步驟四

接下來(lái)把三千張圖片重設(shè)大小,做卷標(biāo)分類,其中兩千張來(lái)做訓(xùn)練,一千張做驗(yàn)證,于是會(huì)產(chǎn)生四個(gè)目錄,其中“./datasets/catsvsdogs/train/dogs”其實(shí)就是指向Isilon的/ifs/ai/datasets/catsvsdogs/train/dogs,依此類推。

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

05步驟五

然后經(jīng)過一些轉(zhuǎn)格式的預(yù)處理動(dòng)作,就是建立CNNmodel的部分了,其中有些超參數(shù)可以調(diào)整如batch_size,epochs。

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

現(xiàn)在就開始訓(xùn)練了,訓(xùn)練好的模型會(huì)存檔為./trained_models/cats_vs_dogs.h5,其實(shí)就是指向Isilon的/ifs/ai/trained_models/cats_vs_dogs.h5。

可以看到,訓(xùn)練十次,每次兩千張,損失越來(lái)越低,準(zhǔn)確度越來(lái)越高,訓(xùn)練第一次的準(zhǔn)確度只有50%,訓(xùn)練第十次的準(zhǔn)確度有71.5%,當(dāng)然這遠(yuǎn)遠(yuǎn)不夠高, 是因?yàn)橹挥袃汕垐D片,想象一下若有兩萬(wàn)張圖片,準(zhǔn)確度就可能到達(dá)95%以上了,這就是大數(shù)據(jù)的威力與價(jià)值!

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

接下來(lái)用另外一千張圖片來(lái)驗(yàn)證這個(gè)已經(jīng)訓(xùn)練好,存在Isilon上的模型。

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

以上就是一個(gè)簡(jiǎn)單的使用Isilon實(shí)現(xiàn)AI解決方案的貓狗辨識(shí)實(shí)踐。其實(shí)AI并沒有那么神秘,動(dòng)手起來(lái)也不難,最重要的,是不是覺得Isilon真的很適合AI了呢?

如果這個(gè)訓(xùn)練好的模型準(zhǔn)確度高于人類,那么就可以實(shí)際部署在生產(chǎn)環(huán)境上了,以后就可以讓AI幫助公司業(yè)務(wù)來(lái)判斷圖片,比人類準(zhǔn)確度高,比人類速度快,還不會(huì)有人為錯(cuò)誤,一片美好的未來(lái)~

但是!工欲善其事,必先利其器,必須要先有適合的AI存儲(chǔ)如Isilon才能往美好的未來(lái)邁進(jìn),準(zhǔn)確并快速地找出可以高效幫助公司業(yè)務(wù)的模型,達(dá)到最佳ROI!

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

專家授課︱如何親自動(dòng)手搭建一個(gè)大數(shù)據(jù)分析模型

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )