- 數據自助服務實踐指南:數據開放與洞察提效
- (美)桑迪普·烏坦坎達尼
- 977字
- 2022-05-20 19:18:50
4.2 最小化特征處理耗時
特征處理耗時包括創建和管理特征所花費的時間。現在,花費的時間大致分為兩類:特征計算和特征服務。特征計算涉及用于生成訓練和推理特征的數據管道。特征服務的重點是在訓練過程中為大量數據集提供服務,為模型推理提供低延遲的特征值,并使數據用戶能夠方便地跨特征搜索和協作。
4.2.1 特征計算
特征計算是將原始數據轉化為特征的過程。這涉及構建數據管道,用于生成特征的歷史訓練值以及用于模型推理的當前特征值。訓練數據集需要不斷地用更新的樣本進行回填。特征計算有兩個關鍵的挑戰。
首先,管理管道叢林的復雜性。管道從源數據存儲中提取數據并將其轉換為特征。這些管道有多個轉換,需要處理生產中出現的緊急情況,在大規模生產中管理這些管道是一場噩夢。同時,特征數據樣本的數量也在不斷增長,特別是對于深度學習模型而言,在大規模生產中管理大型數據集需要分布式編程來優化擴展性和性能。總的來說,構建和管理數據管道通常是模型創建中最耗時的部分之一。
其次,為特定的特征編寫單獨的管道來訓練和推理。這是因為有不同的時效要求,模型訓練通常是面向批處理的,而模型推理是流式的,要求近實時的延遲。訓練和推理管道計算中的差異是導致模型準確率問題的關鍵原因,也是在大規模生產中進行調試的噩夢。
4.2.2 特征服務
特征服務包括為訓練提供大量特征值,以及為推理提供較低的延遲。它要求特征易于發現,并易于與其他現有特征進行比較和分析。在典型的大規模部署場景下,特征服務需要支持數千個模型推理。其中關鍵挑戰是性能擴展,因為在原型開發過程中,數據用戶要在數百種模型排列中進行快速探索,避免探索重復的特征也是關鍵挑戰之一。
一個常見的問題是,模型在訓練數據集上表現良好,但在生產中表現不佳。雖然這可能有多種原因,但關鍵問題是標簽泄露(label leakage)。標簽泄露是由于為模型特征提供了不正確的時間點值。找到正確的特征值很棘手,為了說明這一點,Zanoyan等人(https://oreil.ly/casp-)以圖4-3為例展示了訓練中選擇的特征值,用于在T1時刻進行預測。圖中有三個特征顯示:F1、F2、F3。對于預測P1,需要分別為訓練特征F1、F2、F3選擇特征值7、3、8。相反,如果使用預測后的特征值(如F1的值4),由于該值代表了預測的潛在結果,在訓練時錯誤地表示了高相關性,因此會出現特征泄露。

圖4-3:在預測P1的訓練過程中,為特征F1、F2、F3選擇正確的時間點值。實際結果標簽L用于訓練監督機器學習模型