全部產品
Search
文件中心

Platform For AI:保障離線線上一致性的CTR預估方案

更新時間:Jul 13, 2024

本案例使用經典的CTR點擊率預估資料集Avazu進行一體化模型訓練,並將離線調試完成的歸一化預測->獨熱編碼預測->向量彙總->FM預測流程完整部署到EAS。您線上上環境進行模型預測時,也可以使用離線訓練時的資料預先處理和特徵工程邏輯,以保障線上線下處理流程的一致性。

前提條件

資料集

Avazu是經典的CTR點擊率預估資料集,PAI使用了Avazu的一個子集(包括20萬條樣本資料:訓練集16萬條;預測集4萬條)構建點擊率預估流程。資料詳情請查看Avazu,具體的欄位如下。

列名

類型

描述

id

STRING

廣告ID

click

DOUBLE

是否點擊

dt_year

INT

點擊的年份

dt_month

INT

點擊的月份

dt_day

INT

點擊的時間(天)

dt_hour

INT

點擊的時間(小時)

c1

STRING

匿名的離散變數

banner_pos

INT

標題的位置

site_id

STRING

地點ID

site_domain

STRING

地點Domain

site_category

STRING

地點類別

app_id

STRING

應用ID

app_domain

STRING

應用Domain

app_category

STRING

應用類別

device_id

STRING

裝置ID

device_ip

STRING

裝置IP

device_model

STRING

裝置模型

device_type

STRING

裝置類型

device_conn_type

STRING

裝置連線類型

c14 - c21

DOUBLE

匿名離散變數(共8列)

操作步驟

  1. 進入Designer頁面。

    1. 登入PAI控制台

    2. 在左側導覽列單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應的工作空間。

    3. 在工作空間頁面的左側導覽列選擇模型開發與訓練 > 可視化建模(Designer),進入Designer頁面。

  2. 構建工作流程。

    1. Designer頁面,單擊預置模板頁簽。

    2. 在模板列表的保障離線上一致性的CTR預估方案地區,單擊建立

    3. 建立工作流程對話方塊配置以下關鍵參數,其他參數可以使用預設配置。

      其中:工作流程資料存放區配置為OSS Bucket路徑,用於儲存工作流程運行中產出的臨時資料和模型。

    4. 單擊確定

      您需要等待大約十秒鐘,工作流程可以建立成功。

    5. 在工作流程列表,雙擊保障離線上一致性的CTR預估方案工作流程,進入工作流程。

  3. 通過模板建立的工作流程,如下圖所示。 image

    在該工作流程中,PAI將特徵分為以下兩類:

    • 數值型特徵:PAI使用歸一化演算法,將特徵做歸一化處理。

    • 離散型特徵:PAI使用獨熱編碼組件處理。最後將兩類特徵融合成一個向量,並使用FM演算法訓練模型並推理。

  4. 運行工作流程並查看輸出結果。

    1. 單擊畫布上方的image

    2. 工作流程運行結束後,按右鍵畫布中的二分類評估-1,在捷徑功能表,單擊可視化分析,或直接單擊畫布上方的image.png

    3. 二分類評估-1對話方塊指標資料頁簽,查看預估準確率。 image

  5. 如果指標滿足要求,您可以將資料預先處理、特徵工程、模型預測的完整流程打包,並部署至EAS。

    1. 在畫布上方,單擊製作Pipeline模型

    2. 手動選中歸一化批預測-2節點後(會自動選中右側的完整鏈路),單擊下一步。會把選中需要部署的資料處理鏈路和用到的模型打包成一個Pipeline模型。image.png

    3. 製作Pipeline模型對話方塊,確認模型打包資訊,並單擊下一步,啟動Pipeline模型打包任務。image.png打包任務大概需要3~5分鐘即可完成。

    4. 部署模型服務。

      • 方式一:在製作Pipeline模型對話方塊,當運行狀態成功時,單擊部署至EAS,會跳轉到EAS控制台。配置服務名稱資源部署資訊後,單擊部署,即可完成模型部署,更多詳細內容,請參見Pipeline部署線上服務

      • 方式二:如果製作Pipeline模型對話方塊已關閉,您可以在畫布右上方單擊全部任務查看,在歷史任務對話方塊,查看製作任務運行狀態。當狀態成功時:

        • 您可以單擊操作列下的模型>部署,並按照控制台操作指引部署模型服務。

        • 您也可以單擊畫布上方的模型列表,在模型列表中選中打包的模型,單擊部署至EAS並按照控制台操作指引部署模型服務。

  6. 在EAS控制台,單擊已部署好的服務操作列下的線上調試,對服務進行線上調試,更多詳細內容,請參見服務線上調試

    其中:Body地區的請求資料可以輸入和資料集相同結構的測試資料,例如:

    [{"id":"10000169349117863715","click":0.0,"dt_year":14,"dt_month":10,"dt_day":21,"dt_hour":0,"C1":"1005","banner_pos":0,"site_id":"1fbe01fe","site_domain":"f3845767","site_category":"28905ebd","app_id":"ecad2386","app_domain":"7801e8d9","app_category":"07d7df22","device_id":"a99f214a","device_ip":"96809ac8","device_model":"711ee120","device_type":"1","device_conn_type":"0","c14":15704.0,"c15":320.0,"c16":50.0,"c17":1722.0,"c18":0,"c19":35.0,"c20":100084.0,"c21":79.0}]

    該資料在服務中會順序進行歸一化預測->獨熱編碼預測->向量彙總->FM預測,最終得到如下預測結果。image.png