솔루션 생성 및 구성 - Amazon Personalize

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

솔루션 생성 및 구성

데이터 가져오기를 마치면 솔루션을 만들 준비가 된 것입니다. 솔루션이란 Amazon Personalize 레시피, 사용자 지정 파라미터 및 하나 이상의 솔루션 버전(교육된 모델)의 조합을 말합니다.

솔루션을 생성할 때 특정 비즈니스 니즈를 충족할 수 있도록 구성할 수 있습니다.

  • 솔루션을 구성할 때 사용 사례에 맞는 레시피를 지정합니다. 사용 가능한 레시피에 대한 자세한 내용은 레시피 선택 단원을 참조하세요.

  • 선택한 레시피가 항목 추천이나 사용자 세그먼트를 생성하는 경우 Amazon Personalize가 모델 교육(솔루션 버전 생성) 시 고려하는 열을 수정할 수 있습니다. 자세한 설명은 교육 시 사용되는 열 구성 섹션을 참조하세요.

  • 레시피와 비즈니스 니즈에 따라 모델을 최적화하도록 하이퍼파라미터를 구성할 수 있습니다. 레시피에 따라 다른 하이퍼파라미터를 사용합니다. 하이퍼파라미터 구성에 대한 자세한 내용은 하이퍼파라미터 및 HPO을 참조하세요. 레시피에 사용할 수 있는 하이퍼파라미터는 레시피 선택의 레시피 페이지를 참조하세요.

  • 사용자-개인 맞춤 레시피 또는 개인 맞춤형-순위 레시피 레시피를 사용하면 관련성 외에도 목표에 맞추어 솔루션을 최적화할 수 있습니다. 자세한 내용은 추가 목표에 맞게 솔루션 최적화 섹션을 참조하세요.

  • 이벤트 유형 및 이벤트 값 데이터가 있는 경우, 이를 사용하여 Amazon Personalize가 교육 중에 고려하는 항목 상호 작용 레코드를 선택할 수 있습니다. 자세한 내용은 교육에 사용할 항목 상호 작용 데이터 선택 섹션을 참조하세요.

기존 솔루션이 있는 경우, Amazon Personalize 콘솔을 사용하여 솔루션을 복제할 수 있습니다. 솔루션을 복제할 때 기존 솔루션의 구성(예: 레시피 및 하이퍼파라미터)을 시작점으로 사용하고 필요에 따라 변경할 수 있습니다. 자세한 내용은 솔루션 복제(콘솔) 단원을 참조하세요. 솔루션을 생성한 후에는 Amazon Personalize 콘솔의 솔루션 세부 정보 페이지에서 또는 DescribeSolution 작업으로 솔루션의 구성 상세 정보를 볼 수 있습니다.

콘솔, AWS Command Line Interface (AWS CLI) 또는 AWS SDK를 사용하여 솔루션을 만들고 구성할 수 있습니다.

솔루션 생성(콘솔)

콘솔에서 솔루션을 생성하려면, 사용할 데이터 세트가 포함된 데이터 세트 그룹을 선택한 다음 솔루션 이름, 레시피 및 선택적 레시피별 하이퍼파라미터를 지정합니다.

레시피가 항목 추천이나 사용자 세그먼트를 생성한다면 열을 변경하여 다양한 교육 데이터 조합을 실험하거나, 중요한 데이터가 없는 열을 교육에서 제외할 수 있습니다. 예를 들어, 권장 사항을 필터링하는 데만 사용하려는 열이 있을 수 있습니다. 이 열을 교육에서 제외할 수 있으며, Amazon Personalize는 필터링할 때만 이 열을 고려합니다.

솔루션을 구성하려면(콘솔)
  1. https://console.aws.amazon.com/acm-pca/home에서 Amazone Personalize 콘솔을 열고 계정에 로그인하세요.

  2. 데이터 세트 그룹 페이지에서 데이터 세트 그룹을 선택합니다.

  3. 개요 페이지의 3단계:

    • 도메인 데이터 세트 그룹을 만든 경우 사용자 지정 리소스 사용을 선택하고 솔루션 생성을 선택합니다.

    • 사용자 지정 데이터 세트 그룹을 생성한 경우 솔루션 생성을 선택합니다.

  4. 솔루션 이름에 솔루션의 이름을 지정합니다.

  5. 솔루션 유형에서 만들려는 솔루션 유형을 선택합니다. 선택한 유형에 따라 사용 가능한 레시피가 달라집니다.

    • 항목 추천을 선택하여 사용자를 위한 항목 추천을 받습니다. 개인 맞춤형 영화 추천을 예로 들 수 있습니다.

    • 작업 추천을 선택하여 사용자를 위한 작업 추천을 받습니다. 사용자를 위해 앱 다운로드와 같은 차선책 작업 생성을 예로 들 수 있습니다.

    • 항목 데이터를 기반으로 사용자 세그먼트(사용자 그룹)를 가져오려면 사용자 세분화를 선택합니다.

  6. 레시피의 경우 레시피를 선택합니다(레시피 선택 참조).

  7. 태그의 경우, 원하는 태그를 추가할 수 있습니다. Amazon Personalize 리소스 태그 지정에 대한 자세한 내용은 Amazon Personalize 리소스에 태그 지정 단원을 참조하세요.

  8. 다음을 선택합니다.

  9. 레시피가 항목 추천이나 사용자 세그먼트를 생성한다면 고급 구성 페이지에서 원하는 교육용 열을 사용하여 Amazon Personalize가 솔루션 버전을 교육할 때 고려하는 열을 선택합니다.

    기본 설정으로 Amazon Personalize는 교육 진행 시 사용할 수 있는 모든 열을 사용합니다. 선택한 레시피에서 사용한 데이터 세트만 나열됩니다. 부울 데이터 유형과 범주형이 아닌 문자열 필드가 있는 열은 사용되지 않습니다. EVENT_TYPE 열은 제외할 수 없습니다.

    자세한 설명은 교육 시 사용되는 열 구성 섹션을 참조하세요.

  10. 하이퍼파라미터 구성에서 레시피와 비즈니스 요구 사항에 따라 하이퍼파라미터 옵션을 구성합니다. 레시피에 따라 다른 하이퍼파라미터를 사용합니다. 사용 가능한 하이퍼파라미터는 레시피 선택의 개별 레시피를 참조하세요.

  11. 솔루션 구성에서 항목 상호 작용 데이터 세트에 EVENT_TYPE 또는 EVENT_TYPE과 EVENT_VALUE 열이 모두 있는 경우, 원하는 이벤트 유형이벤트 값 임계치 필드를 사용하여 Amazon Personalize가 모델을 교육할 때 사용하는 항목 상호 작용 데이터를 선택합니다.

    자세한 내용은 교육에 사용할 항목 상호 작용 데이터 선택 섹션을 참조하세요.

  12. 사용자-개인 맞춤 레시피 또는 개인 맞춤형-순위 레시피 레시피를 사용하는 경우, 원하는 목표를 지정하고 목표 민감도를 선택하여 관련성 이외에도 목표에 맞추어 솔루션을 최적화합니다. 목표 민감도는 Amazon Personalize가 상호작용 데이터를 통해 목표와 관련성을 기준으로 추천 항목의 균형을 맞추는 방법을 구성합니다. 자세한 내용은 추가 목표에 맞게 솔루션 최적화 섹션을 참조하세요.

  13. 다음을 선택하고 솔루션 세부 정보를 검토하십시오. 솔루션을 만든 후에는 솔루션 구성을 변경할 수 없습니다.

  14. 솔루션 생성을 선택합니다. Amazon Personalize가 첫 번째 솔루션 버전 생성을 시작하면 솔루션 및 레시피 페이지가 나타납니다. 상태를 모니터링하려면 솔루션을 선택하고 솔루션 버전 단원에서 상태를 확인합니다.

    활성화되면 캠페인에 배포하고 실시간 추천을 받을 준비가 된 것입니다. 또는 레시피에 따라 캠페인을 만들지 않고도 일괄 추천을 받을 수 있습니다.

    캠페인에 대한 자세한 내용은 을 참조하십시오캠페인 생성. 배치 추천에 대한 자세한 내용은 배치 권장 사항 및 사용자 세그먼트(사용자 지정 리소스) 섹션을 참조하세요.

솔루션 생성(AWS CLI)

를 사용하여 솔루션을 만들려면 다음 create-solution 작업을 사용하십시오. AWS CLI solution name, dataset group arn, 및 recipe arn을 지정합니다.

aws personalize create-solution \ --name solution name \ --dataset-group-arn dataset group arn \ --recipe-arn recipe arn

솔루션 Amazon 리소스 이름(ARN)이 예를 들어, 다음과 같이 표시됩니다.

{ "solutionArn": "arn:aws:personalize:<region>:solution/<solution name>" }

나중에 사용할 수 있도록 솔루션 ARN을 기록하고 솔루션 버전 생성(AWS CLI)을 계속 진행하세요.

레시피에 따라 위 코드를 수정하여 레시피 속성 및 하이퍼파라미터를 최적화하거나(하이퍼파라미터 및 HPO 참조), 교육에 사용되는 열을 선택하거나(교육 시(AWS CLI) 사용되는 열 구성 참조), 교육에 사용되는 상호 작용 데이터를 필터링할 수 있습니다(교육에 사용할 항목 상호 작용 데이터 선택 참조).

사용자-개인 맞춤 레시피 또는 개인 맞춤형-순위 레시피 레시피를 사용하면 관련성 이외에도 목표에 맞추어 솔루션을 최적화할 수 있습니다. 자세한 내용은 추가 목표에 맞게 솔루션 최적화 섹션을 참조하세요.

솔루션 (AWS SDK) 만들기

다음 코드는 Amazon Personalize 솔루션을 생성하는 방법을 보여줍니다. 솔루션에 이름을 지정하고 데이터 세트 그룹의 Amazon 리소스 이름(ARN) 및 사용할 레시피의 ARN을 지정합니다. 레시피에 대한 자세한 내용은 레시피 선택 단원을 참조하세요.

레시피에 따라 다음 코드를 수정하여 레시피 속성 및 하이퍼파라미터를 최적화하거나(하이퍼파라미터 및 HPO 참조), 교육에 사용되는 열을 구성하거나(교육 시(AWS SDK) 사용되는 열 구성 참조), 교육에 사용되는 상호 작용 데이터를 필터링할 수 있습니다(교육에 사용할 항목 상호 작용 데이터 선택 참조).

사용자-개인 맞춤 레시피 또는 개인 맞춤형-순위 레시피 레시피를 사용하면 관련성 이외에도 목표에 맞추어 솔루션을 최적화할 수 있습니다. 자세한 내용은 추가 목표에 맞게 솔루션 최적화 섹션을 참조하세요.

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') print('Creating solution') create_solution_response = personalize.create_solution( name='solution name', recipeArn= 'recipe arn', datasetGroupArn = 'dataset group arn' ) solution_arn = create_solution_response['solutionArn'] print('solution_arn: ', solution_arn)
SDK for Java 2.x
public static String createPersonalizeSolution(PersonalizeClient personalizeClient, String datasetGroupArn, String solutionName, String recipeArn) { try { CreateSolutionRequest solutionRequest = CreateSolutionRequest.builder() .name(solutionName) .datasetGroupArn(datasetGroupArn) .recipeArn(recipeArn) .build(); CreateSolutionResponse solutionResponse = personalizeClient.createSolution(solutionRequest); return solutionResponse.solutionArn(); } catch (PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { CreateSolutionCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the solution parameters. export const createSolutionParam = { datasetGroupArn: 'DATASET_GROUP_ARN', /* required */ recipeArn: 'RECIPE_ARN', /* required */ name: 'NAME' /* required */ } export const run = async () => { try { const response = await personalizeClient.send(new CreateSolutionCommand(createSolutionParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

나중에 사용할 수 있도록 솔루션 ARN을 기록하고 솔루션 버전 생성(AWS SDK)을 계속 진행하세요.