Salesforce開源了每天用於執行超過30億次推測的結構化機器學習函式庫TransmogrifAI(發音為trans-mog-ri-phi),TransmogrifAI已經大規模的使用在產品服務上,作為建構人工智慧平臺Einstein的基礎,也幫助Salesforce的資料科學家,為客戶生產客製化模型的時間,可以從數周降至數小時。

儘管在過去十年機器學習已經有了巨大的進步,但建構出機器學習系統仍然不容易,Salesforce Einstein資料據科學資深總監Shubha Nabar提到,企業在為消費者建構機器學習產品時,傾向解決簡單的使用者案例或使用容易取得的資料集,一旦想使用更具多樣性的資料或是案例,則情況就變得複雜有挑戰性。Salesforce的客戶希望機器學習提供的服務,包括可以預測客戶流失、銷售預測、設備故障、特價接受程度,甚至是電子郵件點擊的轉換率,也就是說Salesforce需要為不同客戶建立不同的機器學習模型,才能符合這樣的客戶需求。

訓練全域的機器學習模型對Salesforce來說沒有意義,每個客戶的資料都是獨一無二的,具有不同模式、樣貌以及業務流程造成的偏差,要讓客戶可以真正得到機器學習的幫助,必須針對數千個不同案例,訓練客製化機器學習模型。Shubha Nabar表示,大多數自動化機器學習解決方案,要不是僅專注解決機器學習流程中的一部分,不然就是專為圖形、語音或是自然語言等非結構化同質資料設計,但Salesforce需要的是能夠快速產生大規模異質結構化資料的高效能模型解決方案,於是Salesforce開發了自家的機器學習函式庫TransmogrifAI。

為了要產生可以適用不同客戶的案例的機器學習模型,TransmogrifAI有許多特別的設計。TransmogrifAI是基於Scala和SparkML的函式庫,目標是讓資料科學家只要輸入幾行程式碼,就能執行資料清理、特徵工程或模型選擇等工作,獲得一個高性能的模型,還能進一步探索或是迭代出更好的模型。

SparkML工作管線使用了Transformer的抽象,以及用來轉換TransmogrifAI專用的資料結構DataFrame的Estimator,而TransmogrifAI則建立在這些抽象基礎之上。在TransmogrifAI中,模型的特徵本質就是一個指向DataFrame的類別安全指標,擁有所有訊息,包含名稱、資料類型或是衍生的承襲資訊。

特徵是TransmogrifAI開發人員主要操作的Primitive,操作或是定義特徵像是程式開發使用變數一樣,而特徵可以分享並且重複使用,另外,TransmogrifAI也能讓開發人員可以輕鬆定義複雜的時間序列聚合資料。由於強類別帶來的類別安全,TransmogrifAI可以對整個機器學習流程,進行類別檢查,並盡可能及早抓出錯誤,而非等到運作工作管線一段時間後才發現。類別安全還可以提升機器學習工作流程,每個階段輸入與輸出的透明度,而這項好處可以大大降低訓練模型所需要的知識。

TransmogrifAI除了提供開箱即用的自動Estimator,對於需要更多控制的使用者,TransmogrifAI也具可高度客製化特性與彈性,每個Estimator都能參數化,使用者可以直接設置或是調整參數,另外也可以在機器學習工作管線中,使用自定義的Transformer和Estimator,而為了要加速資料科學家的工作效率,這些自定義的工作都不複雜,Shubha Nabar提到,客製化Transformer就像定義Lambda表示式一樣容易。

TransmogrifAI在Salesforce中大量採用,而且也劇烈改變了內部的工作流程,Shubha Nabar表示,Salesforce的資料科學家可以用最少的手動調整來產出數千種模型,並將這些訓練模型的周期從數周縮短至數小時。


Advertisement

更多 iThome相關內容