Personalizer란?

Important

2023년 9월 20일부터 새로운 Personalizer 리소스를 만들 수 없습니다. Personalizer 서비스는 2026년 10월 1일에 사용 중지됩니다.

참고 항목

2023년 7월부터 Azure AI 서비스는 이전에 Cognitive Services 및 Azure Applied AI Services로 알려진 모든 것을 포함합니다. 가격 책정에는 변화가 없습니다. Cognitive ServicesAzure Applied AI라는 이름은 Azure 청구, 비용 분석, 가격 목록 및 가격 API에서 계속 사용됩니다. API(애플리케이션 프로그래밍 인터페이스) 또는 SDK에 대한 호환성이 손상되는 변경은 없습니다.

Azure AI Personalizer는 애플리케이션이 보충 학습을 사용하여 대규모로 더 스마트한 결정을 내리는 AI 서비스입니다. Personalizer는 애플리케이션, 시나리오 및/또는 사용자의 상태(컨텍스트)와 가능한 결정 및 관련 특성(작업)의 상태에 대한 정보를 처리하여 최상의 결정을 내립니다. 애플리케이션의 피드백(보상)은 Personalizer로 전송되어 거의 실시간으로 의사 결정 기능을 개선시키는 방법을 학습합니다.

Personalizer는 다양한 시나리오에서 취할 수 있는 최선의 작업을 결정할 수 있습니다.

  • 전자상거래: 구매 가능성을 최대화하기 위해 고객에게 어떤 제품을 보여야 하나요?
  • 콘텐츠 권장: 클릭률을 높이려면 어떤 문서를 표시해야 하나요?
  • 콘텐츠 디자인: 웹 사이트에서 사용자 참여를 최적화하려면 어디에 광고를 배치해야 하나요?
  • 커뮤니케이션: 응답 가능성을 최대화하려면 알림을 언제, 어떻게 보내야 하나요?

Personalizer를 시작하려면 빠른 시작 가이드를 따르거나 이 대화형 데모를 통해 브라우저에서 Personalizer를 사용해 보세요.

이 설명서에는 다음과 같은 유형의 문서가 포함되어 있습니다.

  • 빠른 시작은 서비스에 대한 API 요청을 시작하기 위한 설정 및 샘플 코드를 지침하는 단계별 지침을 제공합니다.
  • 방법 가이드에는 Personalizer 기능 및 고급 기능 사용에 대한 지침이 포함되어 있습니다.
  • 코드 샘플은 Personalizer를 사용하는 방법을 보여 주고 애플리케이션을 서비스와 쉽게 인터페이스하도록 도와줍니다.
  • 자습서는 더 광범위한 비즈니스 솔루션의 일부로 Personalizer를 구현하는 더 긴 연습입니다.
  • 개념에서는 Personalizer 기능, 기능 및 기본 사항에 대해 자세히 설명합니다.

Personalizer의 작동 원리

Personalizer는 평균 보상을 최대화하기 위해 보충 학습을 사용하여 모든 사용자의 지정된 컨텍스트에 가장 적합한 작업을 선택합니다.

  • 컨텍스트: 결정을 내리는 데 관련될 수 있는 애플리케이션, 시나리오 또는 사용자의 상태를 설명하는 정보입니다.
    • 예: 웹 사이트를 방문하는 사용자의 위치, 디바이스 유형, 연령 및 좋아하는 항목.
  • 작업: 각 항목을 설명하는 특성과 함께 선택할 수 있는 개별 항목 집합입니다.
    • 예: 일련의 뉴스 문서 및 각 문서에서 설명하는 항목.
  • 보상: 결정이 나쁨(0) 또는 좋음(1)을 나타내는 0과 1 사이의 숫자 점수입니다.
    • 예: "1"은 사용자가 제안된 문서를 클릭했음을 나타내고 "0"은 사용자가 클릭하지 않았음을 나타냅니다.

순위 및 보상 API

Personalizer를 사용하면 단 두 가지 기본 API를 사용하여 보충 학습의 강력함과 유연성을 활용할 수 있습니다.

순위API는 결정을 내릴 때마다 애플리케이션에서 호출됩니다. 애플리케이션은 일련의 작업, 각 작업을 설명하는 기능 및 현재 컨텍스트를 설명하는 기능을 포함하는 JSON을 보냅니다. 각 순위 API 호출은 이벤트라고 하며 고유한 이벤트 ID로 기록됩니다. 그런 다음 Personalizer는 기본 모델에 의해 결정된 총 평균 보상을 최대화하는 최상의 작업 ID를 반환합니다.

보상API순위 호출에서 반환된 작업 ID가 값을 제공했는지 여부를 Personalizer가 파악하는 데 도움이 될 수 있는 피드백이 있을 때마다 애플리케이션에서 호출됩니다. 예를 들어 사용자가 제안된 뉴스 문서를 클릭하거나 제안된 제품의 구매를 완료한 경우. 보상 API에 대한 호출은 실시간으로(순위 호출이 이루어진 직후) 이루어지거나 시나리오의 요구 사항에 더 맞도록 지연될 수 있습니다. 보상 점수는 비즈니스 메트릭 및 목표를 결정하며 애플리케이션의 알고리즘 또는 규칙에 의해 생성될 수 있습니다. 점수는 0과 1 사이의 실수 값입니다.

학습 모드

  • 실습생 모드 실습생이 전문가를 관찰하여 기술을 배우는 것과 유사하게, 실습생 모드를 사용하면 Personalizer가 애플리케이션의 현재 결정 논리를 관찰하여 학습할 수 있습니다. 이는 학습되지 않은 새로운 모델의 소위 "콜드 부팅" 문제를 완화하는 데 도움이 되며 Personalizer로 전송되는 작업 및 컨텍스트 기능의 유효성을 검사할 수 있습니다. 실습생 모드에서 순위 API에 대한 각 호출은 기준 작업 또는 기본 작업을 반환합니다. 이 작업은 Personalizer를 사용하지 않고 애플리케이션에서 수행했을 것입니다. 이는 애플리케이션에서 가능한 작업 집합의 첫 번째 항목으로 순위 API의 Personalizer로 전송됩니다.

  • 온라인 모드 Personalizer는 기본 RL 모델에 의해 결정된 컨텍스트를 고려하여 최상의 작업을 반환하고 성능을 개선시킬 수 있는 다른 가능한 작업을 탐색합니다. Personalizer는 보상 API에 대한 호출에서 제공되는 피드백을 통해 학습합니다.

Personalizer는 현재 컨텍스트를 기반으로 최상의 작업을 학습하기 위해 모든 사용자에 대한 집합적 정보를 사용합니다. 서비스는 다음을 수행하지 않습니다.

  • 사용자 프로필 정보 유지 및 관리 고유 사용자 ID를 Personalizer로 보내면 안 됩니다.
  • 개별 사용자의 기본 설정 또는 기록 데이터를 로그합니다.

예제 시나리오

다음은 Personalizer를 사용하여 사용자에게 렌더링할 최상의 콘텐츠를 선택하는 데 사용할 수 있는 몇 가지 예입니다.

내용 유형 작업 {기능} 컨텍스트 기능 반환되는 보상 작업 ID
(이 콘텐츠 표시)
뉴스 기사 a. The president...(국가별, 정치, [텍스트])}
b. Premier League ... {(글로벌, 스포츠, [텍스트, 이미지, 비디오])}
c. Hurricane in the ... {지역별, 날씨, [텍스트, 이미지]}
Country='USA',
Recent_Topics=('politics', 'business'),
Month='October'
a The president...
영화 1. Star Wars{1977, [작업, 모험, 판타지], George Lucas}
2. Hoop Dreams{1994, [다큐멘터리, 스포츠], Steve James}
3. Casablanca{1942, [사랑, 드라마, 전쟁], Michael Curtiz}
Device='smart TV',
Screen_Size='large',
Favorite_Genre='classics'
3. Casablanca
전자상거래 제품 i. Product A {3kg, $$$$, 1일 배송}
ii. Product B {20kg, $$, 7일 이내에 배송}
iii. Product C {3kg, $$$, 2일 이내에 배송}
Device='iPhone',
Spending_Tier='low',
Month='June'
ii. Product B

시나리오 요구 사항

시나리오에 다음이 포함되는 경우 Personalizer를 사용합니다.

  • 각 개인화 이벤트에서 선택할 수 있는 제한된 작업 또는 항목 집합입니다. 각 순위 API 호출에서 최대 50개 작업을 권장합니다. 가능한 작업 집합이 더 많은 경우 Rank API를 호출하기 전에 권장 사항 엔진을 사용하거나 다른 메커니즘을 사용하여 작업 목록을 줄이는 것이 좋습니다.
  • 작업을 설명하는 정보(작업 기능)
  • 현재 컨텍스트를 설명하는 정보(컨텍스트 기능)
  • Personalizer가 학습할 수 있는 충분한 데이터 볼륨. 일반적으로 Personalizer가 효과적으로 학습할 수 있도록 하루에 최소 1,000개의 이벤트를 사용하는 것이 좋습니다. Personalizer가 충분한 데이터를 받지 못하면 서비스가 최상의 작업을 결정하는 데 시간이 더 오래 걸립니다.

AI의 책임 있는 사용

Microsoft는 사용자를 최우선으로 하는 원칙에 따라 AI를 발전시키기 위해 최선을 다하고 있습니다. Personalizer 서비스에서 사용할 수 있는 것과 같은 AI 모델은 상당한 잠재적 이점을 가지고 있지만 신중한 디자인과 사려 깊은 완화가 없으면 이러한 모델은 부정확하거나 심지어 유해한 콘텐츠를 생성할 가능성이 있습니다. Microsoft는 책임 있는 AI 사용에 대한 Microsoft의 원칙을 통합하고, 고객을 지원하기 위한 콘텐츠 필터를 빌드하고, 온보딩된 고객에게 책임 있는 AI 구현 지침을 제공하는 등 남용 및 의도하지 않은 피해로부터 보호하기 위해 상당한 투자를 해왔습니다. Personalizer에 대한 책임 있는 AI 문서를 참조하세요.

Personalizer를 애플리케이션에 통합

  1. 작업컨텍스트설계하고 계획합니다. 피드백을 보상 점수로 해석하는 방법을 결정합니다.

  2. 만든 각 Personalizer 리소스는 하나의 학습 루프로 정의됩니다. 루프는 해당 콘텐츠 또는 사용자 환경에 대한 순위 및 보상 호출을 모두 수신하고 기본 RL 모델을 학습합니다. 다음과 같습니다.

    리소스 종류 목적
    실습생 모드 - E0 온라인 모드를 사용하여 프로덕션 환경에서 더 나은 정책을 학습하기 전에 기존 애플리케이션에 영향을 주지 않고 현재 의사 결정 논리를 모방하도록 Personalizer를 학습합니다.
    온라인 모드 - 표준, S0 Personalizer는 RL을 사용하여 프로덕션에서 최상의 작업을 결정합니다.
    온라인 모드 - 무료, F0 제한된 비프로덕션 환경에서 Personalizer를 사용해 보세요.
  3. Personalizer를 애플리케이션, 웹 사이트 또는 시스템에 추가합니다.

    1. 애플리케이션, 웹 사이트 또는 시스템의 Personalizer에 순위 호출을 추가하여 최선의 작업을 결정합니다.

    2. 시나리오에서 보상 작업 ID로 지정된 대로 최상의 작업을 사용합니다.

    3. 사용자 동작 또는 피드백 데이터에 비즈니스 논리를 적용하여 보상 점수를 결정합니다. 예시:

      동작 계산된 보상 점수
      사용자가 Personalizer에서 제안한 뉴스 문서를 선택했습니다. 1
      사용자가 Personalizer에서 제안하지 않은 뉴스 문서를 선택했습니다. 0
      사용자가 뉴스 문서를 선택하지 않고 망설이다가 결국 Personalizer에서 제안한 뉴스 문서를 선택했습니다. 0.5
    4. 0과 1 사이의 보상 점수를 보내는 보상 호출을 추가합니다.

      • 피드백을 받은 직후.
      • 또는 지연된 피드백이 예상되는 시나리오에서 나중에 발생할 수 있습니다.
    5. Personalizer가 온라인 결정을 내리기 위해 중요한 데이터를 받은 후 일정 기간이 지나면 오프라인 평가로 루프를 평가합니다. 오프라인 평가를 통해 코드 변경이나 사용자 영향 없이 Personalizer 서비스의 효율성을 테스트하고 평가할 수 있습니다.

다음 단계