글로벌 전문가로 구성된 팀이 세계적 수준의 추천 시스템(Recommender System: 온라인에서 이용자가 원하는 것을 파악해 바로 찾을 수 있게 지원하는 딥 러닝 기반 응용 프로그램)을 만드는 비법을 공유했습니다. GPU 가속 AI에 약간의 기지를 더하면 된다는 데요.
비장의 비법을 공유할 엔비디아 팀은 올해 국제 추천 시스템 대회인 ‘ACM RecSys Challenge’ 대회에서 우승을 차지했습니다. 이 대회는 500여명의 추천 시스템 분야 최고 권위의 전문가가 한 자리에 모이는 연간 학회의 하이라이트입니다. 추천 시스템은 레스토랑에서 부동산에 이르기까지 모든 분야에서 맞춤형 서비스를 제안하는 엔진을 의미합니다.
오는 9월 22일~26일 온라인으로 개최되는 ACM 컨퍼런스에서 엔비디아 팀이 자세한 우승 비법을 공개한다고 합니다. 팀의 추천 시스템은 이미 오픈소스로도 확인할 수 있는데요. 우승팀은 엔비디아 래피즈(RAPIDS)와 멀린(Merlin) 등의 제품을 만든 동료들과 배운 점들을 공유하고 고객들이 더 나은 서비스를 제공받을 수 있도록 협력한다고 하네요.
또 엔비디아 팀은 보다 많은 이들이 대회에 참여할 수 있도록 우승 상금 1만 5,000달러를 ‘Black in AI’에 기부할 계획입니다. Black in AI는 머신 러닝 분야의 차세대 아프리칸계 미국인 스페셜리스트들을 멘토링하는 비영리 단체입니다.
GPU 서버로 가속화하는 추천 시스템
트위터의 협찬으로 진행된 이번 대회에서 연구자들은 1억 4,600만 개의 데이터세트를 통해 어떤 트윗이 사용자들의 좋아요, 댓글, 리트윗 대상이 될지 예측해야 했습니다. 엔비디아 팀은 34개 팀이 경합을 벌인 분야에서 선두를 차지했는데요. 4개의 엔비디아 V100 Tensor Core GPU를 탑재한 시스템이 수십만 개 옵션을 처리한 덕분입니다.
결과는 깜짝 놀랄 만한 수준이었습니다. GPU 가속 소프트웨어가 1분도 안되어 피처 엔지니어링을 해냈거든요. CPU의 경우 1시간이 걸릴 분량으로 500배나 빠른 성능이었죠. 또 엔비디아 GPU 4개를 장착한 시스템은 팀 내 AI 모델의 학습 속도를 CPU 대비 120배까지 향상시켰습니다. 또한 GPU는 CPU를 기반으로 한 초기 실행에 비해 팀의 엔드투엔드 솔루션 속도를 280배까지 높였습니다.
머신 러닝을 연구하는 이븐 올드리지(Even Oldridge) 박사는 “피처 엔지니어링에서 500배 가속을 이뤄냈다는 사실에 가슴이 벅찹니다”라고 말했습니다. 그는 추천 시스템 프레임워크인 엔비디아 멀린을 디자인하는 팀 규모를 작년에 4배로 늘린 바 있습니다.
![이미지2](https://blogs.nvidia.co.kr/wp-content/uploads/sites/16/2020/09/이미지2-1-1024x607.png)
불꽃 튀는 소프트웨어 업그레이드 아이디어
이번 대회에서의 데이터 변환 연구들은 미래 NVTabular의 성능을 업그레이할 예정입니다. NVTabular는 엔비디아 멀린 라이브러리로 추천 시스템의 기본을 이루는 스프레드시트를 제공해 신규 피처 엔지니어링을 용이하게 합니다.
세 명의 추천 시스템 스페셜리스트로 이루어진 엔비디아 우승팀 중 한 명인 베네딕트 쉬프페러(Benedikt Schifferer)는 “이번 우승의 요인 중 하나는 신속한 프로토타이핑입니다”라고 설명했습니다.
그는 또 추가로 오픈소스 스케줄링 툴인 대스크(Dask)를 활용해 메모리가 많이 필요한 작업을 여러 개의 GPU에 분산시켰다고 밝혔습니다. 또 엔비디아 래피즈 프레임워크인 cuDF를 통해 GPU에서 판다스(Pandas) 라이브러리를 구동할 수 있었다고 말했습니다.
엔비디아 팀의 크리스 디오트(Chris Deotte)는 “CPU에서 판다스를 이용해 데이터 내 피처를 찾을 때는 새로운 피처가 나오기까지 수 시간씩이 걸렸습니다”라고 말합니다. 그는 데이터 사이언스 분야에서 최고 기량을 가진 전문가에게 주어지는 캐글 그랜드마스터(Kaggle grandmaster) 타이틀을 획득한 바 있는데요.
그는 또 “코드를 엔비디아 래피즈로 변환하자 겨우 몇 분만에 피처들을 확인할 수 있었습니다. 인생을 바꾸는 경험이었죠. 수백 개 피처의 검색이 가능했고 그것이 결국 대회 우승으로 이어졌습니다”라고 말했습니다. 디오트는 전체 4개의 카글 카테고리 모두에서 그랜드마스터 타이틀을 차지한 단 두 명 중 한 명이기도 합니다.
추천 시스템의 성능 향상을 위한 여러 방안들이 지금도 연구되고 있습니다. 예를 들어, 추천 시스템에 사용하는 키 데이터의 텍스트를 GPU상에서 개선하는 작업도 기대해볼 수도 있겠네요!
경쟁에 불을 지핀 순간
디오트는 팀에 중요한 정보를 준 장본인으로 브라질에 있는 동료 길베르토 티테리츠(Gilberto Titericz)를 꼽았습니다.
티테리츠는 지난 2년동안 캐글 그랜드마스터로 전세계 최정상의 자리를 지키기도 했습니다.
그는 “시간의 흐름에 따른 트위터 팔로워들의 변화를 추적했고 그렇게 얻은 피처가 우리의 정확도를 크게 올렸습니다. 놀라울 정도로 효과적이었죠. 시간에 따라 변화하는 패턴이 보였어요. 그것을 몇 가지로 정리해봤어요”라고 설명했습니다.
티테리츠 또 “정말 엄청난 결과가 나왔고 처음에는 실수라고 생각했어요. 시험 삼아 제출했는데 놀랍게도 가장 높은 점수를 기록했습니다. 그러니까 직감이 옳았던 거에요”라고 덧붙였습니다.
엔비디아 팀은 티테리츠, 쉬프페러, 일본인 동료 오노데라 가즈키(Kazuki Onodera)가 설계한 AI 모델들을 복합적으로 사용했습니다. 모델 모두가 추천 시스템에 적합한 알고리즘인 XGBoost를 기반으로 만들어졌습니다.
일부 팀원들은 캐글 그랜드마스터로 구성된 엘리트 그룹의 일원이기도 합니다. 엔비디아 젠슨 황 CEO는 포켓몬을 장난스럽게 패러디해 이들 그룹에게 캐그몬(KGMON)이라는 별명을 지어 주기도 했습니다. 이 팀은 지난 4년간 수 십여 개의 대회에서 우승한 바 있습니다.
추천 시스템에 대한 B2C 업계의 관심
프랑스 남부의 장 프랑수아 퓌제(Jean-Francois Puget)와 그의 팀원들에게 이런 프로젝트는 9시에 출근해 5시에 퇴근하는 직장 이상의 의미입니다.
퓌제는 “우리는 밤시간과 주말을 투자해 대회 준비를 합니다. 세계 최고가 되기 위해서죠”라고 말합니다. 그는 딥 러닝이 상용화되기 20년 전에 머신 러닝으로 박사 학위를 취득했습니다.
추천 시스템 기술은 현재 급속히 확산되고 있습니다.
올해 ACM RecSys 대회에서는 30여 편의 논문 발표와 함께 도서와 영화 분야의 추천 시스템 확립에 힘쓴 아마존과 넷플릭스와 같은 기업과의 대담이 포함되어 있습니다. 이제 다양한 소비재 기업들도 참가를 결정하고 있는데요. 올해에는 이케아(IKEA)와 엣시(Etsy)도 참여한다고 하네요.
쉬프페러는 “지난 3~4년간 추천 시스템은 개인화된 경험을 제공하고 사용자가 원하는 것을 진정으로 이해하는 데 초점이 맞춰졌습니다. 고객의 선택이 학습 데이터에 영향을 주기 때문에 기업에 따라 AI 모델을 4시간마다 재학습하는 등 끊임없이 학습을 진행합니다”라고 말했습니다.
엔비디아 팀이 열심히 연구하는 것도 이런 이유입니다. 엔비디아 멀린과 같은 프레임워크를 만들어 GPU상에서 추천 시스템을 신속하고 간단히 구동할 수 있도록 하려는 것이죠.
엔비디아 우승팀의 다른 일원은 크리스토프 헨켈(독일), 지웨이 류와 보얀 퉁구즈(미국), 가브리엘 드 수자 페레이라 모레이라(브라질), 아흐메트 에르뎀(네덜란드)입니다.
우승을 차지한 엔비디아 팀의 추천 시스템 디자인 팁이 궁금하다면 9월 25일 금요일에 온라인으로 공개되는 튜토리얼을 시청하세요.
지능형 추천 시스템을 구축하는 방법이 궁금하세요?
엔비디아 딥 러닝 인스티튜트(Deep Learning Institute, DLI)에서는 강사의 주도로 고성능 추천 시스템 구축에 필요한 기본 툴과 테크닉을 핸즈온 교육으로 제공합니다. 교육에는 8시간 정도가 소요되며 다음의 과정이 포함됩니다.
- 오픈소스 cuDF 라이브러리와 아파치 애로우(Apache Arrow)를 활용한 콘텐츠 기반 추천 시스템 구축하기
- ALS(Alternating Least Squares)와 CuPy를 사용해 협업 필터링 추천 시스템을 구성하기
- 텐서플로우2를 활용한 Wide & Deep Learning 신경망 디자인으로 하이브리드 추천 시스템 구축하기
- 대규모 희소 데이터세트에서 학습과 추론 성능 최적화하기
- 고성능 웹서비스로 추천 모델 배포하기
엔비디아 DLI 수료증을 취득하고 주제별로 자신의 역량을 입증하고 경력을 성장시키세요. 또 올 가을 GTC 2020에서 열리는 워크숍에 참여하거나 단체 워크숍을 신청해보시는 건 어떨까요?