翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
自動トレーニングの設定
重要
デフォルトでは、すべての新しいソリューションで自動トレーニングが使用されます。自動トレーニングでは、ソリューションがアクティブになっている間、トレーニングコストが発生します。不要なコストを避けるために、完了したらソリューションを更新して自動トレーニングをオフにできます。トレーニングコストの詳細については、「Amazon Personalize の料金
ソリューションを作成するときに、ソリューションが自動トレーニングを使用するかどうかを設定できます。トレーニング頻度を設定することもできます。例えば、5 日ごとに新しいソリューションバージョンを作成するようにソリューションを設定できます。
デフォルトでは、すべての新しいソリューションは自動トレーニングを使用して 7 日ごとに新しいソリューションバージョンを作成します。自動トレーニングは、前回のトレーニング以降に一括またはリアルタイムのインタラクションデータをインポートした場合にのみ発生します。これには、アイテムインタラクション、または Next-Best-Action レシピを使用するソリューションの場合はアクションインタラクションデータが含まれます。自動トレーニングは、ソリューションを削除するまで続行されます。
自動トレーニングを使用することをお勧めします。これにより、ソリューションの維持が容易になります。これにより、ソリューションが最新のデータから学習するために必要な手動トレーニングが削除されます。自動トレーニングを使用しない場合、最新のデータから学習するために、ソリューションの新しいソリューションバージョンを手動で作成する必要があります。これにより、レコメンデーションが古くなり、変換レートが低下する可能性があります。Amazon Personalize のレコメンデーションの管理の詳細については、「」を参照してくださいレコメンデーションの関連性の維持。
Amazon Personalize コンソールを使用して自動トレーニングを設定できます。 AWS Command Line Interface (AWS CLI)、または AWS SDKs。コンソールで自動トレーニングを設定する手順については、「」を参照してくださいソリューションの作成 (コンソール)。
ソリューションを作成したら、今後の使用ARNに備えてソリューションを記録します。自動トレーニングでは、ソリューションバージョンの作成は、ソリューションが になった後 1 時間以内に開始されますACTIVE。1 時間以内にソリューションバージョンを手動で作成した場合、ソリューションは最初の自動トレーニングをスキップします。トレーニングの開始後、 ListSolutionVersionsAPIオペレーションを使用してソリューションバージョンの Amazon リソースネーム (ARN) を取得できます。ステータスを取得するには、 DescribeSolutionVersionAPIオペレーションを使用します。
ガイドラインと要件
自動トレーニングのガイドラインと要件は次のとおりです。
-
自動トレーニングは、前回のトレーニング以降に一括またはリアルタイムのインタラクションデータをインポートした場合にのみ発生します。これには、アイテムインタラクション、または Next-Best-Action レシピを使用するソリューションの場合はアクションインタラクションデータが含まれます。
-
各トレーニングでは、トレーニングに含めるデータセットグループ内のすべてのデータを考慮します。トレーニングで使用される列の設定については、「」を参照してくださいトレーニング時に使用する列の設定。
-
ソリューションバージョンは手動で作成できます。
-
自動トレーニングは、ソリューションがアクティブになってから 1 時間以内に開始されます。1 時間以内にソリューションバージョンを手動で作成した場合、ソリューションは最初の自動トレーニングをスキップします。
-
トレーニングのスケジュールは、トレーニング開始日に基づいています。例えば、最初のソリューションバージョンが午後 7 時にトレーニングを開始し、毎週トレーニングを使用する場合、次のソリューションバージョンは 1 週間後の午後 7 時にトレーニングを開始します。
-
すべてのレシピについて、少なくとも毎週のトレーニング頻度をお勧めします。トレーニング頻度は 1~30 日の間で指定できます。デフォルトは 7 日ごとです。
-
User-Personalization-v2、User-Personalization、または Next-Best-Action を使用すると、ソリューションが自動的に更新され、新しいアイテムやアクションがレコメンデーションの対象として考慮されます。自動更新は、自動トレーニングとは異なります。自動更新では、まったく新しいソリューションバージョンは作成されず、モデルは最新のデータから学習しません。ソリューションを維持するには、トレーニング頻度を少なくとも週に 1 回にする必要があります。追加のガイドラインや要件など、自動更新の詳細については、「」を参照してください自動更新。
-
Trending-Now を使用すると、Amazon Personalize は、設定可能な時間間隔で、インタラクションデータ内の最もトレンドの高い項目を自動的に識別します。Trending-Now は、バルクまたはストリーミングインタラクションデータを通じて、前回のトレーニング以降に追加されたアイテムをレコメンデーションできます。トレーニング頻度は少なくとも週に 1 回にする必要があります。詳細については、「Trending-Now レシピ」を参照してください。
-
自動更新または Trending-Now レシピでレシピを使用しない場合、Amazon Personalize は次のトレーニング後にのみ新しいアイテムをレコメンデーションと見なします。例えば、Similar-Items レシピを使用して毎日新しいアイテムを追加する場合、その日にレコメンデーションに表示されるには、これらのアイテムの毎日の自動トレーニング頻度を使用する必要があります。
-
自動トレーニングの設定 (AWS CLI)
次のコードは、5 日ごとにソリューションバージョンを自動的に作成するソリューションを作成する方法を示しています。自動トレーニングを無効にするには、 perform-auto-training
を に設定しますfalse
。
トレーニング頻度を変更するには、 schedulingExpression
で を変更できますautoTrainingConfig
。式は rate(value unit)
形式である必要があります。値には、1~30 の数値を指定します。単位には、 day
または を指定しますdays
。
create-solution
コマンドの詳細については、「」を参照してくださいソリューションの作成 (AWS CLI)。
aws personalize create-solution \ --name
solution name
\ --dataset-group-arndataset group ARN
\ --recipe-arnrecipe ARN
\ --perform-auto-training \ --solution-config "{\"autoTrainingConfig\": {\"schedulingExpression\": \"rate(5 days)\"}}"
自動トレーニングの設定 (SDKs)
次のコードは、 を使用して自動トレーニングでソリューションを作成する方法を示しています。 AWS SDKs。このソリューションは、5 日ごとにソリューションバージョンを自動的に作成します。自動トレーニングを無効にするには、 performAutoTraining
を に設定しますfalse
。
トレーニング頻度を変更するには、 schedulingExpression
で を変更できますautoTrainingConfig
。式は rate(value unit)
形式である必要があります。値には、1~30 の数値を指定します。単位には、 day
または を指定しますdays
。
オペレーションの詳細については、 CreateSolution API「」を参照してくださいソリューションの作成 (AWS SDKs)。
次の Python コードを使用して、自動トレーニングが開始されるまで待機できます。wait_for_training_to_start
メソッドは、最初のソリューションバージョンの ARN を返します。
import time import boto3 def wait_for_training_to_start(new_solution_arn): max_time = time.time() + 3 * 60 * 60 # 3 hours while time.time() < max_time: list_solution_versions_response = personalize.list_solution_versions( solutionArn=new_solution_arn ) solution_versions = list_solution_versions_response.get('solutionVersions', []) if solution_versions: new_solution_version_arn = solution_versions[0]['solutionVersionArn'] print(f"Solution version ARN: {new_solution_version_arn}") return new_solution_version_arn else: print(f"Training hasn't started yet. Training will start within the next hour.") time.sleep(60) personalize = boto3.client('personalize') solution_arn = "
solution_arn
" solution_version_arn = wait_for_training_to_start(solution_arn)