柏拉圖數據智能。
垂直搜索和人工智能。

在 Amazon Personalize 中引入解決方案自動訓練 |亞馬遜網路服務

日期:

亞馬遜個性化 很高興地宣布解決方案的自動培訓。解決方案培訓對於維持模型的有效性並確保建議符合使用者不斷變化的行為和偏好至關重要。隨著資料模式和趨勢隨著時間的推移而變化,使用最新的相關資料重新訓練解決方案使模型能夠學習和適應,從而提高其預測準確性。自動訓練產生新的解決方案版本,減輕模型漂移並保持建議的相關性並根據最終用戶的當前行為量身定制,同時包含最新的項目。最終,自動訓練提供了更個人化和引人入勝的體驗,可以適應不斷變化的偏好。

Amazon Personalize 透過機器學習 (ML) 加速您的數位轉型,讓您可以輕鬆地將個人化推薦整合到現有網站、應用程式、電子郵件行銷系統等。 Amazon Personalize 讓開發人員能夠快速實施客製化的個人化引擎,而無需 ML 專業知識。 Amazon Personalize 提供必要的基礎設施並管理整個 ML 管道,包括處理資料、識別特徵、使用適當的演算法以及根據您的資料訓練、最佳化和託管自訂模型。您的所有資料均經過加密,確保私密且安全。

在這篇文章中,我們將指導您完成配置自動訓練的過程,以便您的解決方案和建議保持其準確性和相關性。

解決方案概述

A 指的是 Amazon Personalize 配方、自訂參數和一個或多個解決方案版本(經過訓練的模型)的組合。建立自訂解決方案時,您可以指定與您的用例相符的配方並配置訓練參數。對於本文,您將在訓練參數中配置自動訓練。

條件:

要為您的解決方案啟用自動訓練,您首先需要設定 Amazon Personalize 資源。開始於 建立資料集組、模式和 數據集 代表您的項目、互動和使用者資料。有關說明,請參閱 入門(控制台) or 入門 (AWS CLI).

完成資料匯入後,您就可以建立解決方案了。

創建解決方案

若要設定自動訓練,請完成以下步驟:

  1. 在 Amazon Personalize 控制台上,建立新的解決方案。
  2. 指定解決方案的名稱,選擇要建立的解決方案的類型,然後選擇配方。
  3. (可選)添加任何標籤。有關標記 Amazon Personalize 資源的更多信息,請參閱 標記 Amazon Personalize 資源.
  4. 要使用自動訓練,在 自動訓練 部分,選擇 打開 並指定您的訓練頻率。

自動訓練預設開啟,每7天訓練一次。您可以配置培訓節奏以滿足您的業務需求,範圍從每 1 到 30 天一次。

  1. 如果您的配方產生項目推薦或使用者細分,可以選擇使用 訓練列 部分來選擇 Amazon Personalize 在訓練解決方案版本時考慮的欄位。
  2. 超參數配置 部分,根據您的配方和業務需求選擇配置任何超參數選項。
  3. 提供任何其他配置,然後選擇 下一頁.
  4. 查看解決方案詳細資訊並確認您的自動訓練已按預期配置。
  5. 選擇 創建解決方案.

Amazon Personalize 將自動建立您的第一個解決方案版本。 A 解決方案版本 指經過訓練的 ML 模型。為解決方​​案建立解決方案版本後,Amazon Personalize 會根據配方和訓練配置訓練支援此解決方案版本的模型。開始建立解決方案版本可能需要長達 1 小時。

以下是使用 AWS 開發工具包建立自動訓練解決方案的範例程式碼:

import boto3 
personalize = boto3.client('personalize')

solution_config = {
    "autoTrainingConfig": {
        "schedulingExpression": "rate(3 days)"
    }
}

recipe = "arn:aws:personalize:::recipe/aws-similar-items"
name = "test_automatic_training"
response = personalize.create_solution(name=name, recipeArn=recipe_arn, datasetGroupArn=dataset_group_arn, 
                            performAutoTraining=True, solutionConfig=solution_config)

print(response['solutionArn'])
solution_arn = response['solutionArn'])

解決方案建立完成後,您可以在解決方案詳情頁面確認是否開啟自動訓練。

您也可以使用以下範例程式碼透過 AWS 開發工具包確認已啟用自動訓練:

response = personalize.describe_solution(solutionArn=solution_arn)
print(response)

您的回覆將包含以下字段 performAutoTrainingautoTrainingConfig,顯示您在中設定的值 CreateSolution 呼叫。

在解決方案詳細資訊頁面上,您還將看到自動建立的解決方案版本。這 訓練類型 列指定解決方案版本是手動還是自動建立。

您也可以使用以下範例程式碼傳回給定解決方案的解決方案版本清單:

response = personalize.list_solution_versions(solutionArn=solution_arn)['solutionVersions']
print("List Solution Version responsen")
for val in response:
    print(f"SolutionVersion: {val}")
    print("n")

您的回覆將包含該字段 trainingType,它指定解決方案版本是手動還是自動建立。

當您的解決方案版本準備就緒後,您可以 製作廣告活動 為您的解決方案版本。

製作廣告活動

A 運動 部署解決方案版本(經過訓練的模型)以產生即時建議。透過 Amazon Personalize,您可以簡化工作流程並透過自動同步將最新解決方案版本自動部署到行銷活動。若要設定自動同步,請完成以下步驟:

  1. 在 Amazon Personalize 主機上,建立一個新的行銷活動。
  2. 為您的行銷活動指定一個名稱。
  3. 選擇您剛剛建立的解決方案。
  4. 選擇 自動使用最新的解決方案版本.
  5. 設置 每秒最少配置交易數.
  6. 建立您的活動。

當活動狀態為 ACTIVE.

以下是建立行銷活動的範例程式碼 syncWithLatestSolutionVersion 設置 true 使用 AWS 開發工具包。您還必須附加後綴 $LATESTsolutionArn in solutionVersionArn 當你設定 syncWithLatestSolutionVersiontrue.

campaign_config = {
    "syncWithLatestSolutionVersion": True
}
resource_name = "test_campaign_sync"
solution_version_arn = "arn:aws:personalize:<region>:<accountId>:solution/<solution_name>/$LATEST"
response = personalize.create_campaign(name=resource_name, solutionVersionArn=solution_version_arn, campaignConfig=campaign_config)
campaign_arn = response['campaignArn']
print(campaign_arn)

在行銷活動詳細資訊頁面上,您可以查看所選行銷活動是否啟用了自動同步。啟用後,您的行銷活動將自動更新以使用最新的解決方案版本,無論它是自動建立還是手動建立。

使用以下範例程式碼透過 AWS 開發工具包確認 syncWithLatestSolutionVersion 已啟用:

response = personalize.describe_campaign(campaignArn=campaign_arn)
Print(response)

您的回覆將包含該字段 syncWithLatestSolutionVersioncampaignConfig,顯示您在中設定的值 CreateCampaign 呼叫。

您可以透過更新您的活動來啟用或停用在建立活動後在 Amazon Personalize 控制台上自動使用最新解決方案版本的選項。同樣,您可以啟用或停用 syncWithLatestSolutionVersion UpdateCampaign 使用 AWS 開發工具包。

結論

透過自動訓練,您可以簡化工作流程並在 Amazon Personalize 中自動部署最新解決方案版本,從而減輕模型漂移並保持推薦相關性。

有關使用 Amazon Personalize 優化用戶體驗的更多信息,請參閱 亞馬遜個性化開發人員指南.


關於作者

巴卡里·約翰遜 是一位資深技術產品經理,在 Amazon Personalize 團隊中負責 AWS AI/ML。 她擁有電腦科學和戰略背景,對產品創新充滿熱情。 在業餘時間,她喜歡旅行和探索戶外活動。

阿賈伊·文卡塔克里希南 是 Amazon Personalize 團隊的軟體開發工程師。在空閒時間,他喜歡寫作和踢足球。

普拉內什·阿努巴夫 是 Amazon Personalize 的高級軟體工程師。 他熱衷於設計機器學習系統來大規模服務客戶。 工作之餘,他喜歡踢足球,並且是皇家馬德里的狂熱追隨者。

現貨圖片

最新情報

現貨圖片

和我們線上諮詢

你好呀!我怎麼幫你?