大規模預測:許多模型和分散式定型

本文是關於針對大量歷程記錄資料的定型預測模型。 如需在 AutoML 中定型預測模型的指示和範例,請參閱我們的設定 AutoML 以進行時間序列預測一文。

時間序列資料可能很大,因為資料中的序列數目和/或歷史觀察的數目。 許多模型和階層式時間序列,或 HTS,都是針對先前案例調整解決方案,其中資料是由大量的時間序列所組成。 在這些情況下,模型精確度和延展性有助於將資料分割成群組,並在群組上平行定型大量的獨立模型。 相反地,在某些情況下,一個或少數高容量模型則較佳。 分散式 DNN 定型以此案例為目標。 我們會在本文的其餘部分檢閱這些案例的概念。

許多模型

AutoML 中的許多模型元件可讓您平行定型及管理數百萬個模型。 例如,假設您有大量商店的歷史銷售資料。 您可以使用許多模型來啟動每個商店的平行 AutoML 定型作業,如下圖所示:

顯示 AutoML 許多模型工作流程的圖表。

許多模型定型元件會將 AutoML 的模型掃掠和選取項目單獨套用至此範例中的每個商店。 此模型獨立性可協助延展性,且可受益模型精確度,尤其是在商店銷售動態差異時。 不過,當有常見的銷售動態時,單一模型方法可能會產生更精確的預測。 如需該案例的相關詳細資訊,請參閱分散式 DNN 定型一節。

您可以設定資料分割、模型的 AutoML 設定,以及許多模型定型作業的平行處理原則程度。 如需範例,請在許多模型元件參閱我們的指南一節。

階層式時間序列預測

商務應用程式中的時間序列通常會有形成階層的巢狀屬性。 例如,地理位置和產品目錄屬性通常為巢狀。 假設階層具有兩個地理屬性、狀態和商店識別碼,以及兩個產品屬性、類別和 SKU:

階層式時間序列數據的範例數據表。

下圖提供此階層的相關說明:

範例數據的數據階層圖。

重要的是,分葉 (SKU) 層級的銷售數量會加總到狀態和總銷售層級的彙總銷售數量。 階層式預測方法會在預測階層的任何層級銷售的數量時,保留這些彙總屬性。 此屬性在階層方面的預測一致

AutoML 針對階層式時間序列 (HTS) 支援下列功能:

  • 定型階層的任何層級。 在某些情況下,分葉層級資料可能有雜訊,但彙總可能更適用於預測。
  • 擷取任何階層層級的點預測。 如果預測層級「低於」定型層級,則定型層級的預測會透過平均歷史比例歷史平均值的比例進行分類。 當預測層級「高於」定型層級時,定型層級預測會根據彙總結構加總。
  • 擷取定型層級或「低於」定型層級的分位數/概率預測。 目前的模型化功能支援概率預測的分類。

AutoML 中的 HTS 元件建置在許多模型之上,因此 HTS 會共用許多模型的可調整屬性。 如需範例,請在 HTS 元件參閱我們的指南一節。

分散式 DNN 訓練 (預覽)

重要

此功能目前處於公開預覽。 此預覽版本沒有服務等級協定,不建議用於處理生產工作負載。 可能不支援特定功能,或可能已經限制功能。

如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

具有大量歷史觀察和/或大量相關時間序列的資料案例,可能會受益於可調整的單一模型方法。 據此,AutoML 支援時態性卷積網路 (TCN) 模型的分散式定型和模型搜尋,這是時間序列資料的深度神經網路類型。 如需 AutoML TCN 模型類別的詳細資訊,請參閱我們的 DNN 文章

分散式 DNN 定型使用採用時間序列界限的資料分割演算法來達到延展性。 下圖說明具有兩個分割區的簡單範例:

分散式定型數據分割的範例圖表。

在定型期間,每個計算負載上的 DNN 資料載入器只需要完成反向傳播的反覆項目;一律不會將整個資料集讀入記憶體。 分割區會進一步分散到可能多個節點上的多個計算核心 (通常是 GPU),以加速定型。 跨計算的協調是由 Horovod 架構所提供。

下一步