機(jī)器學(xué)習(xí)的樂趣與辛勞
很少有人能夠發(fā)現(xiàn)機(jī)器學(xué)習(xí)在企業(yè)應(yīng)用中的巨大潛能。我非常幸運(yùn)地在***份工作的前幾個(gè)月里,就感受到了機(jī)器學(xué)習(xí)所帶來(lái)的潛在利益。1995年,信用卡發(fā)行方開始使用神經(jīng)網(wǎng)絡(luò)模型進(jìn)行信用卡詐騙的實(shí)時(shí)監(jiān)測(cè)。一旦信用卡被使用,交易數(shù)據(jù)則會(huì)從銷售網(wǎng)點(diǎn)系統(tǒng)傳至信用卡發(fā)行方所授權(quán)的系統(tǒng),在該系統(tǒng)內(nèi),利用神經(jīng)網(wǎng)絡(luò)模型進(jìn)行欺詐概率的判斷。如果判斷出欺詐的可能性非常高,則會(huì)立即拒絕交易。我是開發(fā)此種模型的專家,我所交付的***批模型中,有些就應(yīng)用于南美銀行。模型部署好的***天,就識(shí)別出了之前未探測(cè)到的詐騙信息,并已達(dá)數(shù)百萬(wàn)美元。這可真是令人大開眼界啊。從那時(shí)候開始,我便意識(shí)到了機(jī)器學(xué)習(xí)在各種應(yīng)用中的巨大價(jià)值,例如,需求預(yù)測(cè),故障和異常檢測(cè),廣告定向,網(wǎng)絡(luò)評(píng)價(jià)以及類似于科塔娜的虛擬助手等。通過(guò)將機(jī)器學(xué)習(xí)技術(shù)嵌入至企業(yè)系統(tǒng)中,可以改善客戶體驗(yàn),降低發(fā)生系統(tǒng)性故障的風(fēng)險(xiǎn),增加收入以及能夠顯著地節(jié)約成本。
但是,建立機(jī)器學(xué)習(xí)系統(tǒng)是一個(gè)漫長(zhǎng),耗時(shí)而且極易出錯(cuò)的過(guò)程。即使現(xiàn)如今我們能夠處理分析非常龐大的數(shù)據(jù)集,并且能夠以較高的交易速率進(jìn)行部署,但仍有幾個(gè)瓶頸問(wèn)題有待解決:
- 機(jī)器學(xué)習(xí)系統(tǒng)的開發(fā)需要精深的專業(yè)知識(shí)。雖然機(jī)器學(xué)習(xí)的核心原理已經(jīng)廣為人知,但杰出的數(shù)據(jù)科學(xué)家們?nèi)韵穸昵皠偣ぷ髂前阏J(rèn)真刻苦地進(jìn)行著研究。
- 從業(yè)者們不得不使用各種工具進(jìn)行數(shù)據(jù)的收集,清理,整合和分析。這些工具往往入門難,并且綜合性差。部署和維護(hù)商業(yè)性機(jī)器學(xué)習(xí)軟件的成本也是較高的。
- 建立與驗(yàn)證模型需要大量的實(shí)驗(yàn)。數(shù)據(jù)專家們往往受限于計(jì)算機(jī)的性能和存儲(chǔ)容量,因?yàn)樗麄冃枰\(yùn)行大量的實(shí)驗(yàn)數(shù)據(jù),而且還會(huì)產(chǎn)生大量的新數(shù)據(jù)。
- 軟件工具不支持組織實(shí)驗(yàn)運(yùn)行的可擴(kuò)展性試驗(yàn)與方法。團(tuán)隊(duì)合作的實(shí)驗(yàn),以及變量和腳本,都是通過(guò)人工進(jìn)行共享,點(diǎn)對(duì)點(diǎn)的。所以,評(píng)估和調(diào)試統(tǒng)計(jì)型模型仍是一大挑戰(zhàn)。
數(shù)據(jù)專家們進(jìn)行機(jī)器學(xué)習(xí)技術(shù)的實(shí)驗(yàn)時(shí),能夠在此種限制條件下編寫定制程序,完成無(wú)差別的重任。但是部署階段則非常困難。將機(jī)器學(xué)習(xí)模型部署到一個(gè)關(guān)鍵性的商務(wù)程序中,例如實(shí)時(shí)詐騙防護(hù),或者廣告定向等,都需要非常復(fù)雜的工程技術(shù):
- 比較具有代表性的就是,如今線下開發(fā)的機(jī)器學(xué)習(xí)模型需要用C++,C#或者Java等開發(fā)語(yǔ)言重新實(shí)現(xiàn)。
- 交易數(shù)據(jù)通道需要重新探究。線下模型中的數(shù)據(jù)轉(zhuǎn)化和變量都需要被重新編碼和編譯。
- 重新實(shí)現(xiàn)必然會(huì)產(chǎn)生故障,需要驗(yàn)證模型是否能夠如最初設(shè)計(jì)的運(yùn)行。
- 必須為模型建立一個(gè)帶有合適監(jiān)測(cè)器,權(quán)值和注冊(cè)信息的定制容器。
- 高級(jí)部署需要A/B測(cè)試,用以并行評(píng)估可擇模型。還需要一個(gè)控制模型進(jìn)出的開關(guān)機(jī)制,***可以避免重新編譯和部署整個(gè)應(yīng)用。
- 必須通過(guò)統(tǒng)計(jì)測(cè)試,驗(yàn)證候選版本的產(chǎn)品模型能如原始設(shè)計(jì)一樣工作。
- 必須記錄系統(tǒng)所作出的自動(dòng)化決策,以及商務(wù)產(chǎn)出,以便于改善機(jī)器學(xué)習(xí)模型的監(jiān)測(cè)功能。
- 必須具有高可用性的服務(wù),以及端點(diǎn)和端點(diǎn)周圍區(qū)域的災(zāi)難恢復(fù)服務(wù)。
當(dāng)服務(wù)需要滿足更高的交易速率以及/或者低延遲時(shí),則需要更新硬件,還需將服務(wù)部署至新機(jī)器并向外擴(kuò)展。
所有的這些都需要經(jīng)過(guò)比較耗時(shí)并工程較為密集的步驟。人力和物力的消耗也比較大。端到端的工程建設(shè),以及機(jī)器學(xué)習(xí)技術(shù)應(yīng)用產(chǎn)品的維護(hù),則需要水平較高的技術(shù)團(tuán)隊(duì),但很少有組織或企業(yè)能夠建立并維持這種團(tuán)隊(duì)。
微軟機(jī)器學(xué)習(xí)云平臺(tái)Azure則可以解決這些問(wèn)題:
- Azure提供的是全托管式的云服務(wù),不需要安裝軟件,也沒有硬件需要管理,更無(wú)需考慮系統(tǒng)版本和開發(fā)環(huán)境等。
- 只需要使用瀏覽器,數(shù)據(jù)專家們則可以登錄Azure,開始機(jī)器學(xué)習(xí)模型的開發(fā),沒有地域以及設(shè)備的限制。Azure幾乎可以存儲(chǔ)***量的文件數(shù)據(jù)。
- ML Studio,是一個(gè)機(jī)器學(xué)習(xí)技術(shù)的整合性開發(fā)環(huán)境。可以根據(jù)簡(jiǎn)單的數(shù)據(jù)流圖建立實(shí)驗(yàn)數(shù)據(jù),具有簡(jiǎn)便的模板拖拽和連接功能。數(shù)據(jù)專家避免了大量的重復(fù)性勞動(dòng),可以集中精力于實(shí)驗(yàn)的設(shè)計(jì)和迭代。
- 提供許多實(shí)驗(yàn)范本,入門學(xué)習(xí)較為方便簡(jiǎn)單。
- 內(nèi)置許多由微軟研究院開發(fā)的多種優(yōu)秀算法,支持自定義重新編碼 。Azure上有超過(guò)350種開源R包,可以安全地使用。
- 數(shù)據(jù)流圖具有可自動(dòng)并行運(yùn)行的并行通道,專家們可以執(zhí)行復(fù)雜的實(shí)驗(yàn),無(wú)計(jì)算約束地進(jìn)行并行比較。
- 實(shí)驗(yàn)程序可以隨時(shí)分享,讓其他人能夠接著完成未完成的工作。
Azure 易于云上開展大規(guī)模的產(chǎn)品部署。預(yù)先測(cè)試過(guò)的機(jī)器學(xué)習(xí)模型能夠與評(píng)分工作流合并,僅僅幾步操作,就能生成一個(gè)名為REST的新型云托管API(應(yīng)用程序編程接口)。其具有低延遲響應(yīng)的特點(diǎn),并且無(wú)需重新實(shí)現(xiàn),也沒有端口,這大大優(yōu)于傳統(tǒng)的數(shù)據(jù)分析軟件。互聯(lián)網(wǎng)上的任何信息,無(wú)論是來(lái)自筆記本,網(wǎng)站,還是移動(dòng)設(shè)備,可穿戴設(shè)備,它們都會(huì)被發(fā)送至這個(gè)新生成的API,并得到預(yù)測(cè)結(jié)果。例如,一位數(shù)據(jù)專家創(chuàng)建了一個(gè)詐騙監(jiān)測(cè)API,輸入為交易信息,輸出為低/中 /高級(jí)別的風(fēng)險(xiǎn)指示。此種API會(huì)在云端激活,隨時(shí)準(zhǔn)備好接受調(diào)用。API后端具有可伸縮性,所以,當(dāng)交易頻率起伏較大時(shí),Azure的服務(wù)器能夠自行處理負(fù)載量。實(shí)際上,Azure并沒有限制數(shù)據(jù)專家們創(chuàng)建和部署的機(jī)器學(xué)習(xí)API的數(shù)量,而且,這一切都獨(dú)立于其設(shè)計(jì)的。對(duì)于工程設(shè)計(jì)和信息技術(shù)來(lái)說(shuō),通過(guò)使用那些REST API,整合一個(gè)新的機(jī)器學(xué)習(xí)模型,以及在部署之前對(duì)多重模型進(jìn)行并行測(cè)試,都變得較為容易了。而且還具有明顯地高靈活性,低成本的特點(diǎn)。Azure在產(chǎn)品中提供了一些調(diào)整和管理API的機(jī)制,包括測(cè)量可用性,延遲和性能的機(jī)制。對(duì)于企業(yè)來(lái)說(shuō),更快,更低成本,更簡(jiǎn)易地建立一套穩(wěn)健,高可用性和高可靠性的機(jī)器學(xué)習(xí)系統(tǒng)會(huì)帶來(lái)巨大的商業(yè)利益。
我們相信Azure帶來(lái)了行業(yè)內(nèi)的巨大改變。它使得機(jī)器學(xué)習(xí)技術(shù)在初創(chuàng)企業(yè)和大企業(yè)中都具有不可思議的潛能。如今,許多原本只能復(fù)雜業(yè)務(wù)使用的性能,初創(chuàng)公司同樣能使用。大企業(yè)則能挖掘出其大數(shù)據(jù)中的潛在價(jià)值,從而提高效率,獲取巨大收益。最重要的是,快節(jié)奏地迭代和實(shí)驗(yàn)伴隨著快速創(chuàng)新,為我們周圍所有智能云端設(shè)備的發(fā)展做好了準(zhǔn)備。
在我事業(yè)期初的1995年,建立和部署一套信用卡詐騙監(jiān)測(cè)系統(tǒng)需要一個(gè)龐大的組織才能完成。如今,借助于如Azure這類的工具和云計(jì)算的力量,僅一位杰出的數(shù)據(jù)專家就能完成相同的任務(wù)了。