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





























