エクスレラ8

Amazon Personalize でのソリューションの自動トレーニングの導入 |アマゾン ウェブ サービス

Amazonパーソナライズ ソリューションの自動トレーニングを発表できることを嬉しく思います。ソリューションのトレーニングは、モデルの有効性を維持し、推奨事項がユーザーの進化する行動や好みに確実に一致するようにするための基礎です。データのパターンと傾向は時間の経過とともに変化するため、最新の関連データを使用してソリューションを再トレーニングすることで、モデルが学習して適応できるようになり、予測精度が向上します。自動トレーニングにより、新しいソリューション バージョンが生成され、モデルのドリフトが軽減され、最新の項目を含めながらエンドユーザーの現在の行動に合わせた関連性のある推奨事項が維持されます。最終的に、自動トレーニングは、変化する好みに適応する、よりパーソナライズされた魅力的なエクスペリエンスを提供します。

Amazon Personalize は、機械学習 (ML) を使用してデジタル変革を加速し、パーソナライズされた推奨事項を既存の Web サイト、アプリケーション、電子メールマーケティングシステムなどに簡単に統合できるようにします。 Amazon Personalize を使用すると、開発者は ML の専門知識を必要とせずに、カスタマイズされたパーソナライゼーション エンジンを迅速に実装できます。 Amazon Personalize は、必要なインフラストラクチャをプロビジョニングし、データの処理、機能の特定、適切なアルゴリズムの使用、データに基づくカスタマイズされたモデルのトレーニング、最適化、ホストなど、ML パイプライン全体を管理します。すべてのデータは暗号化され、プライバシーが保護されます。

この投稿では、ソリューションと推奨事項の正確性と関連性を維持できるように、自動トレーニングを構成するプロセスについて説明します。

ソリューションの概要

A 溶液 Amazon Personalize レシピ、カスタマイズされたパラメータ、および 1 つ以上のソリューション バージョン (トレーニング済みモデル) の組み合わせを指します。カスタム ソリューションを作成するときは、ユースケースに一致するレシピを指定し、トレーニング パラメーターを構成します。この投稿では、トレーニング パラメーターで自動トレーニングを構成します。

前提条件

ソリューションの自動トレーニングを有効にするには、まず Amazon Personalize リソースを設定する必要があります。開始方法 データセットグループの作成、スキーマ、および データセット アイテム、インタラクション、ユーザーデータを表します。手順については、を参照してください。 はじめに (コンソール) or 開始方法 (AWS CLI).

データのインポートが完了したら、ソリューションを作成する準備が整います。

ソリューションを作成する

自動トレーニングを設定するには、次の手順を実行します。

  1. Amazon Personalize コンソールで、新しいソリューションを作成します。
  2. ソリューションの名前を指定し、作成するソリューションの種類を選択し、レシピを選択します。
  3. 必要に応じて、タグを追加します。 Amazon Personalize リソースのタグ付けの詳細については、を参照してください。 Amazon Personalize リソースのタグ付け.
  4. 自動トレーニングを使用するには、 自動トレーニング セクション、選択 オンにする トレーニングの頻度を指定します。

自動トレーニングはデフォルトで有効になっており、7 日ごとに 1 回トレーニングされます。ビジネス ニーズに合わせて、30 ~ XNUMX 日に XNUMX 回の範囲でトレーニングの頻度を構成できます。

  1. レシピでアイテムの推奨事項またはユーザー セグメントが生成される場合は、オプションで トレーニング用コラム セクションで、Amazon Personalize がソリューションのバージョンをトレーニングするときに考慮する列を選択します。
  2. ハイパーパラメータの設定 、必要に応じて、レシピとビジネス ニーズに基づいてハイパーパラメータ オプションを構成します。
  3. 追加の構成を提供し、選択します Next.
  4. ソリューションの詳細を確認し、自動トレーニングが期待どおりに構成されていることを確認します。
  5. 選択する ソリューションを作成する.

Amazon Personalize は、最初のソリューションバージョンを自動的に作成します。あ ソリューションバージョン トレーニングされた ML モデルを指します。ソリューションのソリューションバージョンが作成されると、Amazon Personalize は、レシピとトレーニング設定に基づいてソリューションバージョンをサポートするモデルをトレーニングします。ソリューション バージョンの作成が開始されるまでに最大 1 時間かかる場合があります。

以下は、AWS SDK を使用して自動トレーニングを備えたソリューションを作成するためのサンプルコードです。

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 SDK 経由で自動トレーニングが有効になっていることを確認することもできます。

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

応答には次のフィールドが含まれます performAutoTraining & autoTrainingConfigで設定した値が表示されます。 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. をセットする 1 秒あたりの最小プロビジョニングされたトランザクション.
  6. キャンペーンを作成します。

ステータスが次の場合、キャンペーンの準備は完了です。 ACTIVE.

以下は、キャンペーンを作成するためのサンプルコードです。 syncWithLatestSolutionVersion に設定 true AWS SDKを使用します。接尾辞も追加する必要があります $LATEST solutionArn in solutionVersionArn 設定するとき syncWithLatestSolutionVersion 〜へ true.

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 SDK 経由で次のことを確認します。 syncWithLatestSolutionVersion 有効になっています:

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

応答にはフィールドが含まれます syncWithLatestSolutionVersioncampaignConfigに設定した値が表示されます。 CreateCampaign コール。

キャンペーンを更新してキャンペーンを作成した後、Amazon Personalize コンソールで最新のソリューションバージョンを自動的に使用するオプションを有効または無効にすることができます。同様に、有効または無効にすることができます syncWithLatestSolutionVersion   UpdateCampaign AWS SDKを使用します。

まとめ

自動トレーニングを使用すると、ワークフローを合理化し、Amazon Personalize で最新のソリューションバージョンのデプロイを自動化することで、モデルのドリフトを軽減し、推奨事項の関連性を維持できます。

Amazon Personalize を使用したユーザーエクスペリエンスの最適化の詳細については、を参照してください。 Amazon Personalize 開発者ガイド.


著者について

バカリ・ジョンソン Amazon Personalize チームの AWS AI/ML を担当するシニア テクニカル プロダクト マネージャーです。 コンピューター サイエンスと戦略の背景を持つ彼女は、製品のイノベーションに情熱を持っています。 余暇には、旅行や大自然の探索を楽しんでいます。

アジャイ・ヴェンカタクリシュナン Amazon Personalize チームのソフトウェア開発エンジニアです。余暇には、執筆とサッカーを楽しんでいます。

プラネーシュ・アヌバブ Amazon Personalize のシニア ソフトウェア エンジニアです。彼は、大規模な顧客にサービスを提供する機械学習システムの設計に情熱を注いでいます。仕事以外では、サッカーが大好きで、レアル マドリードの熱心なファンです。

私たちとチャット

やあ! どんな御用でしょうか?