今天,我們激動地宣布磚特性的商店一般可用(GA)!在這篇博客文章中,我們探索了第一個與端到端數據和MLOps平台共同設計的特征存儲Databricks是如何為數據團隊提供定義、探索和重用機器學習特征的能力,構建訓練數據集,檢索批量推理的特征值,並向低延遲在線商店發布特征。Beplay体育安卓版本
快速回顧:什麼是特性?
在機器學習中,特征是與做出預測相關的屬性或可測量的特征。例如,在一個試圖預測高速公路上交通模式的機器學習模型中,一天中的時間、一周中的一天和汽車的吞吐量都可以被認為是特征。然而,真實世界的數據需要大量的預處理、處理和轉換才能用於機器學習應用程序。例如,在將數據作為特性輸入到模型中之前,您可能希望刪除高度相關的輸入數據或分析語言。使原始數據具備機器學習能力的過程被稱為特征工程。
特征工程的挑戰
功能工程是複雜和耗時的。隨著組織在更多的機器學習模型上構建和迭代,發現、共享和重用已經構建的功能變得越來越重要。良好的特性重用實踐可以為數據團隊節省時間。但是,一旦功能被重用,密切跟蹤它們在現實世界中的性能是至關重要的。在訓練中使用的特征計算常常會與生產中使用的特征計算相偏離,從而導致預測出現偏差,導致模型質量下降。建立特性沿襲也是至關重要的——跟蹤哪些模型使用了哪些特性以及進入這些特性的數據。
我們的許多客戶告訴我們,beplay体育app下载地址一個好的特性開發平台可以顯著地加速模型開發時間,消除重複的數據管道,提高數據質量,並有助於數據治理。Beplay体育安卓版本
數據倉庫
作為同類中的第一個,Databricks Feature Store是與流行的開源框架共同設計的三角洲湖而且MLflow.Delta Lake作為功能存儲的開放數據層,而MLflow格式使得在模型包中封裝與功能存儲的交互成為可能,從而簡化了模型的部署和版本控製。基於這些獨特的差異,Databricks Feature Store提供了以下主要優勢:
- 發現並重用您選擇的工具中的特性: Databricks特性存儲UI幫助跨組織的數據科學團隊從彼此的工作中受益,並減少特性重複。數據倉庫中的特性表被實現為Delta表。這個開放數據lakehouse體係結構使組織能夠將特性存儲部署為所有特性的中心樞紐,開放並可由Databricks工作區和第三方工具安全地訪問。
- 消除在線/離線傾斜通過將特征信息打包到MLflow模型中,Databricks feature Store在模型生命周期的所有階段(在模型訓練、批處理和在線推理期間)自動進行特征查找。這確保了模型推斷和模型訓練中使用的特征經過了完全相同的轉換,消除了實時模型服務的常見故障模式。
- 自動化的血統追蹤:作為統一數據和AI平台的集成組件,Databricks Feature Store的獨特定位是捕捉完整的譜係圖Beplay体育安卓版本:從特征的數據源開始,到使用它們的模型和推斷端點。沿襲圖還包括在每個點使用的代碼版本。這促進了強大的基於血統的發現和治理。數據科學家可以找到他們感興趣的原始數據已經計算出來的特征。數據工程師可以根據任何活動模型是否消耗特性來確定特性是否可以更新或刪除。
beplay体育app下载地址顧客在湖邊小屋的特色商店贏得了勝利
數以百計的客戶已經部署了beplay体育app下载地址Databricks功能商店,以增強他們生產的機器學習過程。對於客戶beplay体育app下载地址,例如通過,這使得開發人員的生產力提高了30%,數據處理成本降低了25%以上。
- 通過: Databricks Feature Store使我們能夠創建一個健壯穩定的環境,用於創建和重用模型使用的特性。這使得我們的數據科學家和分析師的工作效率更高,因為他們不再需要浪費時間從頭開始將數據轉換為功能。”
- Cezar Steinz, Via MLOps經理 - 百威英博:“Databricks功能商店幫助我們從單一、不透明的機器學習管道過渡到靈活、模塊化的管道,促進了我們數據資產的可重用性和透明度。它幫助我們快速擴展數據科學能力,並將數據工程師和分析師與共同來源的特征工程和數據轉換結合起來。”
- Christopher Stone - Anheuser-Busch InBev數據工程總監
有什麼新鮮事嗎?
GA版本還包括各種令人興奮的新功能。
時間序列特性表和時間點連接
在特性存儲中存儲的最常見的數據類型之一是時間序列數據。它也是需要最仔細處理的數據類型。隨著時間維度的變化,連接中的數據點稍有偏差,就會導致時間序列未來的數據泄漏,從而以不總是容易檢測到的方式侵蝕模型性能。手動編程連接具有不同滑動時間窗口的功能需要高度關注和細致的細節。
Databricks Feature Store通過提供對時間序列數據的內置支持來消除這種負擔。數據科學家可以簡單地指出功能表中的哪一列是時間維度,而功能商店api負責其餘部分。在模型訓練中,數據集將使用一組正確的AS-OF連接來構建。在批處理推理中,打包的MLflow模型將執行時間點查找。在在線服務中,功能商店將優化存儲,隻發布時間序列的最新值,並自動終止舊值。
讓我們來演示使用產品推薦模型的新feature Store api從時間序列特征表創建訓練數據集是多麼容易。首先,我們將從PySpark創建一個時間序列特性表user_features_dataframe
與event_time
列作為時間維度。
從磚。feature_store import FeatureStoreClient fs = FeatureStoreClient() fs。create_table (name = " advertisement_team。timestamp_keys="event_time", features_df=user_features_dataframe,)
接下來,我們將通過連接來自的訓練數據創建一個訓練數據集raw_clickstream
具有時間序列特征表中的2個特征的數據框架。
從磚。feature_store import FeatureLookup feature_lookup = [FeatureLookup(table_name="advertisement_team. cfg ")User_features ", feature_names=["purchases_30d", "purchases_1d"], lookup_key="user_id", timestamp_lookup_key=" ad_印象_time")] training_dataset = fs。Create_training_set (raw_clickstream, feature_lookup =feature_lookup,標簽="ad_clicked",)
的training_dataset
包含保證正確行為的優化AS-OF連接。這就是使用Databricks Feature Store api創建訓練數據集和使用任何ML框架開始訓練模型所需要的一切。
NoSQL在線商店
(AWS)
除了各種SQL數據庫已經作為在線商店提供特性服務外,Databricks特性商店現在還支持AWS DynamoDB。對於發布時間序列特性表,您可以將其發布到DynamoDB,並設置生存時間,這樣過時的特性就會自動從在線商店中過期。很快就會支持Azure Cosmos DB。
數據管道運行狀況監視
Feature Store UI監視生成特性表的數據管道的狀態,並在運行過時時通知用戶。這有助於防止中斷,並為數據科學家提供關於他們在特性存儲中找到的特性質量的更好見解。
了解有關數據倉庫的更多信息
用這本電子書更熟悉功能商店:功能商店綜合指南
試一試吧!檢查磚機器學習在你選擇的雲上免費試用,以獲得功能商店
深入了解Databricks功能商店文檔
與我們的客戶Via和功能商店的技術主管一起查看這個很棒的用例:關於功能商店
學分
我們要感謝從創意到GA的幾個人的貢獻:Clemens Mewald, Paul Ogilvie, Avesh Singh, Aakrati Talati, Traun Leyden, Zhidong Qu, Nina Hu, Coco Ouyang, Justin Wei, Divya Gupta, Carol Sun, Tyler Townley, Andrea Kress。我們也要感謝邢晨和Patrick Wendell在這段旅程中的支持。