콘텐츠로 이동하기
AI 및 머신러닝

Digitec Galaxus가 강화 학습과 Google Cloud를 활용해 맞춤설정된 뉴스레터를 전송하는 방법

2021년 12월 27일
https://storage.googleapis.com/gweb-cloudblog-publish/original_images/Tensorflow_Newsletter_01.gif
Khalid Salama

Staff Machine Learning Solutions Architect

Anant Nawalgaria

Senior Machine Learning Specialist Engineer, Google

Google Cloud 사용해 보기

$300의 무료 크레딧과 20개 이상의 항상 무료인 제품으로 Google Cloud 사용을 시작해보세요.

무료 체험

* 본 아티클의 원문은 2021년 7월 26일 Google Cloud 블로그(영문)에 게재되었습니다.  

Digitec Galaxus AG는 스위스 최대의 온라인 소매업체로, 두 곳의 온라인 상점을 운영하고 있습니다. 한 곳은 스위스의 소비자 전자제품 및 미디어 제품 온라인 마켓을 선도하는 Digitec이고, 다른 한 곳은 일상생활에 필요한 거의 모든 제품이 있는 스위스에서 가장 큰 온라인 마켓인 Galaxus로 늘 저렴한 제품을 판매하며 꾸준히 제품 범위를 확장하고 있습니다.

효율적이고 개인화된 쇼핑 경험으로 유명한 Digitec Galaxus는 고객이 쇼핑할 때마다 흥미롭고 관련성 높은 플랫폼이 되기 위한 요소가 무엇인지 알고 있습니다. 

문제: 모든 상황에 따라 맞춤설정 결정하기

Digitec Galaxus에서 Google Cloud에 문의해 왔을 때 이 회사에는 쇼핑객의 경험을 개인화할 수 있는 엔진이 이미 구축되어 있었습니다. 여러 추천 시스템을 갖추고 있었고 Recommendations AI의 상당한 얼리 어답터였기 때문에 이미 홈페이지, 제품 세부정보, 뉴스레터와 같은 위치에서 맞춤설정된 콘텐츠를 제공할 수 있었습니다. 

하지만 동시에 이러한 시스템 때문에 쇼핑객에게 가장 개인화된 경험을 제공하기 위해 가장 효과적으로 조합하고 최적화하는 방법을 파악하기가 어려운 측면이 있었습니다. 다음은 이 회사의 3가지 요구사항입니다.

  1. 맞춤설정

뉴스레터에 표시할 수 있는 12개 이상의 추천자가 있지만 추천자를 컨텍스트와 연결하고 사용자별로 각기 다른 추천자와 항목을 선택할 수 있어야 합니다. 또한 기존 트렌드를 활용하고 새로운 트렌드를 실험하고자 합니다.

  1. 지연 시간:

추천자 순위 목록이 50밀리초 지연 시간 이내에 검색되는 솔루션을 설계해야 합니다.

  1. 엔드 투 엔드 유지보수가 편리하고 일반화 가능한 모듈식 아키텍처: 

Digitec Galaxus는 컨텍스트 밴딧 모델의 학습 및 사용에 필요한 모든 MLops 기능을 갖추고 유지 관리가 편리한 오픈 소스 스택을 사용하여 솔루션을 설계하고자 합니다. 또한 홈페이지, Smartag 등에 대한 추천과 같이 염두하고 있는 다른 사용 사례에 쉽게 적용할 수 있도록 모듈형으로 만들어야 합니다. 

Digitec Galaxus는 위의 모든 요인을 고려하여 개인화를 한 단계 더 발전시킬 수 있도록 Google Cloud 기반 추천자 시스템인 머신러닝(ML) 컨텍스트 밴딧의 구현을 요청했습니다. 

컨텍스트 밴딧 알고리즘은 강화 학습의 간략한 형태로, 방문자(컨텍스트)에 관한 추가 정보를 개인에 따라 무엇이 가장 흥미로운지 학습하는 데 사용하므로 실제 의사결정에 도움을 줍니다. 또한 효과적인 트렌드를 잘 활용할 수 있으며, 아직 테스트되지 않았으나 더 높은 수익을 창출할 수 있는 새로운 트렌드를 탐색하는 데에도 뛰어납니다. 예를 들어 편안한 거실용 소파 또는 반려동물용품을 표시할 수 있는 홈페이지 이미지를 맞춤설정하는 경우를 생각해 보겠습니다. 

컨텍스트 밴딧 알고리즘이 없으면 이전 방문 시 관찰된 정보를 고려하지 않고 이러한 이미지 중 하나가 무작위로 표시됩니다. 컨텍스트 밴딧을 사용하면 비즈니스는 이전에 방문한 페이지, 다른 구매 등의 외부 컨텍스트를 고려할 수 있고 최종 결과(이미지 클릭)를 관찰하여 가장 효과적인 맞춤설정을 결정할 수 있습니다. 

컨텍스트 밴딧으로 맞춤설정 시스템 만들기

Digitec Galaxus는 웹사이트 홈페이지를 상당히 많이 개인화하고 있지만 홈페이지는 극히 민감하며 업데이트 및 변경에는 더 많은 팀간 협업이 필요합니다. 

Google에서는 Galaxus팀과 함께 범위를 좁혀 먼저 뉴스레터에 대한 컨텍스트 밴딧 맞춤설정 시스템 구축에 집중하기로 결정했습니다. Digitec Galaxus팀에서 뉴스레터에 대한 결정을 완전히 통제하고 있으며 뉴스레터에서 다양한 ML 실험을 테스트하는 것이 웹사이트 홈페이지에서 하는 것보다 수익에 부정적인 영향을 미칠 가능성이 적습니다. 

주된 목표는 시스템이 최소한의 조정을 거쳐 홈페이지와 Digitec Galaxus에서 제공하는 다른 서비스로 쉽게 이전되도록 설계하는 것이었습니다. 홈페이지의 기능적 및 비기능적 요구사항과 기타 내부 사용 사례도 충족해야 했습니다.

아래는 뉴스레터 맞춤설정 추천 시스템의 작동 원리를 나타낸 다이어그램입니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/digitec.max-1400x1400.jpg
  • 시스템에 구매 내역, 인구통계 등 뉴스레터 구독자에 관한 일부 컨텍스트 특성이 제공됩니다. 특성은 변수 또는 속성이라고도 하며 어떤 데이터가 분석되는지에 따라 크게 다를 수 있습니다. 

  • 컨텍스트 밴딧 모델은 이러한 컨텍스트 특성과 이용 가능한 12가지 추천자를 사용해 추천을 학습합니다(잠재적 동작). 

  • 그런 다음 모델은 어떤 동작이 보상(사용자의 뉴스레터 내 클릭) 기회를 높일 가능성이 가장 크고 문제(수신 거부)는 최소화할할 수 있는지 계산합니다. 또한 효과적인 기존 트렌드와 사용자 참여를 훨씬 더 높일 수 있는 잠재적인 새로운 패턴을 시도합니다.

뉴스레터 클릭 또는 수신 거부 클릭 중 무엇이 발생할지 계산하면 시스템은 클릭수 늘리기를 최적화하고 사용자에게 관련성이 없는 콘텐츠를 표시하지 않을 수 있습니다(클릭 유도). 이를 통해 Digitec Galaxus는 인기 있는 트렌드를 활용할 수 있고 잠재적으로 더 효과적인 트렌드를 탐색할 수도 있습니다. 

Google Cloud에서 제공하는 도움

컨텍스트 기반 뉴스레터 맞춤설정 시스템은 Google Cloud 생태계에서 이용 가능한 ML 추천 학습 및 예측 솔루션을 사용해 Google Cloud 아키텍처에 빌드되었습니다. 

아래는 대략적인 아키텍처를 나타낸 다이어그램입니다. 

https://storage.googleapis.com/gweb-cloudblog-publish/images/bandits_recommendation_-_TDD_1.max-1100x1100.jpg
확대하려면 클릭

아키텍처에 포함되는 컨텍스트 기반 ML 예측 생성의 3가지 단계는 다음과 같습니다. 

ML 개발: ML 모델과 파이프라인 디자인 및 빌드하기 

Vertex Notebooks가 실험과 프로토타입 제작을 위한 데이터 사이언스 환경으로 사용됩니다. Notebooks는 모델 학습, 스코어링 구성요소, 파이프라인을 구현하는 데에도 사용됩니다. 소스 코드는 GitHub에서 버전 관리됩니다. 지속적 통합(CI) 파이프라인은 자동으로 단위 테스트를 실행하고 컨테이너 이미지를 Cloud Container Registry에 저장하도록 설정되어 있습니다. 

ML 학습: 대규모 학습 및 ML 모델 저장  

학습 파이프라인이 Vertex Pipelines에서 실행됩니다. 기본적으로 파이프라인은 BigQuery에서 추출된 새 학습 데이터를 사용해 모델을 학습시키고 모델 레지스트리에 저장되는 학습 및 검증된 컨텍스트 밴딧 모델을 생성합니다. Google Cloud의 시스템에서 모델 레지스트리는 선별된 Cloud Storage입니다. 

학습 파이프라인은 Dataflow를 대규모 데이터 추출과 검증, 처리 및 모델 평가에 사용하고 Vertex Training을 모델의 대규모 분산 학습에 사용합니다. 또한 AI Platform 파이프라인은 다양한 파이프라인 단계에서 생성된 아티팩트, 즉 학습 모델의 출력을 Cloud Storage에 저장합니다. 다음으로 아티팩트에 관한 정보가 Cloud SQL의 ML 메타데이터 데이터베이스에 저장됩니다. 지속적 통합 파이프라인을 빌드하는 방법에 관한 자세한 내용은 문서 가이드를 읽어보세요.

ML 제공: 프로덕션 단계의 새 알고리즘 및 실험 배포 

학습 파이프라인은 AI Platform 파이프라인을 통해 일괄 예측을 사용해 많은 예측을 한번에 생성하기 때문에 Digitec Galaxus는 대량의 데이터 세트를 스코어링할 수 있습니다. 예측은 생성된 후에 Cloud Datastore에 저장되어 사용할 수 있습니다. 파이프라인은 모델 레지스트리에 저장된 최신 컨텍스트 밴딧 모델을 사용하여 BigQuery에서 추론 데이터 세트를 평가하고, 사용자별 최적의 뉴스레터에 대한 순위 목록을 제공하며, Datastore에 이 목록을 유지합니다. Cloud 함수는 Datastore에서 미리계산된 예측을 검색할 수 있도록 REST/HTTP 엔드포인트로 제공됩니다.

코드와 아키텍처의 모든 구성요소는 모듈형이고 사용이 간편하기 때문에 회사의 다른 여러 사용 사례에 맞춰 조정하고 적용할 수 있습니다.

수백만 명의 사용자를 위한 더 효과적인 뉴스레터 예측

뉴스레터 예측 시스템은 2월에 프로덕션에 처음 배포되었고 Digitec Galaxus는 이 시스템을 사용해 구독자를 위해 매주 수백만 개의 뉴스레터를 맞춤설정하고 있습니다. 정의된 기준보다 50% 높은 인상적인 결과가 나타났지만, 결과를 훨씬 더 개선하기 위해 계속 협력하고 있습니다. 

"이러한 수준에서 Google의 머신러닝 전문가와 직접 교류하고 협력하는 것은 우리에게 특별한 기회입니다. 추천 타겟팅에 컨텍스트 밴딧을 사용하면 사용자에게 각 추천자도 개인화하여 제공하게 되므로 맞춤설정에 완전히 새로운 접근방식을 추구할 수 있습니다. 우리는 이미 초기 실험을 통해 뉴스레터에서 우수한 결과를 얻었고 지금은 밴딧 부문에 관한 더 많은 컨텍스트 데이터를 포함하여 이 접근방식을 전체 뉴스레터로 확장하는 작업을 하고 있습니다. 또한 다음 단계로는 이 시스템을 온라인 상점에도 적용하여 사용자에게 훨씬 더 개인화된 경험을 제공할 계획입니다. 이렇게 확장 가능한 솔루션을 만들기 위해 우리는 TFX 및 TF 에이전트와 같은 Google의 오픈소스 도구와 Compute Engine, Cloud Machine Learning Engine, Kubernetes Engine, Cloud Dataflow 등의 Google Cloud 서비스를 사용하고 있습니다." -크리스찬 세이거, Digitec Galaxus의 맞춤설정 제품 소유자

기존 아키텍처와 시스템도 동적이기 때문에 새로운 행동, 트렌드, 사용자에 자동으로 적응할 수 있습니다. 따라서 Digitec Galaxus는 동일한 구성요소를 재사용하고 기존 시스템을 확장하여 홈페이지 맞춤설정과 현재 회사 내에 있는 기타 사용 사례를 개선할 계획입니다. 시스템의 유연성 덕분에 클릭 및 사용자 참여 외에도 향후 다른 기준에 맞춰 최적화할 수도 있습니다. 매우 흥미로운 프로젝트였으며 Digitec Galaxus에서 다음에 무엇을 개발할지 무척 기대됩니다. 

이 프로젝트에 관한 자세한 Tensorflow 블로그는 여기에서 확인하세요.
게시 위치