본문 바로가기

일상.경험.정보.취미.데일리

[후기] 맨땅에서 구축해본 개인화시스템 구축기

개인화시스템이라니!! 😆

이번에 웅진씽크빅에서 ML Engineer로 근무하시고 알고보니 모두콘 2023에서도 강연하셨던! 이수진님의 프라이빗 강연을 듣고난 후기를 작성하고자 합니다ㅎㅎ 후기에 앞서 추가로 강연해주신 내용엔 함부로 밝힐수없는 내용도 많아서요,, 자세한 얘기는 못드리고 제가 바라본 관점에서의 의견을 중심으로 적어보도록 할게요! 그럼 가보자궈 👊👊

듣자마자 경청하게되는 프로젝트의 방향과 태도

일단 듣는내내 놀랐던것은,, 타이틀에서도 나와있듯 '맨땅에서 구축되었다'라고 했잖아요! 그게 정말이었다는 점입니다!! 그것도 누구나 다 들어봤던 기업에서요.. 와우,, 우리같이 ML/DL하는 사람들은 하나같이 데이터의 중요성을 잘 알고있을텐데.. 그 중요한 데이터가 없는 상황에서 나름대로의 신념(?)을 두시고 프로젝트를 이끌어 나간 경험은 정말 대단한것 같습니다. 속으로 한참을 감탄했네요...!

또 개인적으로 놀라웠던것은 이수진님의 프로젝트에 대한 방향성과 임하는 태도, 사고방식이었어요. 근원적인 질문을 먼저 말씀하시더라구요! "왜 추천시스템이 중요하실것 같으세요?"라고 물으면 대다수가 "개인화요", "개인맞춤형이요!", "초개인화요"와 같은 비슷한 맥락의 답변을 주신다고 합니다. 저도 추천시스템은 아니지만 HCI에 관심이 있다보니 공감할 수 밖에 없었어요. 그만큼 초개인화에 대한 매력을 알고있고 이것이 굉장히 필요하다는걸 잘 느끼고 있으니까요. 하지만 현실은 다르죠. 요런 대답을 가지고 사업을 움직이시는 분들에게 가져가면 대부분 설득이 안된다고 합니다. 결국 이 부분에서 저는 '개인화, 초개인화, 개인맞춤형 정보제공'과 같은것은 당연히 있으면 좋고, 필요한 것이지만 이것을 위해 추천시스템을 도입하고자 하는데는 더 세세한 이유가 필요하다는 것이었어요. 그래서 연사님의 발표중 '항상 저는 추천 시스템을 프로젝트로 진행할 때 그래서 무엇을 해야하는가?'라는 생각에 깊게 공감했습니다.

개인의 반응과 맞닿아있는 추천시스템!

중간중간 RecSys에 대한 유용한 자료들도 추천해주셨는데요, 특히 Netflix의 tech blog를 많이 추천해주셨습니다. 실제로 Netflix를 많이 벤치마킹하셨다고 하기도 했구요. 저는 잘 몰랐지만 Netflix는 정말정말 초 개인화된 플랫폼이더군요?! 그와 동시에 연사님의 프로젝트 구축기를 듣는데 다양한 생각이 들었습니다. 

결국 추천시스템의 본질은 개인의 반응을 뗄레야 뗄 수 없다는 생각이 들었어요. 해당 시스템을 구축하기 전에도, 구축하는 과정에도, 구축한 뒤에도 말이지요. 시스템을 구축하기 위해서는 다방면의 정보가 필요하고 보통 서비스를 활용하는 유저들의 정보를 트래킹하고 수집해서 얻는 느낌을 받았습니다. 구축한 뒤에도 모니터링은 필수이구요. 되게 매력적으로 다가온 부분은 추천시스템의 성향?이라고 할까요. 앞서 말했듯 결국 본질은 개인이 원하는 걸 추천해주면 되는것이어서요. Vision이나 NLP와는 다른 형상을 띠고 있다고 생각이 들었습니다. 즉, 목표를 위해선 이것저것 기술들을 다 같다 붙이는 확장성이 더 넓다고 생각이 들더군요. 사용자의 니즈를 잘 추천해주기만 한다면요! 그것이 기술적으로 뛰어난것을 활용하던 UI적인 수정이 들어가던, 서비스의 형태를 바꾸던.. 방식보다는 효과에 집중하는 듯한 면모가 강하다고 느꼈습니다. 

NLP와 HCI에 관심이 많은 주인장은 무엇이 가장 흥미로웠나!

출처 : 모두의 연구소 Youtube

바로 요겁니다! 추천시스템의 모델링을 하실때 Multi-head Self-Attention의 구조와 Spotify의 Shuffling Algorithm을 착안해서 하셨다고 해요. 이것도 그렇지만, 본 행사에서 더 말씀해주신게 주어진 대용량의 강의정보를 가지고 Clustering을 진행하셨다고 합니다. 이때 강의에 대한 메타정보를 가지고 KeyBERT계열로 핵심 키워드를 추출한다음 Multi-lingual한 HuggingFace의 LM을 사용해서 임베딩하셨고 그 임베딩값과 추천모델을 이용해서 최종적으로 목표달성을 하셨다고 하시더군요. QnA 시간에 나온 질문중 하나가 강의의 메타정보를 가지고 KeyBERT를 이용하여 키워드 추출한 뒤 임베딩하고 그 값을 활용한 방식이라면 Keyword 추출을 굳이 할 필요가 있었느냐인데.. 흠 개인적으로 생각하기엔 요건 애매한것 같더라구요..  큰 효과가 있었을까 싶은데,, 아마 공개하지 않으신 부분이 더 있으시지않나 싶습니다. 또하나 궁금했던것은 제가 잘못들은것일수도 있는데, 데이터를 수집하실때 로컬라이징 된 데이터만 존재하는게 아니어서 번역을 진행했다고 들었던거 같아요! 근데 이후에 multi-lingual한 모델을 사용하셨다고 하니.. 음,, 그럴거면 번역이 필요없지 않나? 싶었습니다. 차라리 번역을 이용해서 하나의 언어로 통일할거면 해당언어에 대한 성능이 가장높은 임베딩 모델을 사용하는것이 더 높은 성능을 낼 수도 있겠다 싶었어요! (물론, 잘못들은건지 아닌지 불분명해서 확실하지 않습니다..ㅎㅎ) 

추천시스템의 분야는 그닥 관심이 없었는데 사용자의 반응을 중요시한다는점에서 제가 관심있어하는 HCI와 관련이 깊어보이네요. 간간히 관련된 자료도 찾아봐야할 것 같습니다ㅎㅎ 다양한 기술을 활용할 수 있다는 점도 매력적이었구요. 너무 재미있고 흥미로운 행사였어요! 좋은 경험을 공유받은것 같아서 기분좋은 하루였습니다!