전세계 수십억 인구가 인터넷에 접속합니다. 이들이 온라인상에서 보내는 순간들은 브라우징, 쇼핑, 엔터테인먼트 스트리밍, 소셜미디어 이용 등으로 채워지죠. 추천 시스템은 이 순간들, 또는 세션들을 기회로 삼아 사용자들이 본인의 필요에 더욱 부합하는 결정을 정보에 기반하여 보다 쉽고 빠르게 내릴 수 있도록 도와줍니다. 전체적인 규모를 고려하면 이는 추천 시스템이 온라인상에서 수조 개의 사물과 상호작용하는 수십억 인구를 지원하게 될 수도 있다는 의미이기도 합니다.
GTC 21에서 NVIDIA는 NVIDIA Merlin의 조기 사용자들을 포함해 소매, 엔터테인먼트, 주문 제작, 사회적 기업들이 규모에 맞는 추천 시스템을 구축하고 활용하는 방법을 공유했습니다. Merlin의 오픈소스 구성 요소에는 ETL을 위한 NVTabular, 훈련을 위한 HugeCTR, 추론을 위한 Triton이 포함돼 있습니다. NVIDIA는 머신 러닝 엔지니어들이 추천 시스템의 워크플로우를 간소화할 수 있도록 Merlin 조기 사용자들의 피드백을 지속적으로 반영해왔죠. NVIDIA Merlin의 최신 업데이트에는 훈련용 데이터 생성기, 다중 GPU 데이터로더, 세션 기반 추천 시스템의 조기 지원 등이 포함됐습니다. 또한 이번 업데이트는 추천 시스템 워크플로우의 대중화와 간소화를 추구하는 NVIDIA의 지속적인 노력을 보여줍니다.
추천 시스템 워크플로우의 실험과 간소화 지원
현재 진행 중인 실험들은 배포와 제작을 앞둔 추천 시스템 모델의 성능을 미세 조정하기 위해 반드시 필요한 과정입니다. 데이터 생성기는 합성 데이터를 사용하고 구성이 가능하고, 머신 러닝 엔지니어들이 구성 파일의 수정이 없어도 확률 분포를 계산하여 범주형 피처들을 균등 분포 또는 거듭제곱 분포로 변환할 수 있게 도와줍니다. Merlin HugeCTR의 새로운 데이터 생성기는 범주형 데이터를 실험하고 벤치마킹과 연구 목적에 특히 유용합니다.
Merlin 0.5에 포함된 다중 GPU 데이터로더는 Merlin 조기 사용자들의 피드백에 기반한 것으로 워크플로우 간소화를 지원합니다. TF Distributed를 사용하는 단일 노드상에서 다중의 GPU를 사용해 진행되는 훈련에는 Merlin NVTabular TensorFlow(TF) 데이터로더(dataloader)를 사용할 수 있습니다. Merlin NVTabular는 Dask와 Dask-cuDF를 활용해 다중 GPU와 다중 노드로 원활하게 확장되는 한편 ETL 파이프라인 전용 고성능 추천 시스템을 제공합니다.
Merlin의 세션 기반 추천 시스템 지원: 이제 시작일 뿐
전자상거래, 뉴스, 소셜 미디어 추천 시스템의 최전선에 있는 데이터 사이언티스트와 머신 러닝 엔지니어들은 세션 기반 추천 시스템의 추가를 진행하거나 고려 중입니다. 추천 시스템의 기존 기법으로 협업 필터링(collaborative filtering)과 콘텐츠 기반 필터링이 확립돼 있습니다. 하지만 사용자들의 관심이 역동적으로 변하고 있고 보다 짧은 시간 프레임(즉, 세션)에 집중되는 경향을 보이면서 예측 정확도를 높일 새로운 기법으로 세션 기반 추천 시스템이 관심을 받고 있습니다. Merlin 0.5의 NVTabular는 세션 기반 추천 시스템용 데이터를 변환하고 그룹화하는 데 필요한 새로운 전처리 기능을 제공합니다.
Merlin의 최신 업데이트를 다운로드하고 사용하세요
Merlin의 전처리와 훈련 기능 강화는 추천 시스템의 대중화와 가속화를 향한 NVIDIA의 지속적인 노력을 반영한 것입니다. 머신 러닝 엔지니어와 데이터 사이언티스트들을 위해 Merlin의 구성 요소들은 사용이 편리하고 기존의 추천 시스템 워크플로우와도 상호운용이 가능하도록 설계됩니다. 머신 러닝 엔지니어는 효과적이고 강력한 추천 시스템을 구축할 목적으로 각종 라이브러리와 패키지, 툴, 기법들을 혼합해 사용하고 있습니다.
ETL을 위한 Merlin NVTabular, 훈련을 위한 HugeCTR, 추론을 위한 Triton을 다운로드하고 사용해보세요. Merlin의 구성 요소들이 추천 시스템의 워크플로우를 간소화하는 방법을 핸즈온 방식으로 만나볼 수 있습니다.