使用新手模式來定型個人化工具,而不會影響現有的應用程式
重要
從 2023 年 9 月 20 日起,您將無法建立新的個人化工具資源。 個人化工具服務將於 2026 年 10 月 1 日淘汰。
部署新的個人化工具資源時,會使用未定型的模型或空白模型來將它初始化。 也就是說,其尚未從任何資料中學習,因此實踐起來不會表現很好。 這稱為「冷啟動」問題,可藉由使用來自生產環境的實際資料來訓練模型,在一段時間內得到解決。 新手模式是一種學習行為,可協助減輕「冷啟動」問題,並可讓您在模型於生產環境中做出決策「之前」獲得信心,而不需要變更任何程式碼。
什麼是新手模式?
與新手如何經由觀察專家來學習技藝類似,新手模式可讓個人化工具藉由觀察您應用程式的目前邏輯所做的決策來學習。 個人化工具模型會藉由模擬與應用程式相同的決策輸出來進行訓練。 透過每個排名 API 呼叫,個人化工具可以學習,而不會影響現有的邏輯與結果。 計量 (可從 Azure 入口網站和 API 取得) 可協助您了解模型學習時的效能。 具體來說,是個人化工具如何比對現有的邏輯 (也稱為基準原則)。
一旦個人化工具能夠有 60-80% 的時間合理地比對現有的邏輯,您就可以將行為從 [新手模式] 變更為 [線上模式] 模式。 此時,個人化工具會傳回排名 API 中由基礎模型決定的最佳動作,並了解如何做出比基準原則更好的決策。
爲何會使用新手模式?
在應用程式使用線上決策之前,新手模式會提供一種方式來模擬您現有的決策邏輯。 這有助於減輕上述冷啟動問題,並讓您更信任個人化工具服務,並保證傳送至個人化工具的資料對於定型模型很有幫助。 這不會有風險或影響您的線上流量和客戶體驗。
使用新手模式的兩個主要原因如下:
- 減輕冷啟動:新手模式可藉由學習來協助降低在生產環境中訓練「新」模型的成本,而不需要做出無知的決策。 此模型會學習模擬您現有的應用程式邏輯。
- 驗證動作與內容特徵: 內容與動作特徵可能不足、不正確,或以次佳方式設計。 若有太少、太多、不正確、雜訊或格式不正確的功能,個人化將難以訓練出效能良好的模型。 在新手模式中執行特徵評估,可讓您探索特徵在定型個人化工具上的有效程度,並識別可改善特徵品質的區域。
何時應該使用新手模式?
使用新手模式來定型個人化工具,以改善其在下列案例中的效率,同時讓您的使用者體驗不受個人化工具影響:
- 您要在新的案例中實作個人化工具。
- 您已對內容或動作特徵進行重大變更。
然而,若要測量個人化工具對改善您的平均獎勵或商務 KPI 有何影響,新手模式並不是個有效的方式。 它只能評估服務在您提供目前資料的情況下,學習您現有邏輯的程度。 若要測量個人化工具對於每個排名呼叫選擇最佳可能動作的有效程度,個人化工具必須處於線上模式,或者您可以在個人化工具處於線上模式的一段時間內使用 離線評估。
誰應該使用新手模式?
新手模式適用於開發人員、資料科學家,以及商務決策者:
開發人員可以使用新手模式來確保應用程式中正確實作排名與獎勵 API,且傳送至個人化工具的特徵沒有錯誤與常見錯誤。 深入了解如何建立良好的 內容和動作特徵。
資料科學家可以使用新手模式驗證功能是否有效,以訓練個人化工具模型。 也就是說,這些特徵包含有用的資訊,可讓個人化工具學習現有的決策邏輯。
業務決策者可以使用新手模式來評估相較於現有的商務邏輯,個人化工具改善結果 (也就是獎勵) 的潛能。 具體來說,個人化工具在進入線上模式之前,是否可以從所提供的資料中學習。 這使其能夠做出會影響使用者體驗的明智決策,這會影響真正的收益與使用者的滿意度。
比較行為 - 新手模式和線上模式
新手模式的學習與線上模式的學習有下列差異。
區域 | 新手模式 | 線上模式 |
---|---|---|
對使用者經驗的影響 | 使用者的體驗與商務指標均不會變更。 個人化工具會藉由觀察基準動作或目前的應用程式邏輯來定型,而不會影響這些應用程式。 | 您的使用者體驗可能會隨著個人化工具做出決策而變更,而不是您的基準動作。 |
學習速度 | 個人化工具在新手模式中的學習速度會比在線上模式中的學習速度更慢。 新手模式只能在不進行探索的情況下,藉由觀察預設動作所取得的獎勵來學習,這會限制個人化工具可以學習的多寡。 | 更快速地學習,因為其可以「利用」目前模型的最佳動作,並「探索」其他動作以取得更好的可能結果。 |
學習有效性「上限」 | 個人化工具只能估計,且永遠不會超過您應用程式目前邏輯的效能 (基準動作所達到的總平均獎勵)。 個人化工具不太可能與您目前的應用程式邏輯達到 100% 的比對,且建議在達到 60%-80% 的比對之後,即可將個人化工具切換為線上模式。 | 個人化工具應超過您目前基準應用程式邏輯的效能。 若個人化工具的效能隨著時間而停止,您可以進行離線評估與特徵評估,以尋求其他改善。 |
rewardActionId 的排名 API 傳回值 | rewardActionId 一律是預設動作的識別碼。 也就是說,您傳送的動作是排名 API 要求 JSON 中的第一個動作。 換句話說,在新手模式中,排名 API 不會對您的應用程式顯示任何內容。 | rewardActionId 將是其中所提供的其中一個識別碼,而排名 API 呼叫會依個人化工具模型來判斷。 |
評估 | 個人化工具會比較您目前的應用程式邏輯所收到的獎勵總計,以及當時處於線上模式所取得的獎勵總計。 您可以在 Azure 入口網站中個人化工具資源的 [監視] 刀鋒視窗中檢視此比較。 | 藉由執行離線評估來評估個人化工具的有效性,讓您可以比較個人化工具針對應用程式基準的潛在獎勵所達成的獎勵總計。 |
請注意,個人化工具不太可能與應用程式基準邏輯達到 100% 的效能比對,而且永遠不會超過它。 60%-80% 的效能比對應該足以將個人化工具切換到線上模式,其中個人化工具可以學習更好的決策,並超越您應用程式基準邏輯的效能。
新手模式的限制
新手模式會使用排名呼叫中存在的內容與動作特徵來嘗試模擬您現有的應用程式的基準邏輯,以定型個人化工具模型。 下列因素將會影響新手模式的學習能力。
新手模式可能不適合的案例:
編輯方面選擇的內容:
在某些案例 (例如新聞或娛樂) 中,基準項目可以由編輯小組手動指派。 這表示人類使用其對廣大世界的知識,以及對於什麼可能是吸引人內容的理解,從集區中選擇特定文章或媒體,以及將其標示為「偏好」或「主圖」文章。 因為這些編輯器並非演算法,且編輯器所考慮的因素可能很主觀,並且不一定與內容或動作特徵相關。 在此情況下,新手模式在預測基準動作時,可能會有困難。 在這些情況下,您可以:
- 在線上模式中測試個人化工具: 請考慮將個人化工具放在線上模式中一段時間,或如果您有基礎結構,放在 A/B 測試中,然後執行離線評估來評估應用程式的基準邏輯與個人化工具之間的差異。
- 將編輯考慮和建議新增為特徵:詢問您的編輯者哪些因素會影響其選擇,並查看您是否可以在內容和動作中將其新增為特徵。 例如,媒體公司的編輯可能會在特定名人出現在新聞中時醒目提示內容: 這項知識可以新增為內容特徵。
可改善和加速新手模式的因素
若新手模式學習並達到高於零的比對效能,但效能改善速度非常緩慢 (在兩週內無法達到 60% 到 80% 比對的獎勵),則可能是因爲傳送至個人化工具的資料微乎其微。 下列步驟可協助加速學習:
- 新增區別特徵:您可以在排名呼叫及其特徵中執行動作的視覺化檢查。 基準動作是否有與其他動作有差異的特徵? 如果它們看起來大致相同,請新增更多特徵,以增加特徵值的多樣性。
- 減少每個事件的動作:個人化工具將會使用「探索所使用的排名呼叫 %」設定來探索喜好設定與趨勢。 當排名呼叫有更多動作時,選擇任何特定動作進行探索的機會可能變得更低。 將每個排名呼叫中所傳送的動作數目減少為更小的數目 (小於 10) 可能是暫時調整,其可能指出新手模式是否有足夠的資料可學習。
使用新手模式來定型歷程記錄資料
若您有大量的歷程記錄資料,想要用於訓練個人化工具,則可以使用新手模式,以透過個人化工具來重新執行資料。
在新手模式中設定個人化工具並建立腳本,以使用歷程記錄資料中的動作和內容特徵來呼叫排名。 根據您在此資料中的記錄計算來呼叫獎勵 API。 您可能需要大約 50,000 個歷程記錄事件,才能看到個人化工具與應用程式的基準邏輯達到 60-80% 的比對。 您可以使用較少的或更多事件來達到滿意的結果。
從歷程記錄資料進行定型時,建議傳入的資料 (內容和動作的特徵、用於排名要求的 JSON 中的配置,以及在此定型資料集中的獎勵計算) 符合現有應用程式所提供的資料 (獎勵的特徵和計算)。
離線和歷程記錄資料通常較不完整且更雜亂,而且格式可能不同於生產環境內 (或線上) 案例。 雖然可以從歷程記錄資料進行定型,但這麼做的結果可能不明確,也不是個人化工具在線上模式學習表現的良好預測指標,尤其是特徵在過去的資料和現有的應用程式之間有差異的情況下。
使用新手模式與 A/B 測試
只有在驗證過個人化工具處理後進行 A/B 測試,而且在線上模式中學習才有用,因為在新手模中,只會使用基準動作,並會學習現有的邏輯。 這基本上表示個人化工具會傳回 A/B 測試之「控制項」arm 的動作,因此,在新手模式中的 A/B 測試沒有值。
您具有使用個人化工具和線上學習的使用案例之後,A/B 實驗可讓您對結果進行受控制的世代和科學比較,這些結果可能比用於獎勵的訊號更複雜。 A/B 測試可以回答的範例是:「在零售網站中,個人化工具會優化版面配置,並讓更多使用者提早 結帳,但這是否會減少每筆交易的總營收?」