IBM 及其他 AI 服務 – Google, Microsoft 和 Amazon 機器學習比較系列 (五)
在前幾篇文章,我們為 Google, Amazon, Microsoft 的機器學習服務都提供了相當詳細的說明,來啟動機器學習實作,並在公司基礎架構中部署經過訓練的模型。還有一些其他來自新創公司的 ML-as-a-service 解決方案,並受到 PredicSis 和 BigML 等數據科學家的認可。那知名的 IBM Watson Analytics 呢?
對於商業預測,IBM Watson Analytics 還不是一個完整的機器學習平台。目前, Watson 的優勢是可視化數據並描述不同的數值如何相互作用。它也具有類似於 Google提供 的 視覺識別服務 以及 一系列其他認知服務 (APIs)。Watson 目前的問題是,該系統執行的是非專業人員易於操作的狹窄和相對簡單的任務。定制機器學習或預測職責時,IBM Watson 的發展還不夠完全。
資料儲存 (Data storage)
如果您的數據科學家有足夠的知識來操作流行的存儲解決方案,那麼尋找適合收集資料的儲存空間並通過機器學習進一步處理數據不再是一個巨大的挑戰。
在大多數情況下,機器學習需要 SQL 和 NoSQL 資料庫,這些資料庫受到許多已發布和可信的解決方案支持,像 Hadoop 分佈式文件系統 (HDFS)、Cassandra、Amazon S3 和 Redshift 等。對於在開始機器學習之前已使用強大儲存系統的組織,將不會是障礙。如果您打算使用一個 ML-as-a-service 系統,最直接的方法是選擇同一個供應商提供的儲存資料庫和機器學習服務,這將減少需多繁瑣設定所花費的時間成本。
然而,其中一些平台可以輕鬆整合其他資料庫。例如,Azure ML 主要可整合 Microsoft 產品 (Azure SQL,Azure Table,Azure Blob),也支持 Hadoop 和其他資料來源 (包括從桌面或內部伺服器直接上傳數據),如果您的機器學習工作流程多樣化並且資料有多個來源,將可能會出現這些挑戰。
建模及運算 (Modeling and computing)
我們已經討論了主要提供計算能力的 ML-as-a-service 解決方案。但是如果學習工作流程是在內部完成的,計算方面的挑戰遲早會出現。機器學習在大多數情況下需要大量的計算能力,不論大數據時代是否到來,數據抽樣 (製作子集) 仍是一個相關的實踐。雖然模型的原型可以在筆記型電腦上完成,但使用大型數據集來訓練複雜模型需要投入更強大的硬體設備。數據預處理也是如此,若在一般的辦公室電腦上運算可能需要幾天的時間。在截止日期敏感的環境中 – 有時模型會每週或每天進行修改及再訓練,這顯然不合適。下面有三種可行的方法來處理這些運算程序,同時保持高效能:
1. 硬體加速:如果您執行相對簡單的任務,並且不將模型應用於大數據,則可以使用固態硬碟 (SSD) 執行資料準備或使用分析軟體等任務。可以用一個或多個圖形處理單元 (GPU) 來解決計算密集型操作時的成本。許多參考套件可以讓 GPU 處理運算,甚至可使用於 Python 等高級語言編寫的模型。
2. 考慮分散式運算:分散式運算意味著多台機器的任務分配。但是,這種方法不適用於所有的機器學習技術。
3. 使用雲端運算實現可擴充性:如果您的模型需處理具有尖峰時段的高密度客戶相關數據,雲端運算服務允許快速的擴充來分散系統負擔。對於只需要內部部署數據的公司而言,可以考慮使用私有雲基礎架構。
現在聯繫 GCP專門家,瞭解更多 GCP 加值服務!
總結
在各種可用的解決方案中很容易迷失方向。它們在演算法、所需技術、最終的任務上有所不同。這種情況對於這個新興市場是相當普遍的,因為即使是三個我們談到的主流解決方案也不是完全相互競爭的。更重要的是,變化的速度會令人措手不及。很有可能你會選擇了一個供應商,而另一個供應商會突然推出一些符合你業務需求的服務。
正確的做法是盡早地闡明你打算用機器學習來實現什麼,當然這並不容易。如果您缺乏數據科學領域專業知識,那麼在數據科學和業務價值之間搭建橋樑就非常棘手。這通常是將一般問題簡化為單一屬性的問題。無論是價格預測還是其他數值,目標為單一類別或將目標分成多個組,一旦找到該屬性,決定供應商並選擇所提議的內容將會更簡單。
DCVC 創始合夥人 Bradford Cross 認為 ML-as-a-services 不是一個可行的商業模式。他說道:「問題出在選擇使用開源產品的數據科學家和將要購買工具解決任務的高階主管之間的差距。」,然而目前業界似乎正在