自動トレーニングの設定 - Amazon Personalize

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

自動トレーニングの設定

重要

ソリューションを作成した後は、その設定を変更することはできません。デフォルトでは、すべての新しいソリューションで自動トレーニングが使用されます。自動トレーニングでは、ソリューションがアクティブになっている間にトレーニングコストが発生します。不要なコストを避けるため、作業が終了したらソリューションを削除してください。トレーニングコストの詳細については、「Amazon Personalize の料金」を参照してください。

ソリューションを作成するときに、ソリューションが自動トレーニングを使用するかどうかを設定できます。トレーニング頻度を設定することもできます。例えば、5 日ごとに新しいソリューションバージョンを作成するようにソリューションを設定できます。

デフォルトでは、すべての新しいソリューションは自動トレーニングを使用して 7 日ごとに新しいソリューションバージョンを作成します。自動トレーニングは、前回のトレーニング以降に一括またはリアルタイムのインタラクションデータをインポートした場合にのみ発生します。これには、アイテムインタラクション、または Next-Best-Action レシピを使用するソリューションの場合はアクションインタラクションデータが含まれます。自動トレーニングは、ソリューションを削除するまで続行されます。

自動トレーニングを使用することをお勧めします。これにより、ソリューションの維持が容易になります。これにより、ソリューションが最新のデータから学習するために必要な手動トレーニングが削除されます。自動トレーニングを使用しない場合、最新のデータから学習するために、ソリューションの新しいソリューションバージョンを手動で作成する必要があります。これにより、レコメンデーションが古くなり、変換レートが低下する可能性があります。Amazon Personalize のレコメンデーションの管理の詳細については、「」を参照してくださいレコメンデーションの関連性の維持

自動トレーニングは、Amazon Personalize コンソール、 AWS Command Line Interface (AWS CLI)、または AWS SDKsを使用して設定できます。コンソールで自動トレーニングを設定する手順については、「」を参照してくださいソリューションの作成 (コンソール)

ソリューションを作成したら、今後の使用に備えてソリューション ARN を記録します。自動トレーニングでは、ソリューションバージョンの作成は、ソリューションが ACTIVE になった後 1 時間以内に開始されます。1 時間以内にソリューションバージョンを手動で作成した場合、ソリューションは最初の自動トレーニングをスキップします。トレーニングの開始後、 バージョン API オペレーションを使用してソリューションバージョンの Amazon リソースネーム (ARN) ListSolutionを取得できます。ステータスを取得するには、バージョン API DescribeSolutionオペレーションを使用します。

ソリューションバージョンが ACTIVE になると、それを使用してレコメンデーションを取得する準備が整います。アクティブなソリューションバージョンの使用方法は、レコメンデーションの取得方法によって異なります。

  • リアルタイムのレコメンデーションについては、Amazon Personalize キャンペーンで ACTIVE ソリューションバージョンをデプロイします。キャンペーンを使用して、ユーザー向けのレコメンデーションを取得します。キャンペーンの作成 を参照してください。

  • バッチレコメンデーションでは、バッチ推論ジョブまたはバッチセグメントジョブを作成するときに ACTIVE ソリューションバージョンを指定します。バッチレコメンデーションとユーザーセグメント (カスタムリソース) を参照してください。

ガイドラインと要件

自動トレーニングのガイドラインと要件は次のとおりです。

  • 自動トレーニングは、前回のトレーニング以降に一括またはリアルタイムのインタラクションデータをインポートした場合にのみ発生します。これには、アイテムインタラクション、または 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-arn dataset group ARN \ --recipe-arn recipe 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)

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') create_solution_response = personalize.create_solution( name = 'solution name', recipeArn = 'recipe ARN', datasetGroupArn = 'dataset group ARN', performAutoTraining = True, solutionConfig = { "autoTrainingConfig": { "schedulingExpression": "rate(5 days)" } } ) solution_arn = create_solution_response['solutionArn'] print('solution_arn: ', solution_arn)
SDK for JavaScript v3
import { CreateSolutionCommand, PersonalizeClient, } from "@aws-sdk/client-personalize"; // create client const personalizeClient = new PersonalizeClient({ region: "REGION" }); // set the solution parameters export const solutionParam = { datasetGroupArn: "DATASET_GROUP_ARN" /* required */, recipeArn: "RECIPE_ARN" /* required */, name: "SOLUTION_NAME" /* required */, performAutoTraining: true /* optional, default is true */, solutionConfig: { autoTrainingConfig: { schedulingExpression: "rate(5 days)" /* optional, default is every 7 days */, }, }, }; export const run = async () => { try { const response = await personalizeClient.send( new CreateSolutionCommand(solutionParam) ); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();