Google雲端與GO-JEK合作,發布了開源特徵商店Feast,供開發團隊管理、儲存和探索機器學習專案相關的特徵,目的是要透過可擴展且統一的特徵儲存平臺,讓機器學習開發團隊可以定義和發布特徵,進而促進組織內特徵探索和重複使用。

特徵資料是關於領域實體(Domain Entity)的訊號,像是司機實體可以取得每日出車計數的特徵,相關的特徵還有距離、目的地以及一天的時間,通常一個機器學習模型會使用多重特徵。Google提到,在大型的團隊中,特徵在不同的專案可能以不同的方式維護和提供,而這將導致基礎架構的複雜化。

Google列舉了組織在維護機器學習特徵可能遇到的問題,第一個,特徵沒有被重複使用,相同的業務邏輯被重複開發了數次,浪費組織的資源,第二個,特徵定義不同,如此團隊並不能簡單的存取特徵檔案,而需要額外的工作進行轉換,

第三個問題,沒有統一特徵基礎架構,將難以提供最新的特徵。要以串流獲取和提供特徵,需要專門的基礎設施,而並非所有團隊具備相同的專業知識時,則團隊無法即時互相利用特徵資料。最後,還可能造成模型訓練與服務產生不一致,Google提到,訓練需要存取歷史資料,而預測模型需要最新的資料,當資料被孤立,使得需要為獨立系統使用個別的工具時,就有可能發生不一致的情況。

Google雲端與GO-JEK共同開發的Feast,以中央平臺解決這些問題,Feast標準化定義、儲存和存取特徵的方法,成為資料工程和機器學習之間的橋樑。Feast能以批次和串流的方式處理特徵資料,還可以管理特徵倉儲以及資料庫,以獲取歷史與最新資料。只要使用Python SDK,使用者就能從特徵倉儲產生訓練資料集,而且在模型部署完畢後,也能使用客戶端函式庫,從Feast Serving API存取特徵資料。

Feast提供集中式的特徵儲存,讓組織可以建構跨專案重複使用的特徵基礎,團隊間可以互相利用開發的特徵,隨著商店中增加的特徵,建制模型的成本便隨之降低。Feast能簡單地存取歷史特徵資料,方便產生用於訓練模型的特徵資料集,而這將能幫助使用者更專注模型建置,而非特徵工程的工作。

Feast強化了訓練和服務之間的一致性,使用Apache Beam管理批次或串流的資料源,為特徵倉儲和特徵商店提供一致的資料服務,使用者可以使用相同的識別符號,在特徵倉儲和特徵商店進行查詢。使用者的機器學習模型可以透過Feast Serving API,使用Feast的特徵資料,降低存取最新特徵資料的延遲,而且其特徵標準化的功能,讓使用者獲取有關特徵的文件、元資料和指標。

Feast和開源機器學習平臺Kubeflow緊密整合,能滿足機器學習生命周期中,對特徵儲存的需求,Feast可以在Kubeflow上部署,也可以與其他Kubeflow元件緊密協作,Feast提供了可以用於Jupyter Notebooksc和Kubeflow Pipelines的Python SDK。


Advertisement

更多 iThome相關內容