Recommendations AI는 GCP에서 출시한 AutoML 계열의 Machine Learning Product입니다.
Recommendations AI의 가장 큰 특징은 유일하게 "개인화된" 예측을 제공하는 Product라는 것입니다.
보통 Predict를 위한 Model을 생성하는 데에는 튜닝이나 최적화 등 ML관련 전문가적 지식이 있어야만 했지만,
Recommendations AI를 사용하면 다른 AutoML Product와 같이 ML에 대한 어떠한 지식이나 능력 없이도 Product가 알아서 Model을 생성할 수 있다는 장점이 있습니다.
덕분에 ML에 대한 지식이 없는 일반 E-commerce 사업에도 보통의 E-commerce에서 볼 수 있는 "맞춤 상품 추천"을 제 서비스를 제공할 수 있습니다.
ML 전문가 수준의 지식이 필요했던 기존의 Prediction Model 생성을 적절한 Data만 제공하면 곧바로 Prediction을 제공할 수 있는 Process로 변경할 수 있는 굉장한 Product입니다.
개인적으로 아마존이나 쿠팡같은 대형 E-commerce에서 제공하는 맞춤 상품 추천 서비스를 더욱 많은 Vendor가 이용할 수 있게 해 줄 Product라 생각해 관심이 많이 갔습니다.
하지만 아직 한국에서는 Recommendations AI를 활용한 사례가 많지 않고, 어떻게 Process를 구축해야 하는지 Reference가 많이 없어 본 글을 통해 제가 얻었던 후기를 남기고자 합니다.
1. Recommendations AI를 시작하기 전에
Recommendations AI를 통한 상품 추천 서비스를 시작하기 위해서는 우선 GCP Project와 이에 연결된 Billing account가 있어야 합니다.
사실 GCP의 거의 모든 Product는 GCP Project + Billing account라는 2가지 요소가 물려있어야 정상적으로 사용할 수 있습니다.
그래서 Recommendations AI를 활용한 추천 Process를 구축하기 전에 위의 2가지 요소를 준비합니다.
현재 Recommendations AI는 Beta기간이라 Model training과 prediction에 사용할 수 있는 600$ 무료 크레딧이 제공되고 있기 때문에 비용에 대한 걱정은 안 하셔도 될 것 같습니다.
2. Recommendations AI 둘러보기
이제 본격적으로 Model을 만들기 위해 Recommendations AI가 어떤 구성으로 이루어져 있는지 알아보겠습니다.
Recommendations AI의 패널은 크게 Data, Errors, Models, Placements, Buisiness insights로 이루어져 있고 이 구성들을 한 화면에 볼 수 있는 Dashboard 탭이 존재합니다.
Data 패널에서는 Model의 학습에 필요한 Catalog item data와 User event data 정보를 볼 수 있습니다.
Errors 패널에서는 Recommendations AI에서 발생한 Error들을 Data, Model, Prediction 별로 보여줍니다.
Models에서는 Model의 생성과 삭제 및 수정 작업을 할 수 있습니다.
Placements에서는 생성한 Model을 바탕으로 API를 call할 수 있는 Placements에 대한 관리작업을 할 수 있습니다.
Buisiness insights에서는 게시한 추천 서비스를 바탕으로 수익 등의 통계치를 확인할 수 있습니다.
본 포스트에서는 실제로 Product를 구성하는데 있어 가장 중요한 Data, Model, Placement만을 집중적으로 보도록 하겠습니다.
3. Data Import
어떤 ML 기반 Product를 사용하던 가장 중요한 것은 "어떤 데이터"를 학습에 이용하느냐일 것입니다.
Recommendations AI에서도 추천 모델에 주입할 Data가 "개인화된 제품 추천"이라는 목적에 적합해야 합니다.
그래서 Recommendations AI Model의 학습을 위해 넣을 수 있는 Data의 종류와 스키마를 지정해 놓고 그 기준에 맞는 Data만을 import할 수 있도록 해놓았습니다.
실제로 Recommendations AI를 이용하기 위한 작업의 대부분은 실제 존재하는 Data를 Recommendations AI에서 요구하는 스키마로 변형하는 것이 대부분의 시간을 차지합니다.
Recommendations AI에서 요구하는 Data는 크게 Catalog item data와 User event data로 나누어져 있습니다.
Catalog item data는 product를 운용하고 있는 상품의 리스트 data입니다.
고유키가 될 상품 ID와 상품명, 가격, 카테고리와 태그 등 다양한 정보를 입력할 수 있습니다.
User event data는 운영하고 있는 웹, 앱 등의 Endpoint에서 user들의 기록을 recording한 data입니다.
홈 페이지 방문 기록, 상품 페이지 방문 기록, 장바구니 담기 기록, 구매 기록 등이 이 데이터에 속합니다.
Recommendations AI의 Model은 최대 1년까지의 data만을 유효한 데이터로 보고 학습에 사용하게 되니 기록한지 1년이 지난 User event data는 학습에 이용하지 않아야 합니다.
이제 각각의 Data들을 Recommendations AI에 import합니다.
Data source는 Google cloud storage와 bigQuery에서 가져오거나 실시간으로 recording할 수도 있습니다.
Data 페이지의 상단 Import 버튼을 누른 뒤 Data source와 schema를 지정하면 import작업을 실행할 수 있습니다.
import되는 시간은 데이터 양에 따라 달라지지만 보통 long operation이기 때문에 몇 분 정도 기다려야 작업이 완료됩니다.
import 작업의 진행상황은 상단의 "View import activity" 버튼을 누르면 확인할 수 있습니다.
4. Model creation
학습에 필요한 데이터를 충분히 확보했으면 이제 상품을 추천할 Model을 만들 수 있습니다.
Recommendations AI에서 생성할 수 있는 Model은 4종류가 존재합니다.
개인 이력을 기반으로 맞춤 상품을 추천해주는 "Recommended for you"
다른 User들이 구매한 기록을 기반으로 현재 상품과 함께 자주 구매한 상품을 추천해주는 "Frequently bought together"
User들의 구매 이력을 바탕으로 추가적으로 구매할 상품을 추천해주는 "Others you may like"
ML 기반 Model은 아니지만 시간순으로 방문한 상품을 표시해주는 "Recently viewed"
각각의 Model이 요구하는 Data의 종류와 양이 다르므로 어떤 Model을 생성할 것인지에 따라 Import해야 할 데이터도 달라집니다.
자세한 사항은 Recommendations AI Document나 Model Create 페이지에서 볼 수 있습니다.
모든 Model을 이용하고 싶다면 12개월 간의 "홈페이지 방문", "상품 페이지 방문", "장바구니 추가", "상품 구매" 기록을 구비해야 합니다.
데이터가 충분히 준비되었다면 모델을 생성할 수 있습니다.
'GCP' 카테고리의 다른 글
Google Cloud에서 Terraform을 남들보다 더 잘 이용하는 방법 (0) | 2020.11.10 |
---|---|
GCP Recommendations AI를 통해 개인화된 상품 추천 서비스 만들기(2) (2) | 2020.11.02 |
GCP Professional Cloud Network Engineer certificate 취득기 (0) | 2020.10.09 |
코딩 한 줄 필요 없는 Machine Learning - GCP AutoML Tables로 쉽게 ML 하기 (2) | 2020.08.21 |
GCP + Terraform으로 클라우드 인프라 관리하기(2) (0) | 2020.08.10 |