
介紹
人工智能......在這一點(diǎn)上,你知道這是未來的潮流,如果你把它添加到你的職業(yè)技能列表中并且最終會殺死我們所有人,那么你會變得非常富有。由于前兩點(diǎn)激發(fā)普通人的興趣,下一步通常是他們試圖弄清楚如何更多地了解這個領(lǐng)域。他們通常會找到一個在線課程或一些介紹,其后的邏輯進(jìn)展是獲得一些經(jīng)驗(yàn)。那就是當(dāng)他們遇到我喜歡稱之為“ 工具問題 ”的時候。

有太多的工具可供選擇,很難分辨哪種工具適合這項(xiàng)工作。我不打算比較和對比工具,因?yàn)閳D1中的工具只占不到十分之一的可用工具,但我要做的是介紹一家公司,其任務(wù)是為所有人簡化和民主化人工智能。他們最終是否能夠?qū)崿F(xiàn)這一目標(biāo)仍然懸而未決,但至少他們?yōu)槲覀兊臋C(jī)器學(xué)習(xí)努力提供了一個良好的起點(diǎn)。
誰是H2O.ai?
H2O.ai是H2O等開源機(jī)器學(xué)習(xí)(ML)產(chǎn)品背后的公司,旨在讓所有人都能輕松完成ML。他們的開源社區(qū)包括超過129,000名數(shù)據(jù)科學(xué)家和12,000個組織。在過去兩年中,他們還有近一半的財富500強(qiáng)使用他們的軟件,用戶增長了330%。分析師也注意到他們被列為具有最完整視野的領(lǐng)導(dǎo)者,其中包括Gartner 2018年數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)平臺魔力象限中的16家供應(yīng)商。他們的業(yè)務(wù)合作伙伴包括微軟,IBM,NVIDIA,Splunk,Databricks,MapR,Anaconda,Cloudera等主要廠商。那么他們是如何獲得如此大的追隨者的呢?通過實(shí)現(xiàn)承諾,使機(jī)器學(xué)習(xí)可訪問,并允許業(yè)務(wù)用戶從數(shù)據(jù)中提取洞察力,而無需部署或調(diào)整機(jī)器學(xué)習(xí)模型的專業(yè)知識。

如果你曾經(jīng)在一家大公司工作并且不得不處理緩慢移動的數(shù)字化轉(zhuǎn)型,那么你可能對一家公司的目標(biāo)只是使用一個復(fù)雜的軟件感到興奮,但也對它們持懷疑態(tài)度,因?yàn)閹缀趺考铱萍脊径甲龀隽诉@樣的承諾。沒有交付。讓我們更深入地分析H2O.ai,看看他們?nèi)绾螌?shí)現(xiàn)這一承諾以及他們的產(chǎn)品在生產(chǎn)中運(yùn)行的用例。
產(chǎn)品供應(yīng)
H2O.ai表示,通過允許業(yè)務(wù)用戶從數(shù)據(jù)中提取洞察力而無需專業(yè)知識來部署或調(diào)整機(jī)器學(xué)習(xí)模型,它使ML可訪問。他們是怎么做到的?通過他們的機(jī)器學(xué)習(xí)產(chǎn)品套件,我們將討論。

- 主要產(chǎn)品。開源,內(nèi)存,分布式,ML和預(yù)測分析平臺,允許您構(gòu)建和生成ML模型。包含有監(jiān)督和無監(jiān)督的模型,如GLM和K-Means聚類,以及一個簡單易用的Web-UI,稱為Flow。
- 深水。H2O +與TensorFlow,MXNet和Caffe更緊密地集成,用于基于GPU的DL工作負(fù)載。
- 蘇打水。H2O +更緊密的Spark集成,讓客戶利用現(xiàn)有的Spark生態(tài)系統(tǒng)和H2o的ML。稍后我們將在用例部分中詳細(xì)了解這一點(diǎn)。
- 蒸汽。公司的企業(yè)(意味著非免費(fèi))提供用于構(gòu)建和部署應(yīng)用程序的服務(wù)??茖W(xué)家可以培訓(xùn)和部署ML模型,使其可以通過API訪問,以便開發(fā)人員集成到應(yīng)用程序中。
- 無人駕駛AI。有點(diǎn)用詞不當(dāng),因?yàn)樗皇亲詣玉{駛所獨(dú)有,而是H2o +一個簡化的包裝器,以幫助企業(yè)的非技術(shù)員工準(zhǔn)備數(shù)據(jù),校準(zhǔn)參數(shù)并確定用ML解決特定業(yè)務(wù)問題的最佳算法。使自動特征工程,模型調(diào)整,選擇和同步(使用多種學(xué)習(xí)算法以獲得更好的預(yù)測性能)易于使用,對于那些甚至不知道這些術(shù)語的含義的人來說??焖?a target="_blank" rel="nofollow">視頻演示。
現(xiàn)在我們對H2O.ai提供的產(chǎn)品進(jìn)行了高級概述,讓我們探討他們的技術(shù)能力。
技術(shù)特點(diǎn)和功能
H2o的產(chǎn)品提供開源,內(nèi)存,分布式,快速,可擴(kuò)展的機(jī)器學(xué)習(xí)和預(yù)測分析平臺。“快速”來自分布在集群中的數(shù)據(jù),并以壓縮的列式格式存儲在內(nèi)存中,允許您并行讀取數(shù)據(jù)。H2O的核心代碼是用Java編寫的,與許多其他現(xiàn)代應(yīng)用程序一樣,H2O提供了一個REST API,用于通過HTTP上的JSON從外部程序或腳本訪問所有軟件的功能。Rest API由H2O的Web界面(Flow UI),R綁定(H2O-R)和Python綁定(H2O-Python)使用。

可用的機(jī)器學(xué)習(xí)算法
在可用的機(jī)器學(xué)習(xí)算法方面,H2O有一套很好的可用算法供用戶使用。
監(jiān)督學(xué)習(xí)。深度學(xué)習(xí)(神經(jīng)網(wǎng)絡(luò)),分布式隨機(jī)森林(DRF),廣義線性模型(GLM),梯度增強(qiáng)機(jī)(GBM),樸素貝葉斯分類器,堆積集合,XGBoost
無監(jiān)督。聚合器,廣義低秩模型(GLRM),K均值聚類,主成分分析(PCA)
-
其他。分位數(shù),早期停止,Word2Vec
H2O的數(shù)據(jù)解析器具有內(nèi)置智能,可以猜測傳入數(shù)據(jù)集的模式,并支持以各種格式從多個源獲取數(shù)據(jù)。
大數(shù)據(jù)和Anaconda集成
對于大數(shù)據(jù),H2O與包括Spark在內(nèi)的Hadoop工具生態(tài)系統(tǒng)很好地集成。支持的Hadoop發(fā)行版是Cloudera CDH,Hortonworks HDP,MapR 4.x +和IBM Open Platform。雖然H2O與Hadoop和Spark集成,但除非您想在Hadoop或Spark集群上部署H2O,否則它們不需要運(yùn)行H2O。
H2O還與數(shù)據(jù)科學(xué)家使用的開源軟件包和環(huán)境管理系統(tǒng)Conda集成,可以快速安裝,運(yùn)行和更新軟件包及其依賴項(xiàng)。Conda和Anaconda可以在Anaconda Cloud上使用,在協(xié)作期間共享包,筆記本,項(xiàng)目和環(huán)境。除非您想在Anaconda Cloud上運(yùn)行H2O,否則Conda不需要運(yùn)行H2O。
為了簡潔起見,我將跳過一些技術(shù)細(xì)節(jié),但如果您想了解更多有關(guān)架構(gòu)組件,JVM管理,CPU管理或流體矢量幀等內(nèi)容的信息,請點(diǎn)擊鏈接。
客戶和用例
那么誰在使用這種技術(shù)和用例?很高興你問。H2O強(qiáng)調(diào)了金融,保險和醫(yī)療保健行業(yè)的使用。H2O啟用的特定解決方案示例:
- 思科。使用H2O創(chuàng)建P2B統(tǒng)計(jì)模型,該模型試圖預(yù)測某個公司將來是否會在給定的時間范圍內(nèi)購買某個產(chǎn)品。模型輸出公司將購買的概率以及公司購買產(chǎn)品時將花費(fèi)的金額。由銷售額,人口統(tǒng)計(jì)數(shù)據(jù),過去購買行為,聯(lián)系人,營銷互動,客戶滿意度調(diào)查,宏觀經(jīng)濟(jì)指標(biāo),購買/非購買清單推動使用。
- 資本一。系統(tǒng)和運(yùn)營小組使用H2O為Capital One銀行應(yīng)用程序(每小時5K用戶,每小時300K),因?yàn)樗麄儼l(fā)現(xiàn)H2o滿足他們的治理要求,利用當(dāng)前數(shù)據(jù)科學(xué)和ML資源(R,Python,Spark等),來源,可用和可擴(kuò)展。
- Equifax。在H2O之上構(gòu)建了一款名為 Ignite的產(chǎn)品,這是他們的“革命性的高級數(shù)據(jù)和高級分析解決方案組合”。
- Kaiser Permanente。發(fā)現(xiàn)緊急轉(zhuǎn)移到ICU的醫(yī)療/外科病房患者在ICU轉(zhuǎn)移之前6-24小時顯示出生理性紊亂的證據(jù)。這些患者不到醫(yī)院所有患者的5%,但是所有ICU入院率的25%,醫(yī)院中所有死亡人數(shù)的20%以及12.5%的天數(shù)患者在醫(yī)院過夜。使用H2O預(yù)測這些患者提前訪問ICU,使死亡率降低2-5倍。
對你來說太高了?想要了解公司如何利用H2O創(chuàng)建ML模型并獲得更好的見解并通過數(shù)據(jù)分析為客戶提供服務(wù)的更多細(xì)節(jié)?當(dāng)然,接下來就是這樣
旅行服務(wù)客戶的大規(guī)模ML和預(yù)測

我現(xiàn)在想為一家大型旅游服務(wù)機(jī)構(gòu)提供更具體的用例,每年帶來超過6800億美元的收入。該公司希望使用ML為數(shù)百萬用戶評分酒店和目的地建議,并在廣告平臺出價期間從1M +關(guān)鍵字中選擇,以確保最有效的廣告展示位置。他們還希望運(yùn)行機(jī)器翻譯工作,根據(jù)用戶的語言偏好,將酒店/航班描述轉(zhuǎn)換為網(wǎng)站的43種不同支持語言之一。
機(jī)器學(xué)習(xí)要求
基于對現(xiàn)有系統(tǒng)的分析以及之前部署機(jī)器學(xué)習(xí)的嘗試,他們想要一個解決方案:
- 很好地擴(kuò)展
- 使用方便
- 統(tǒng)計(jì)上合理的
- 很容易轉(zhuǎn)移到生產(chǎn)
- 可靠
- 快速
初步嘗試
他們最初的嘗試包括:
- 使用SparkML。發(fā)現(xiàn)它不穩(wěn)定,功能不豐富,難以生產(chǎn)且預(yù)測緩慢(2015)
- 使用蘇打水(h2o + Spark)。解決了他們的大部分問題,除了縮放,因?yàn)镾parkling Water與YARN綁定,YARN在擴(kuò)展他們的1,000+節(jié)點(diǎn)集群時破壞了。
- 使用Google Translate API進(jìn)行機(jī)器翻譯。發(fā)現(xiàn)Google的API不如針對自己的數(shù)據(jù)集的培訓(xùn)模型準(zhǔn)確
最終的解決方案是使用H2o并為Sparkling Water上游提供編排代碼。在這樣做的過程中,他們?yōu)镠2O 開發(fā)了一種“ 外部集群模式 ”,它消除了YARN的依賴性,幫助他們擴(kuò)展超過1K +節(jié)點(diǎn)而沒有任何問題。
解決方案架構(gòu)

我們現(xiàn)在將對生產(chǎn)中用于進(jìn)行預(yù)測的體系結(jié)構(gòu)和模型培訓(xùn)進(jìn)行高級概述。
離線:模型創(chuàng)建和培訓(xùn)(安全,非生產(chǎn))
- 最終用戶通過創(chuàng)建點(diǎn)擊流活動與網(wǎng)站進(jìn)行交互,該活動可以查看酒店,選擇航班,閱讀評論等。
- 對于不需要預(yù)測的JSON事件,數(shù)據(jù)將發(fā)送到Spark Cluster,以便工作流在數(shù)據(jù)之上運(yùn)行。數(shù)據(jù)轉(zhuǎn)換為存儲和模型培訓(xùn)。
- 然后,Data Scientist在Spark中的數(shù)據(jù)集上創(chuàng)建數(shù)據(jù)框并發(fā)送到H2o集群。
- 在H2o中,科學(xué)家選擇正確的算法,訓(xùn)練和建立模型。還可以訪問具有Web UI 的功能存儲,他們可以在其中發(fā)現(xiàn)或重用功能,查看哪些功能可在線訪問與脫機(jī),分配功能的所有權(quán)并強(qiáng)制執(zhí)行質(zhì)量。
- 在訓(xùn)練之后,他們將模型以普通舊Java對象(PO??JO)或模型對象優(yōu)化(MOJO)格式導(dǎo)出到預(yù)測處理系統(tǒng)以用于生產(chǎn)。
在線:酒店評分示例(實(shí)時處理)
- 最終用戶在搜索紐約的酒店時創(chuàng)建需要預(yù)測的點(diǎn)擊流事件。
- 該JSON事件被發(fā)送到Kafka主題
- Spark從Kafka獲取事件并在其上運(yùn)行轉(zhuǎn)換,類似于離線完成的數(shù)據(jù)爭論,將值輸出到另一個Kafka主題,將Cassandra作為持久后端輸出。
- 然后,流處理應(yīng)用程序?qū)L模型進(jìn)行API調(diào)用,ML模型在前面具有API網(wǎng)關(guān),以根據(jù)需要縮放預(yù)測處理請求。
- 對于酒店查詢,約10,000個酒店為該特定用戶評分并返回給他們希望點(diǎn)擊并預(yù)訂最佳結(jié)果的用戶。
結(jié)論
雖然我們已經(jīng)涵蓋了很多,但我們只是觸及了H2O平臺功能的表面。隨著他們對產(chǎn)品的采用正在快速增長,H2o似乎已準(zhǔn)備好實(shí)現(xiàn)為每個人實(shí)現(xiàn)人工智能民主化的目標(biāo)。如果您想了解更多信息,請查看2017 H2O世界的主題演講和會議,這是一個很好的起點(diǎn)。希望對H2O的介紹很有幫助。