0
雷鋒網(wǎng) AI 研習(xí)社按,日前,kdnuggets 上的一篇文章對(duì)比了三大公司(谷歌、微軟和亞馬遜)提供的機(jī)器學(xué)習(xí)服務(wù)平臺(tái),對(duì)于想要啟動(dòng)機(jī)器學(xué)習(xí)項(xiàng)目的公司或是數(shù)據(jù)科學(xué)新手來說,提供了非常多的指導(dǎo)和建議。雷鋒網(wǎng) AI 研習(xí)社將原文編譯整理如下:
對(duì)于大多數(shù)企業(yè)來說,機(jī)器學(xué)習(xí)就像航空航天一樣遙遠(yuǎn),聽起來既昂貴,還需要高科技人才。從某種角度來說,如果你想建立一個(gè)像 Netflix 一樣好的推薦系統(tǒng),那確實(shí)是昂貴且困難。但是,目前這個(gè)復(fù)雜的領(lǐng)域有一個(gè)趨勢:一切皆服務(wù)(everything-as-a-service)——無需太多投資,即可快速啟動(dòng)機(jī)器學(xué)習(xí)計(jì)劃。如果你是數(shù)據(jù)科學(xué)的新手,想要抓住當(dāng)下的機(jī)會(huì),這將是一種正確的選擇。
機(jī)器學(xué)習(xí)里最令人鼓舞的故事之一就是,一個(gè)日本農(nóng)民,為了減輕他父母的工作負(fù)擔(dān),決定設(shè)計(jì)一個(gè)自動(dòng)分揀黃瓜的系統(tǒng)。不像其他的大型公司,這個(gè)人并沒有機(jī)器學(xué)習(xí)的專業(yè)知識(shí),也沒有很多預(yù)算,但是他努力學(xué)會(huì)了 TensorFlow,并使用深度學(xué)習(xí)來識(shí)別不同種類的黃瓜。
通過使用機(jī)器學(xué)習(xí)云服務(wù),你可以開始構(gòu)建第一個(gè)工作的模型,只要一小個(gè)團(tuán)隊(duì),就可以從機(jī)器學(xué)習(xí)的預(yù)測中獲得有價(jià)值的信息。許多人已經(jīng)討論過不同的機(jī)器學(xué)習(xí)的策略。現(xiàn)在讓我們來看看市場上最好的機(jī)器學(xué)習(xí)平臺(tái)都有哪些服務(wù)。
什么是機(jī)器學(xué)習(xí)服務(wù)
機(jī)器學(xué)習(xí)服務(wù)(Machine learning as a service, MLaaS)包含機(jī)器學(xué)習(xí)大多數(shù)基礎(chǔ)問題(比如數(shù)據(jù)預(yù)處理,模型訓(xùn)練,模型評(píng)估,以及預(yù)測)的全自動(dòng)或者半自動(dòng)云平臺(tái)的總體定義。預(yù)測結(jié)果可以通過 REST API 與內(nèi)部的 IT 基礎(chǔ)架構(gòu)橋接。
Amazon 機(jī)器學(xué)習(xí)服務(wù),Azure 機(jī)器學(xué)習(xí)和 Google Cloud AI 是最領(lǐng)先的三個(gè)云 MLaaS 服務(wù),允許在很少甚至沒有數(shù)據(jù)科學(xué)專業(yè)知識(shí)的情況下進(jìn)行快速模型訓(xùn)練和部署。如果你還沒有數(shù)據(jù)科學(xué)團(tuán)隊(duì),可以參看我們的另一篇文章,看看團(tuán)隊(duì)都需要擁有哪些技能的人才。
在本文中,我們將首先概述 Amazon,Google 和 Microsoft 的主要機(jī)器學(xué)習(xí)服務(wù)平臺(tái),并比較這些供應(yīng)商所支持的機(jī)器學(xué)習(xí) API。這并不是如何使用這些平臺(tái)的說明,而是在開始閱讀平臺(tái)的文檔之前所需要做的功能調(diào)研。
針對(duì)定制化的預(yù)測分析任務(wù)的機(jī)器學(xué)習(xí)服務(wù)
使用 Amazon ML 進(jìn)行預(yù)測分析
亞馬遜的機(jī)器學(xué)習(xí)服務(wù)有兩個(gè)層面:用于預(yù)測分析的 Amazon ML 和針對(duì)數(shù)據(jù)科學(xué)家設(shè)計(jì)的 SageMaker。
Amazon Machine Learning 是市場上最自動(dòng)化的解決方案之一,最適合對(duì)處理效率敏感的操作。該服務(wù)可以加載來自多個(gè)來源的數(shù)據(jù),包括 Amazon RDS,Amazon Redshift,CSV 文件等。所有數(shù)據(jù)的預(yù)處理操作都是自動(dòng)執(zhí)行的:包括確認(rèn)哪些字段是分類標(biāo)簽,哪些是數(shù)字,而且不需要用戶選擇進(jìn)一步的數(shù)據(jù)預(yù)處理方法(降維還是白化)。
Amazon ML 的預(yù)測能力限于三種:二分類,多分類,以及回歸任務(wù)。也就是說,Amazon ML 服務(wù)不支持無監(jiān)督的學(xué)習(xí)方法,用戶必須在訓(xùn)練集中選擇標(biāo)記好的目標(biāo)變量。而且,用戶不需要知道任何機(jī)器學(xué)習(xí)方法,Amazon 會(huì)在分析提供的數(shù)據(jù)之后自動(dòng)選擇機(jī)器學(xué)習(xí)方法。
這種高自動(dòng)化的水平既是 Amazon ML 的優(yōu)勢,也是劣勢。如果您需要一個(gè)完全自動(dòng)化,但是功能有限的解決方案,那么這個(gè)服務(wù)非常適合你。但是如果不是這樣的話,你可以選擇 SageMaker。
Amazon SageMaker 以及基于框架的服務(wù)
SageMaker 是一個(gè)機(jī)器學(xué)習(xí)環(huán)境,通過提供快速建模和部署工具來簡化數(shù)據(jù)科學(xué)家的工作。例如,它提供 Jupyter 來簡化數(shù)據(jù)瀏覽和分析。Amazon 也提供了內(nèi)置的算法,針對(duì)分布式系統(tǒng)中的大型數(shù)據(jù)集和計(jì)算進(jìn)行了優(yōu)化。這些算法包括:
線性學(xué)習(xí)器,一種用于分類和回歸的監(jiān)督方法。
用于稀疏數(shù)據(jù)集的分類和回歸的分解機(jī)(Factorization Machine)。
XGBoost 是一個(gè)有監(jiān)督的提升樹算法,通過結(jié)合簡單算法的預(yù)測來提高分類,回歸以及排序的預(yù)測精度。
基于 ResNet 的圖像分類,也可以應(yīng)用于遷移學(xué)習(xí)。
Seq2seq 是用于預(yù)測序列的監(jiān)督算法,可用于翻譯句子,將句子總結(jié)為更短的詞匯等。
K-means 是一種用于聚類任務(wù)的無監(jiān)督學(xué)習(xí)方法。
主成分分析(PCA),可以用于數(shù)據(jù)降維。
隱含狄利克雷分布(Latent Dirichlet allocation)是用于文檔歸類的無監(jiān)督方法。
神經(jīng)主題模型(Neural topic model, NTM)是一種無監(jiān)督方法,它可以遍歷文檔,找出高頻詞匯,并根據(jù)內(nèi)容定義文檔的主題(用戶不能預(yù)先定義主題的名稱,但是可以設(shè)置話題的數(shù)量)。
SageMaker 中內(nèi)置的方法與 Amazon 推薦的 ML API 在很大程度上有交集,但在這里它允許數(shù)據(jù)科學(xué)家定制使用,并使用自己的數(shù)據(jù)集。
如果你不想使用這些功能,你也可以添加自己的方法,并通過 SageMaker 利用它的部署功能運(yùn)行模型?;蛘咭部梢詫?SageMaker 與 TensorFlow 或 MXNet 等深度學(xué)習(xí)庫集成在一起。
一般來說,亞馬遜的機(jī)器學(xué)習(xí)服務(wù)為經(jīng)驗(yàn)豐富的數(shù)據(jù)科學(xué)家和只需要完成工作而不需深入準(zhǔn)備數(shù)據(jù)集和建模的人都提供了足夠的自由。對(duì)于那些已經(jīng)使用亞馬遜環(huán)境并且不打算轉(zhuǎn)移到其他云供應(yīng)商的公司來說,這是一個(gè)可靠的選擇。
Microsoft Azure 機(jī)器學(xué)習(xí)工作室(Machine Learning Studio)
Azure Machine Learning 意在為新手和經(jīng)驗(yàn)豐富的數(shù)據(jù)科學(xué)家建立一個(gè)強(qiáng)大的工作空間。微軟的機(jī)器學(xué)習(xí)產(chǎn)品功能與亞馬遜的類似,但就目前而言,Azure 的現(xiàn)成算法更加靈活。
Azure 提供的服務(wù)可以分為兩大類:Azure Machine Learning Studio 和 Bot 服務(wù)。讓我們首先了解一下 Azure ML Studio,在之后介紹特定 API 和工具的部分時(shí),回到 Bot 服務(wù)。
ML Studio 是微軟 MLaaS 的主要部分,幾乎所有的 Azure ML Studio 中的操作都必須手動(dòng)完成:包括瀏覽數(shù)據(jù),預(yù)處理,選擇方法,以及驗(yàn)證模型結(jié)果。
使用 Azure 進(jìn)行機(jī)器學(xué)習(xí)的學(xué)習(xí)曲線可能比較陡,但是這也能使得用戶對(duì)該領(lǐng)域的主要技術(shù)有更深入的了解。另一方面,Azure ML 支持圖形界面,可以可視化工作流程中的每一個(gè)步驟。使用 Azure 的主要好處是可以使用各種算法。ML Studio 支持大約 100 種解決分類(包括二分類和多分類),異常檢測,回歸,推薦和文本分析方法。值得一提的是,該平臺(tái)也支持一種聚類算法(K-means)。
Azure ML 的另一大部分是 Cortana Intelligence Gallery。它是由社區(qū)提供的機(jī)器學(xué)習(xí)解決方案的集合,供數(shù)據(jù)科學(xué)家開發(fā)和利用。Azure 對(duì)于從事機(jī)器學(xué)習(xí)的人來說是一個(gè)強(qiáng)大的工具。
Google 預(yù)測 API
Google 在兩個(gè)層面上提供 AI 服務(wù):針對(duì)高級(jí)數(shù)據(jù)科學(xué)家的機(jī)器學(xué)習(xí)引擎,和高度自動(dòng)化的 Google 預(yù)測 API。不過,谷歌將在2018 年 4 月 30 日停用預(yù)測 API 服務(wù)。
即將停用的預(yù)測 API 類似于 Amazon ML,只有兩個(gè)很精簡的方法,主要用于解決兩個(gè)問題:分類(二類和多類)和回歸。訓(xùn)練好的模型可以通過 REST API 接口進(jìn)行部署。
Google 并沒有公開預(yù)測中使用了哪些算法,也不能讓工程師自定義模型。Google 的環(huán)境最適合在緊迫的期限內(nèi)進(jìn)行機(jī)器學(xué)習(xí),并推出初始版本的 ML 模型。然而這個(gè)產(chǎn)品并沒有像谷歌所期望的那么受歡迎。
那么接替 Google 預(yù)測 API 的是什么呢?
Google 云端機(jī)器學(xué)習(xí)引擎
預(yù)測 API 的高度自動(dòng)化是以犧牲靈活性為代價(jià)的。Google ML Engine 正好相反。它適用于經(jīng)驗(yàn)豐富的數(shù)據(jù)科學(xué)家,非常的靈活,建議大家使用 TensorFlow 的云基礎(chǔ)設(shè)施作為機(jī)器學(xué)習(xí)的驅(qū)動(dòng)。Google ML Engine 大體上與 SageMaker 相似。
TensorFlow 是 Google 的另一個(gè)產(chǎn)品,它是一個(gè)開源機(jī)器學(xué)習(xí)庫,包含各種數(shù)據(jù)科學(xué)工具,它并不是 ML-as-a-service。它沒有可視化界面,TensorFlow 的學(xué)習(xí)曲線非常陡峭。但是,這個(gè)庫也面向想要轉(zhuǎn)向數(shù)據(jù)科學(xué)的軟件工程師。TensorFlow 非常強(qiáng)大,主要針對(duì)深度神經(jīng)網(wǎng)絡(luò)的任務(wù)。
基本上,TensorFlow 和 Google 云服務(wù)結(jié)合,構(gòu)成了三層服務(wù)模型,包括了基礎(chǔ)架構(gòu)服務(wù)和平臺(tái)服務(wù)解決方案。
用一句話來總結(jié)機(jī)器學(xué)習(xí)服務(wù)平臺(tái):Azure 是目前 MLaaS 市場上擁有功能最多的工具集,它涵蓋了大多數(shù)與 ML 相關(guān)的任務(wù),為構(gòu)建自定義模型提供了一個(gè)可視化的界面,并且為那些不想深入了解數(shù)據(jù)科學(xué)的人提供了一套可靠的 API。但是相較于亞馬遜,它仍然缺乏自動(dòng)化的能力。
Amazon,Microsoft,Google 機(jī)器學(xué)習(xí) API 的比較
除了成熟的平臺(tái)之外,還可以使用高級(jí)的 API。這些都是使用訓(xùn)練好的模型的服務(wù),只需要將數(shù)據(jù)輸入,就可以得到結(jié)果。API 不需要機(jī)器學(xué)習(xí)的專業(yè)知識(shí)。目前,這三家廠商的 API 大致可以分為三類:
文本識(shí)別,翻譯和文本分析
圖像+視頻識(shí)別和相關(guān)分析
其他,包括某些未分類服務(wù)
語音和文本處理 API:Amazon
Amazon 提供了多個(gè)針對(duì)文本分析中常見任務(wù)的 API。這些 API 是高度自動(dòng)化的,只需適當(dāng)?shù)恼暇涂梢怨ぷ鳌?/p>
Lex API 是為了能將聊天機(jī)器人嵌入到應(yīng)用中而設(shè)計(jì)的,它包含了自動(dòng)語音識(shí)別(ASR)和自然語言處理(NLP)的能力。這些都基于深度學(xué)習(xí)模型。API 可以識(shí)別書面文本和語音,Lex 接口允許將識(shí)別出的結(jié)果連接到各種后端解決方案。很顯然,亞馬遜鼓勵(lì)使用自家的 Lambda 云環(huán)境。所以在訂閱 Lex 服務(wù)之前,最好熟悉一下 Lambda 云環(huán)境。除了獨(dú)立的應(yīng)用程序之外,Lex 目前也支持在 Facebook Messenger,slack 和 Twilio 部署聊天機(jī)器人。
Lex 是一個(gè)復(fù)雜的以聊天機(jī)器人為導(dǎo)向的工具,而 Transcribe 僅應(yīng)用于語音識(shí)別。該工具可以識(shí)別多個(gè)說話人,同時(shí)也能很好的識(shí)別低質(zhì)量的音頻,比如電話音頻。這些功能使得這個(gè) API 成為音頻歸檔分類的一個(gè)很好的解決方案, 也可以進(jìn)一步為電話呼叫中心的數(shù)據(jù)文本分析提供支持。
Polly 服務(wù)與 Lex 相反,它是將文本轉(zhuǎn)換為語音, 這能夠使聊天機(jī)器人通過語音的方式回復(fù),這個(gè) API 并不會(huì)生成文本,只是讓文本的發(fā)音更接近與人類。如果你曾經(jīng)使用過 Alexa,你就會(huì)知道這種聲音是什么樣的。目前,它支持 25 種語言的男性和女性的聲音,主要是英語和西歐語言。一些語言有多種男性和女性的聲音,所以甚至可以有多種選擇。與 Lex 一樣,建議將 Polly 與 Lambda 一起使用。
Comprehend 是另一個(gè) NLP API 集。與 Lex 和 Transcribe 不同,它針對(duì)不同的文本分析任務(wù)而設(shè)計(jì)。目前,Comprehend 支持:
實(shí)體提取(識(shí)別名字,日期,組織等等)
關(guān)鍵短語檢測
語音識(shí)別
情感分析(文本是積極,中立,還是消極)
主題建模(通過分析關(guān)鍵字定義文本主題)
該服務(wù)可以幫助分析社交媒體的回復(fù),評(píng)論,以及不適合手動(dòng)分析的其他大型文本數(shù)據(jù),比如 Comprehend 和 Transcribe 的組合將有助于分析客服的電話服務(wù)。
就像名稱所表達(dá)的一樣,Translate 服務(wù)是用來翻譯文本的。Amazon 聲稱,該服務(wù)使用的神經(jīng)網(wǎng)絡(luò),與基于規(guī)則的翻譯方法相比,能夠提供更高的翻譯質(zhì)量。然而,目前版本只支持阿拉伯文、中文、法文、德文、葡萄牙文和西班牙文這六種語言與英文的互譯。
語音和文本處理 API:Microsoft Azure Congnitive Services
與亞馬遜一樣,微軟也提供高級(jí)API:Congnitive Services,可以與你的基礎(chǔ)平臺(tái)集成到一起來完成任務(wù),并不需要任何數(shù)據(jù)科學(xué)的專業(yè)知識(shí)。
Speech
Speech 集包含四個(gè) API,針對(duì)自然語言識(shí)別和一些其他任務(wù)使用了不同類型的自然語言處理(NLP)技術(shù):
語音翻譯 API
Bing Speech API:文本和語音之間的互相轉(zhuǎn)換
說話人識(shí)別:可用于語音驗(yàn)證任務(wù)
定制化的語音服務(wù),可使用 Azure 的自然語言處理方法處理自己的數(shù)據(jù)和模型
Language
微軟的 Language API 與 Amazon Comprehend 類似,側(cè)重于文本分析:
Language Understanding Intelligent Service 是一個(gè)分析文本意圖,并將之轉(zhuǎn)換為命令的 API(例如「運(yùn)行 YouTube」,或者「打開客廳燈」等)
用于情感分析和定義主題的文本分析 API
Bing 拼寫檢查
文本翻譯 API
Web 語言模型 API,用于估計(jì)單詞組合的概率,并實(shí)現(xiàn)單詞的自動(dòng)智能補(bǔ)全
語言分析 API,用于分句,標(biāo)注詞類,并將文本分成標(biāo)記的短語
語音和本文處理 API:Google 云服務(wù)
雖然這套 API 與亞馬遜、微軟 Azure 的 API 相似,但也擁有一些獨(dú)特和有趣的東西。
現(xiàn)今各種聊天機(jī)器人已經(jīng)成為趨勢,Google 也提供了一些服務(wù)。Dialogflow 采用了 NLP 技術(shù),旨在發(fā)現(xiàn)文本中表達(dá)的意圖,并解釋人想要什么??梢允褂?java,Node.js 和 Python 為 API 調(diào)整和定制功能。
這其中的核心功能幾乎與 Amazon comprehend 和微軟的 Languate 完全相同。
在文本中識(shí)別實(shí)體
識(shí)別情緒
分析語法結(jié)構(gòu)
分類主題(比如食物, 新聞,電子等等)
這項(xiàng)服務(wù)用于識(shí)別自然語音,與其他公司類似的 API 相比,其主要優(yōu)勢在于 Google 支持更豐富的語言。目前,它支持全球 110 多種語言。額外功能如下:
Word hints,允許定制識(shí)別到特定的上下文或者默寫單詞(例如,可以更好的理解當(dāng)?shù)氐幕蛘咝袠I(yè)內(nèi)的術(shù)語)
過濾不當(dāng)內(nèi)容
處理嘈雜的音頻
基本上,你可以使用該 API 將 Google 翻譯集成到產(chǎn)品中,包含 100 多種語言的自動(dòng)檢測和翻譯。
除了文本和語音,Aamzon,Microsoft 和 Google 還提供了用于圖像和視頻分析的常用 API。
盡管圖像分析和視頻 API 密切相關(guān),但是許多視頻分析工具仍處于開發(fā)或測試階段。例如,Google 對(duì)許多圖像處理任務(wù)提供了豐富的支持,但是缺乏一些微軟和亞馬遜已經(jīng)支持的視頻分析功能。
圖像和視頻處理API:Amazon Rekognition
Rekognition 并不沒有拼錯(cuò)。Rekognition API 用于圖像以及最近的視頻識(shí)別任務(wù)。包括:
目標(biāo)檢測和分類(查找和檢測圖象中的不同目標(biāo),并定義他們的類別)
在視頻中,可以檢測「跳舞」等活動(dòng)或者「撲滅火」這種復(fù)雜的動(dòng)作
人臉識(shí)別(用于檢測人臉,并找到匹配的人臉)和臉部分析(這個(gè)分析非常有趣,可以檢測到笑臉,分析眼睛,甚至在視頻中識(shí)別出情感情緒)
檢測不當(dāng)視頻
識(shí)別圖片和視頻中的名人
圖像和視頻處理 API:Microsoft Azure Congnitive Service
軟件包結(jié)合了六個(gè) API,分別專注于不同類型的圖像,視頻和文本分析。
Computer Vision:用于識(shí)別目標(biāo)、動(dòng)作、圖像中主體顏色
Content Moderator:在圖像、文字和視頻中檢測不適當(dāng)?shù)膬?nèi)容
Face API:用來檢測人臉并分組,識(shí)別年齡、情緒、性別、姿勢、笑容和面部毛發(fā)
Emotion API:用來識(shí)別面部表情的工具
Custom Vision Service:支持使用自己的數(shù)據(jù)構(gòu)建自定義的圖像識(shí)別模型
Video indexer:是一種在視頻中查找任務(wù)的工具,可以定義語音情感并標(biāo)記關(guān)鍵字
圖像和視頻處理 API:Google Cloud Services
該工具為圖像識(shí)別任務(wù)而建立,對(duì)于查找特定的圖像屬性非常有用:
標(biāo)記對(duì)象
檢測人臉并分析表情
尋找標(biāo)志性事件并描述現(xiàn)場(例如假期、婚禮等)
在圖像中查找文本并識(shí)別語言
圖像中的主色調(diào)
Google 的視頻識(shí)別 API 在開發(fā)初期就缺乏 Amazon Rekognition 和 Microsoft Congnitive Services 提供的許多功能。目前,該 API 提供以下工具集:
標(biāo)記對(duì)象并識(shí)別動(dòng)作
識(shí)別明確的內(nèi)容
轉(zhuǎn)錄語音
雖然在功能級(jí)別上,Google AI 服務(wù)可能缺乏一些功能,但是 Google API 可以使用 Google 提供的大量數(shù)據(jù)集。
特定的 API 和工具
這一部分,我們將討論微軟和谷歌的特定 API 產(chǎn)品和工具。這里沒有亞馬遜,因?yàn)槠?API 跟上面提到的文本分析和圖像視頻分析是一樣的。但是,一些其他公司提供的特定 API 的一些功能也集成于 Amazon 的產(chǎn)品中。
Azure Service Bot 框架
微軟為了給用戶提供更靈活的開發(fā)工具集付出了很多努力。該服務(wù)包含通過不同編程語言構(gòu)建、測試和部署 bot 的完整環(huán)境。
有趣的是,bot 服務(wù)并不一定需要機(jī)器學(xué)習(xí)方法。微軟為 bot 工具提供了五種模板(基礎(chǔ)模板、形式模板、語言理解模板、主動(dòng)模板和問答模板),只有語言理解模板需要高級(jí)的人工智能技術(shù)。
目前,你可以使用 .NET 和 Node.js 技術(shù),利用 Azure 構(gòu)建機(jī)器人,并將其部署到平臺(tái)和服務(wù)上:
Bing
Cortana
Skype
Web Chat
Office 365 email
GroupMe
Facebook Messenger
Slack
Kik
Telegram
Twilio
微軟提供了連接 Bing 核心引擎的七個(gè) API,包括自動(dòng)推薦、新聞、圖像和視頻搜索。
該 API 將文本分析與各種任務(wù)相結(jié)合:
Knowledge Exploration Service 允許您輸入自然語言的查詢以從數(shù)據(jù)庫中檢索數(shù)據(jù),可視化數(shù)據(jù)和自動(dòng)完成查詢。
Entity Linking Intelligence API旨在突出表示適當(dāng)實(shí)體的名稱,和短語(例如年齡),并確保消除歧義。
Academic Knowledge API可以完成單詞的自動(dòng)補(bǔ)全,從單詞或者概念的角度,發(fā)現(xiàn)文檔之間的相似性, 并在文檔中搜索圖模式。
QnA Maker API可用于各種問題與答案的匹配,以構(gòu)建客戶所關(guān)心的聊天機(jī)器人和應(yīng)用程序。
Custom Decision Service是一種強(qiáng)化學(xué)習(xí)工具,可根據(jù)用戶的喜好對(duì)不同類型的內(nèi)容(如鏈接, 廣告等) 進(jìn)行個(gè)性化和排名。
該 API 仍處于開發(fā)早期,但可能在不久的將來重新定義我們當(dāng)前的職位搜索能力。與傳統(tǒng)的依賴精確的關(guān)鍵詞匹配的傳統(tǒng)求職引擎不同,Google 采用機(jī)器學(xué)習(xí)來找出高度不同的職位描述之間的相關(guān)聯(lián)系,并避免模棱兩可。例如,盡量減少不相關(guān)或者太廣泛的搜索結(jié)果,例如在你搜索「sales assistant」時(shí),并不會(huì)返回所有含有「assistant」單詞的職位結(jié)果。這個(gè) API 的主要特點(diǎn):
修正工作搜索查詢中的拼寫錯(cuò)誤
匹配所需的資歷水平
查找和區(qū)分可能具有不同表現(xiàn)形式和行業(yè)術(shù)語的相關(guān)工作(例如,查詢「server」(服務(wù)員)會(huì)返回「barista」(咖啡師)」,而不是「network specialist(網(wǎng)絡(luò)專家)」; 或者在查詢「biz dev「時(shí),返回「engagement specialist」
處理首字母縮略詞,例如查詢「HR」返回人力資源助理
匹配不同的位置描述
IBM Watson 及其他
之前描述的所有三種平臺(tái)都提供了相當(dāng)詳盡的文檔,可以從頭開始啟動(dòng)機(jī)器學(xué)習(xí)項(xiàng)目的實(shí)驗(yàn),并在企業(yè)基礎(chǔ)架構(gòu)中部署了訓(xùn)練好的模型。還有一些其他的 ML-as-a-service 解決方案來自初創(chuàng)公司,并受到 PredicSis 和 BigML 等數(shù)據(jù)科學(xué)家的推崇。
那么 IBM Watson Analytics 怎么樣?
IBM Watson Analytics 還不是一個(gè)用于商業(yè)預(yù)測的完整機(jī)器學(xué)習(xí)平臺(tái)。目前,Watson 的優(yōu)勢是可視化數(shù)據(jù),以及描述不同數(shù)據(jù)之間的相互作用。它還有類似于 Google 提供的視覺識(shí)別服務(wù)和一些其他的認(rèn)知服務(wù)(API)。Watson 目前的問題是,該系統(tǒng)只能執(zhí)行很少的一些相對(duì)簡單的非專業(yè)的任務(wù),涉及到定制機(jī)器學(xué)習(xí)方法或者預(yù)測任務(wù)時(shí),IBM Watson 就無能為力了。
數(shù)據(jù)存儲(chǔ)
如果團(tuán)隊(duì)中的數(shù)據(jù)科學(xué)家有足夠的知識(shí)來操作流行的存儲(chǔ)解決方案,那么尋找合適的存儲(chǔ)方式來收集數(shù)據(jù),并通過機(jī)器學(xué)習(xí)進(jìn)一步處理數(shù)據(jù)現(xiàn)在已經(jīng)不再是一個(gè)很大的挑戰(zhàn)。
在大多數(shù)情況下,機(jī)器學(xué)習(xí)需要將 SQL 和 NoSQL 兩種數(shù)據(jù)庫方案相結(jié)合,Hadoop 分布式文件系統(tǒng), Cassandra, Amazon S3 和 Redshift 等許多可靠的解決方案已經(jīng)支持這種存儲(chǔ)方案。因此,當(dāng)開始機(jī)器學(xué)習(xí)項(xiàng)目時(shí),數(shù)據(jù)存儲(chǔ)并不是一個(gè)難以解決的障礙。如果你打算使用 ML-as-a-service 系統(tǒng),最直接的方法就是,選擇一個(gè)能同時(shí)提供機(jī)器學(xué)習(xí)算法和存儲(chǔ)任務(wù)的供應(yīng)商,這樣能夠減少很多花在配置數(shù)據(jù)庫上的時(shí)間。
但是,有些平臺(tái)也可以輕松與其他存儲(chǔ)供應(yīng)商集成。例如,雖然 Azure ML 主要與微軟產(chǎn)品 Azure SQL, Azure Table,Azure Blob 集成,但是它也支持 Hadoop 和一些其他的數(shù)據(jù)源選項(xiàng)。這包括從桌面或者內(nèi)部服務(wù)器直接上傳數(shù)據(jù)。如果你的機(jī)器學(xué)習(xí)工作流程很多樣化,并且數(shù)據(jù)來自多個(gè)來源,如何集成多個(gè)數(shù)據(jù)源可能是一個(gè)挑戰(zhàn)。
建模和計(jì)算
我們已經(jīng)討論了主要提供計(jì)算能力的 ML-as-a-service 解決方案。但是如果模型學(xué)習(xí)的過程需要在公司內(nèi)部執(zhí)行,計(jì)算能力的挑戰(zhàn)遲早會(huì)出現(xiàn)。機(jī)器學(xué)習(xí)在大多數(shù)情況下需要很多計(jì)算能力。即使大數(shù)據(jù)時(shí)代已經(jīng)來臨,數(shù)據(jù)采樣(收集數(shù)據(jù)集)仍然是一個(gè)重要的問題。
雖然使用一個(gè)筆記本電腦就可以完成模型的構(gòu)建,但是要用大型數(shù)據(jù)集來訓(xùn)練模型,復(fù)雜模型需要更強(qiáng)大的硬件。數(shù)據(jù)預(yù)處理也是如此,在常規(guī)的辦公機(jī)器上可能需要幾天的時(shí)間。在截止日期緊張的情況下,(有些模型需要每周或者每天更換,或者需要重新訓(xùn)練),這根本是不可能的。有三種可行的方法來解決這個(gè)問題:
加速硬件。如果執(zhí)行相對(duì)簡單的任務(wù),并且不使用大數(shù)據(jù)訓(xùn)練模型,請(qǐng)使用固態(tài)硬盤(SSD)執(zhí)行數(shù)據(jù)準(zhǔn)備或分析等任務(wù)??梢允褂靡粋€(gè)或多個(gè)圖形處理單元(GPU)解決計(jì)算密集型操作。許多編程庫支持使用高級(jí)語言(例如 Python)控制 GPU 處理模型。
考慮分布式計(jì)算。分布式計(jì)算意味著有多臺(tái)機(jī)器分別處理任務(wù)。但是這種方法并不適用于所有的機(jī)器學(xué)習(xí)技術(shù)。
使用云計(jì)算實(shí)現(xiàn)可擴(kuò)展化。如果你的模型需要處理高峰值客戶相關(guān)數(shù)據(jù),使用云計(jì)算可以快速實(shí)現(xiàn)可擴(kuò)展化。對(duì)于需要內(nèi)部處理數(shù)據(jù)的公司,私有云的基礎(chǔ)架構(gòu)是值得考慮的。
下一步
在如此多的選擇下,很容易迷失在各種可用的解決方案中。它們?cè)谒惴ㄉ嫌兴煌?,所需的技能也不同,所以最終處理任務(wù)的結(jié)果也會(huì)不同。
對(duì)于這個(gè)年輕的市場,這種情況是非常常見的。即使是我們前面談到的三個(gè)領(lǐng)先解決方案,也不是完全處于相互競爭狀態(tài)。更重要的是,服務(wù)變化的速度常常出人意料。很可能當(dāng)你堅(jiān)持使用一個(gè)供應(yīng)商的解決方案時(shí),另一個(gè)供應(yīng)商突然推出一些符合你業(yè)務(wù)需求的服務(wù)。
正確的做法是盡可能早的想清楚你打算用機(jī)器學(xué)習(xí)實(shí)現(xiàn)什么。這其實(shí)并不容易。如果你缺乏數(shù)據(jù)科學(xué)或者專業(yè)領(lǐng)域指示,那么在數(shù)據(jù)科學(xué)和商業(yè)價(jià)值之間的橋接就非常棘手。這通常是將一般化問題簡化為單一屬性的問題。無論是價(jià)格預(yù)測還是其他的數(shù)值,確定對(duì)象的類別還是將對(duì)象分組,一旦找到需要解決的屬性,決定供應(yīng)商并選擇其所提供的服務(wù)就變得簡單起來了。
DCVC 創(chuàng)始合伙人 Bradford Cross 認(rèn)為,ML-as-a-Services 不是一個(gè)可行的商業(yè)模型。根據(jù)他的說法,這個(gè)模式定位在了使用開源產(chǎn)品的數(shù)據(jù)科學(xué)家和想要購買全套服務(wù)的商業(yè)高管之間的空白處。然而,目前業(yè)界似乎正在克服該模式長期存在的問題,最終我們會(huì)看到更多公司轉(zhuǎn)向使用 ML-as-a-service 這種商業(yè)模式,以避免招聘工資高昂的數(shù)據(jù)科學(xué)家,并仍然能夠使用足夠多功能的數(shù)據(jù)工具。
Via kdnuggets
雷鋒網(wǎng) AI 研習(xí)社編譯整理
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。