3. Introduction
● SNU EE B.S
● Caltech PhD
● Google Research SWE
○ 2015.08 ~ 2018.01
● Head of Datalab, KakaoMobility
○ 2018.03 ~ Present
● 30+ Publications
● TensorFlow Lattice’s main author
4. ML Service in Production
Streaming
MicroBatch
Batch
Real-time inference
● On-demand matching
● Speech recognition
● OCR
Batch inference
● Supply/Demand prediction
● Traffic prediction
● Recommendation
5. 카카오모빌리티 ML Service
● Real-time inference service: 6+ in production
● Batch inference service: 2+ in production
● Number of models > 1000+
● More to come..
6. ML in the wild
Expectation
source: https://medium.com/waymo/simulation-how-one-flashing-yellow-light-turns-into-thousands-of-hours-of-experience-a7a1cb475565
Reality
10. Typical life cycle of ML
Identify the
problem
Collect the data
Design metric &
model
Offline test
Online test
Analyze the
result
Go / No-go
Profit!!
11. 애자일 머신러닝
● ML is a good tool -- but it’s not the only tool.
● ML forces you to look at the data and define clear performance metrics.
sources: https://www.amazon.com/Thor-World-Digital-Exclusive-Bonus-Features/dp/B00HN1SVFU
https://econsultancy.com/google-analytics-custom-dashboards/
13. 가상의 예제: Product 고도화 해보기
K모사에서는 최근 환불 요청이 증가하고 있는 상품을 발견하였다.
WHY???
14. 가상의 예제: 문제 조사
● 조사해보니 영문판인지 모르고 샀다는 경우가 많았다.
● 장바구니에 넣고 Checkout 할때 해외 상품인지 아닌지 유저에게 알려줘서
고객의 실수를 줄여줄 수는 없을까?
xxx 는 해외 상품입니다.
구매하시겠습니까?
15. 문제 설정
● Metric 을 먼저 정해야한다.
○ Precision == 알려줬는데 실제로 실수였던 경우
○ Recall == 알려줬어야 하는 경우 중 실제로 알려준 경우
○ 어느 것에 focus?
● 알려줬어야하는 경우는 어떻게 설정할까?
○ 환불요청이 왔는지 안왔는지로 판단한다.
○ No need to manually label the dataset.
● 일단 Rule based 로 접근한다.
○ 해외상품인 경우 무조건 Trigger?? ⇒ 데이터를 살펴보아야한다.
16. 모델 Develop
● 사용할만한 피쳐들에는 어떠한 것들이 있을까?
○ 유저의 현재 위치, 유저의 사용 언어, 상품별 언어, 카테고리 등등
● 학습은? Binary classifier?
● 평가는?
● 시스템은? Real-time or batch?
17. Coordination
● 일단 시작하고 product team 과의 조율을 해본다.
● 본인이 own 하고 있으면 제일 좋다.
● 논의를 일찍 시작할수록 좋은 결과를 내기 좋아진다 -- Side effect 가 항상
존재한다.
Meeting w/
product
Ideation 개발
중간 결과
공유
A/B Test 분석
Ideation
Ideation
Ideation
18. Launch 까지는?
● A/B 테스트 설계
○ 실험군과 대조군 비교
○ 불만 사항 접수, Check-out lead time 등등 다양한 비즈니스 지표도 봐야한다.
● 검증
○ 잘못된 것은 없나?
○ 분석은 보통 2D matrix 로 해야한다. User 군 x {머신러닝 지표, 비즈니스 지표}
● 피드백 반영
○ 중간 결과 공유 및 프로덕트 팀의 요구 조건 재 정리
● 문제가 Slice 가 있으면 해당 Slice 정보를 말아내는 피처를 넣는다!
○ 인터넷 속도가 느린 군에서 지표가 떨어졌나???
■ 피쳐에 평균 접속 스피드를 넣는다 ㅎㅎ
19. Machine learning 모델 선정
1. Generalized Linear Model
a. 디버깅이 쉽고 어디서 실패하는지 알기 쉽다.
2. Gradient Boosted Decision Tree (XGBoost)
a. 묻지마 모델인데 Powerful 하다.
3. Deep learning model
a. Context 정보를 자유롭게 넣을 수 있다.
선순환 Cycle을 잘 만들 수록 좋다!