‘AI 추천 기술’을 선도하는 카카오 추천팀을 소개합니다.


카카오 추천팀은?


카카오 추천팀에서는 카카오 공동체에 추천 기술을 제공하고 있습니다. 카카오톡, 다음, 선물하기, 멜론, 픽코마(웹툰), 카카오페이지, 브런치 등 15개 서비스에서 추천팀의 추천 기술을 사용하고 있습니다.


어떤 문제를 풀고 있나요?

추천팀에서 풀고 있는 문제는 크게 3가지로 나눠 볼 수 있습니다.

1. 추천 기술을 활용하여 서비스를 성장시키는 문제를 풀고 있습니다.

추천 기술이 왜 필요할까요? 사용자에게 긍정적인 서비스 경험을 제공하여, 서비스를 더 성장시키기 위함입니다. 서비스의 성장은 다양한 지표를 기준으로 삼을 수 있습니다. 열람 수, 매출, 활성 사용자 수, 체류시간 등을 목표 지표로 삼을 수 있고 그 기준은 서비스마다 다릅니다. 예를 들어 멜론 서비스에서 사용자들의 음악 청취 수를 높이는 것이 목표라면, 추천팀에서는 사용자의 취향에 맞는 음악을 추천하여 그 목표를 달성하고 있습니다. 이처럼 추천 기술은 서비스 성장에 중요한 도구 중 하나입니다.

과거의 추천시스템은 사용자의 단기적인 만족도(예. 클릭률)를 높이는 것이 목표였습니다. 최근 들어 추천시스템을 활용하는 영역이 많아지면서, 추천이 서비스에 미치는 영향력이 커지고 있습니다. 카카오 추천팀은 더 본질적인 서비스 성장에 기여하기 위해서, 사용자의 장기적인 만족도(예. 재방문율)를 높이는 것을 목표로 추천시스템을 고도화하고 있습니다.

2. 추천 기술에 대한 접근성을 높이는 문제를 풀고 있습니다.

콘텐츠와 데이터가 다양해짐에 따라 추천 기술에 대한 니즈도 빠르게 늘고 있습니다. 추천팀은 추천 기술을 전혀 모르는 사람도 추천 기술을 쉽게 사용할 수 있도록 플랫폼을 개발하고 있습니다. 구체적으로는 SaaS(Software as a Service) 형태로 추천 기술을 제공하는 플랫폼을 개발하고 있습니다. 이 플랫폼을 활용하여 카카오와 카카오 공동체, 더 나아가 일반 기업이나 개인이 추천팀의 기술을 활용하여 서비스에 적용하고, 더 큰 성과를 낼 수 있도록 돕고자 합니다.

추천시스템은 복잡하고 예민합니다. 이러한 추천 기술을 SaaS 형태로 제공하여, 추천 기술을 잘 모르는 사람도 안정적인 성능의 추천 기술을 사용할 수 있도록 플랫폼을 만드는 것은 가치 있고 도전적인 문제입니다.

3. 대규모 추천 플랫폼을 안정적으로 운영하는 문제를 풀고 있습니다.

추천팀은 카카오톡 선물하기, 멜론, 픽코마 등 15개 서비스에 추천 기술을 제공하고 있습니다. 각 서비스의 필요에 따라 여러 종류의 추천 기술이 REST API 형태로 제공됩니다. 2022년 7월 기준으로 추천팀은 총 200여 개의 추천 API를 제공하고 있습니다.

 200개의 추천 API를 통해 하루 평균 17억 건의 추천 결과 요청(2022.07 기준)이 들어오고 있습니다. 원활한 서비스를 위해서 추천 API는 평균적으로 30ms ~ 50ms 안에, 늦어도 100ms 안에는 추천 결과를 돌려줘야 합니다. 이에 추천팀은 독자적인 추천 파이프라인을 구축하고 고도화함으로써 보다 안정적이고 빠른 추천 기술을 제공하고 있습니다.

 

어떤 형태의 추천을 제공하고 있나요?

 

크게 두 가지 형태의 추천을 제공하고 있습니다. 하나는 개인화 추천이고, 다른 하나는 연관 추천입니다.

  • 개인화 추천은 사용자 정보를 통해, 그 사용자가 좋아할 아이템을 추천하는 문제입니다.
  • 연관 추천은 사용자 정보와 함께 현재 소비하고 있는 아이템 정보를 통해, 관련 있는 아이템을 추천하는 문제입니다.

 

추천 기술은 무엇으로 만들어지나요?

 

추천 알고리즘으로 Contextual Bandit, Collaborative Filtering, Sequential Recommendation, CTR Prediction, Text/Image embedding을 주로 활용합니다.

추천 플랫폼은 파이썬 기반으로 구축되어 있습니다(참고). 실시간 연산과 관련된 일부 알고리즘들은 최적화를 위해 C++로 개발되어 있습니다.

추천시스템은 이벤트 드리븐 아키텍처(Event-driven architecture)를 기반으로 하고 있습니다. Event Streaming Platform으로 Apache Kafka를 사용하고 있습니다. 목적에 따라 다양한 NoSQL DB를 사용하고 있으며, 주로 MongoDB, HBase, RocksDB, SSDB를 사용합니다. 또한 추천 모델 저장 및 다양한 batch processing 데이터 관리를 위해 HDFS를 사용합니다.

 

팀의 인재상은 무엇인가요?

 

추천팀에는 알고리즘 연구/개발, 플랫폼 설계/개발, 데이터 분석, 기술 기획 등 다양한 직군이 있지만, 본질적으로는 아래의 기준을 만족하는 동료를 ‘역량이 뛰어나다’라고 판단합니다.

  1. 우리가 해결해야 하는, 혹은 해결해 볼 만한 가치가 있는 문제를 찾아낼 수 있고
  2. 그 문제를 해결하기 위한 아이디어를 생각해 내고, 가능한 대안 중 그 아이디어를 선택한 이유에 대해 근거를 들어 설명할 수 있고
  3. 실제로 그 아이디어를 현실화(직접, 혹은 동료들과의 협업을 통해) 해낼 수 있다.

 

어떤 외부 활동을 하고 있나요?

 

추천팀에서는 다양한 외부 활동을 장려하고 있습니다. 대표적으로 아래와 같은 외부 활동을 진행하고 있습니다.

 

끝으로

 

카카오 추천팀에 대해 더 알고 싶으신가요? 추천팀 소개 페이지에서 더 많은 내용을 확인하실 수 있습니다. 더불어 추천팀에서는 함께 할 동료를 계속 모집하고 있으니 관심 있으신 분들은 인재 영입 공고에 지원해 주세요. 마지막으로 혹시 추천팀에 대해 궁금하신 점이 있다면 이곳에 편하게 남겨주세요.

Latest Posts