유추 설명 가능성
Important
2023년 9월 20일부터 새로운 Personalizer 리소스를 만들 수 없습니다. Personalizer 서비스는 2026년 10월 1일에 사용 중지됩니다.
Personalizer는 추론 과정에서 선택한 작업의 어떤 기능이 모델에 가장 영향력이 크고 가장 적게 미치는지 이해하는 데 도움이 됩니다. 이를 사용하도록 설정하면 유추 설명 가능성에 기본 모델의 기능 점수가 Rank API 응답에 포함되므로 유추 시 애플리케이션이 이 정보를 수신합니다.
기능 점수를 사용하면 Personalizer가 내린 결정과 기능 간 관계를 더 잘 이해할 수 있습니다. 이를 통해 최종 사용자가 특정 권장 사항이 제시된 이유를 파악할 수 있는 인사이트를 제공하거나 모델이 특정 상황별 설정, 사용자 및 작업에 대해 편향을 보이는지 여부를 분석할 수 있습니다.
유추 설명 가능성을 사용하도록 설정하려면 어떻게 해야 하나요?
서비스 구성에서 서비스 구성 플래그 IsInferenceExplainabilityEnabled를 설정하면 Personalizer가 Rank API 응답에 기능 값과 가중치를 포함시킵니다. 현재 서비스 구성을 업데이트하려면 서비스 구성 – Update API를 사용합니다. JSON 요청 본문에 현재 서비스 구성을 포함하고 추가 항목 “IsInferenceExplainabilityEnabled”: true를 추가합니다. 현재 서비스 구성을 모르는 경우 서비스 구성 – Get API에서 가져올 수 있습니다.
{
"rewardWaitTime": "PT10M",
"defaultReward": 0,
"rewardAggregation": "earliest",
"explorationPercentage": 0.2,
"modelExportFrequency": "PT5M",
"logMirrorEnabled": true,
"logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
"logRetentionDays": 7,
"lastConfigurationEditDate": "0001-01-01T00:00:00Z",
"learningMode": "Online",
"isAutoOptimizationEnabled": true,
"autoOptimizationFrequency": "P7D",
"autoOptimizationStartDate": "2019-01-19T00:00:00Z",
"isInferenceExplainabilityEnabled": true
}
참고 항목
유추 설명 가능성을 사용하도록 설정하면 Rank API에 대한 호출 대기 시간이 크게 증가합니다. 이 기능을 실험하고 시나리오에서 대기 시간을 측정하여 애플리케이션의 대기 시간 요구 사항을 충족하는지 확인하는 것이 좋습니다.
기능 점수를 어떻게 해석하나요?
유추 설명 가능성을 사용하도록 설정하면 inferenceExplanation이라는 Rank API의 JSON 응답에 컬렉션이 추가됩니다. 여기에는 Personalizer의 기본 모델에서 학습한 기능 점수와 함께 Rank 요청에 제출된 기능 이름 및 값의 목록이 포함됩니다. 기능 점수는 각 기능이 작업을 선택하는 모델에서 얼마나 영향력이 있었는지에 대한 인사이트를 제공합니다.
{
"ranking": [
{
"id": "EntertainmentArticle",
"probability": 0.8
},
{
"id": "SportsArticle",
"probability": 0.15
},
{
"id": "NewsArticle",
"probability": 0.05
}
],
"eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
"rewardActionId": "EntertainmentArticle",
"inferenceExplanation": [
{
"id”: "EntertainmentArticle",
"features": [
{
"name": "user.profileType",
"score": 3.0
},
{
"name": "user.latLong",
"score": -4.3
},
{
"name": "user.profileType^user.latLong",
"score" : 12.1
},
]
]
}
위의 예제에서는 각 확률 점수와 함께 ranking 컬렉션에 세 개의 작업 ID가 반환됩니다. 가장 큰 확률의 작업은 Personalizer API로 전송된 데이터에 대해 학습된 모델에 의해 결정되는 _최상의 작업_이며, 이 경우 "id": "EntertainmentArticle"
입니다. 작업 ID는 해당 작업에 대한 모델에 의해 결정된 기능 이름과 점수, Rank API로 전송된 기능과 값과 함께 inferenceExplanation 컬렉션에서 다시 확인할 수 있습니다.
Personalizer는 최상의 작업 또는 탐색 정책에서 선택한 탐구 작업을 반환함에 유의하세요. 최상의 작업은 모델이 평균 보상을 최대화할 확률이 가장 높다고 결정한 것인 반면, 탐구 작업은 Rank API 호출에서 제공된 모든 가능한 작업 세트 중에서 선택됩니다. 탐색 중에 수행된 작업은 수행할 작업을 결정하는 데 기능 점수를 활용하지 않으므로 탐색 작업에 대한 기능 점수는 작업이 수행된 이유를 이해하는 데 사용되어서는 안 됩니다. 여기에서 탐색에 대해 자세히 알아볼 수 있습니다.
Personalizer가 반환하는 최상의 작업에서는 기능 점수가 다음과 같은 일반적인 인사이트를 제공할 수 있습니다.
- 양수 점수가 클수록 이 작업을 선택하는 모델에 대한 지원이 더 많습니다.
- 음수 점수가 클수록 이 작업을 선택하지 않는 모델에 대한 지원이 더 많습니다.
- 0에 가까운 점수는 이 작업을 선택하는 결정에 미치는 영향이 작습니다.
유추 설명 가능성에 대한 중요한 고려 사항
대기 시간이 증가했습니다. 유추 설명 가능성을 사용하도록 설정하면 기능 정보 처리로 인해 Rank API 호출의 대기 시간이 크게 증가합니다. 실험을 실행하고 시나리오의 대기 시간을 측정하여 애플리케이션의 대기 시간 요구 사항을 충족하는지 확인합니다.
상관 관계가 있는 기능. 서로 상관 관계가 높은 기능은 기능 점수의 유용성을 줄일 수 있습니다. 예를 들어 기능 A가 기능 B와 상관 관계가 높다고 가정해 보세요. 기능 A의 점수가 큰 양수 값인 반면 기능 B의 점수는 큰 음수 값일 수 있습니다. 이 경우 두 기능은 효과적으로 서로 상쇄될 수 있으며, 모델에 거의 또는 전혀 영향을 미치지 않을 수 있습니다. Personalizer는 상관 관계가 높은 기능에 매우 강력하지만 유추 설명 가능성을 사용할 때 Personalizer로 전송되는 기능이 상관 관계가 높지 않은지 확인해야 합니다.
기본 탐색 전용입니다. 현재 유추 설명 가능성은 기본 탐색 알고리즘만 지원합니다.