日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

自定義 Pipeline 流程

背景

PAI-Rec 引擎本身就是一個 pipeline 處理流程, 把召回、過濾、粗排、特性加載、精排等各個階段串聯起來。但有時候,只有一條 pipeline 的處理流程是不夠的。比如冷啟動流程,它需要一條單獨的 pipeline 來處理,因為冷啟動的粗排、精排等流程與主鏈路是不同的。另一種情形是,在首頁推薦流中,會有圖文、視頻等多種數據,圖文,視頻的處理鏈路是不同的,需要走不同的 pipeline , 最終把數據混排在一起。

目前通過 PAI-Rec 可以自定義 pipeline 流程,來處理單獨的鏈路而區別于主鏈路流程。 可以通過配置文件來描述 pipeline , 并且可以結合 AB 服務,在實驗中動態調整 pipeline 流程。

整體架構

當前主鏈路的流程如下:

image-20220107150220242.png

當前在同一個場景中,可以配置多條 pipeline 流程,最終與主鏈路的數據 merge 到一起。

image-20220107151325761.png

自定義 Pipeline 配置

配置如下:

 {
   "PipelineConfs": {
    "video_feed": [ // 場景名稱,場景,可以配置多個 pipeline
      {
        "Name": "coldstart", // 自定義 pipeline 名稱,全局唯一,不同場景也要唯一
        "RecallNames": [], // 召回列表, RecallConfs 里定義
        "FilterNames": [], // 過濾列表, FilterConfs 里定義
        "GeneralRankConf": { // 粗排定義, 可以參考粗排的配置
          "FeatureLoadConfs":[],
          "RankConf":{},
          "ActionConfs": [
            {
              "ActionType": "filter",
              "ActionName": ""
            }
          ]
        },
        "FeatureLoadConfs":[],
        "RankConf":{
          "RankAlgoList":[],
          "RankScore":"",
          "Processor":"",
          "BatchCount": 100
        },
        "ColdStartRankConf": {
          "AlgoName":"",
          "OnlyEmbeddingFeature": true
        },
        "SortNames":[] // 排序處理,SortConfs 里定義
      }
    ]
  }
 }

上述的配置基本上與主鏈路的配置是一致的,上面是完整的配置,并不是所有的字段都是必須的。解釋說明如下:

  • PipelineConfs 所有的 pipeline 的定義都放在這里, 支持多場景配置

  • Name 自定義pipeline 名稱,在配置里全局唯一

  • RecallNames 召回列表,名稱可以在 RecallConfs 里定義,也可以是自定義的召回

  • FilterNames 過濾列表, 名稱可以在 FilterConfs 里定義,也可以是自定義的過濾

  • GeneralRankConf 粗排配置。 這個不是必須的。 具體的定義可以參考粗排配置

  • FeatureLoadConfs 特征加載,具體可以參考特征配置

  • RankConf/ColdStartRankConf 這兩個是互斥的配置,如果是想用冷啟動算法, 配置 ColdStartRankConf 就可以了。 如果是模型的精排,可以配置 RankConf

  • SortNames 自定義排序,這個也不是必須的。是否對pipeline 的數據做進一步處理,可以在這里做。 名稱可以在 SortConfs 里找到,或者自定義的排序

實驗參數支持

在很多情況下,需要對 pipeline 的流程做實驗對比,pipeline 中的各個子階段都支持實驗參數,模式為 "pipelines." + {pipeline 名稱} + ".{子階段名稱}"。具體詳情如下

參數名稱

參數類型

參數說明

樣例

"pipelines." + {pipeline 名稱} + ".RecallNames"

json array

召回的列表,需要包含所有的召回

{"pipelines.coldstart.RecallNames":[ "ColdStartRecall"]}

"pipelines." + {pipeline 名稱} + ".FilterNames"

json array

過濾列表,包含所有的過濾流程

{"pipelines.coldstart.FilterNames":["UniqueFilter", "UserExposureFilter"]}

"pipelines." + {pipeline 名稱} + ".GeneralRankConf"

recconf.GeneralRankConfig

粗排配置

{"pipelines.coldstart.GeneralRankConf":{"Actions":[]}}

"pipelines." + {pipeline 名稱} + ".FeatureLoadConfs"

[]recconf.FeatureLoadConfig

特征加載配置

{"pipelines.coldstart.FeatureLoadConfs":[{"FeatureDaoConf":{}}]}

"pipelines." + {pipeline 名稱} + ".RankConf"

recconf.RankConfig

排序算法的配置

{

"pipelines.coldstart.RankConf"

:{

"RankAlgoList"

:[

"pai_homepage_fm"

],

"RankScore":"${pai_homepage_fm}"

}

}

"pipelines." + {pipeline 名稱} + ".ColdStartRankConf"

recconf.ColdStartRankConfig

冷啟動算法配置

{

"pipelines.coldstart.ColdStartRankConf"

:{

"AlgoName":""

,

"OnlyEmbeddingFeature":true

}

}

"pipelines." + {pipeline 名稱} + ".SortNames"

json array

排序列表

{ "pipelines.coldstart.SortNames":[]}