{"id":3077,"date":"2023-07-12T15:43:20","date_gmt":"2023-07-12T15:43:20","guid":{"rendered":"https:\/\/salarydistribution.com\/machine-learning\/2023\/07\/12\/score-team-nvidia-takes-trophy-in-recommendation-systems\/"},"modified":"2023-07-12T15:43:20","modified_gmt":"2023-07-12T15:43:20","slug":"score-team-nvidia-takes-trophy-in-recommendation-systems","status":"publish","type":"post","link":"https:\/\/salarydistribution.com\/machine-learning\/2023\/07\/12\/score-team-nvidia-takes-trophy-in-recommendation-systems\/","title":{"rendered":"Score! Team NVIDIA Takes Trophy in Recommendation Systems"},"content":{"rendered":"<div data-url=\"https:\/\/blogs.nvidia.com\/blog\/2023\/07\/12\/recommendation-systems-win\/\" data-title=\"Score! Team NVIDIA Takes Trophy in Recommendation Systems\" data-hashtags=\"\">\n<p>A crack NVIDIA team of five <a href=\"https:\/\/www.nvidia.com\/en-us\/glossary\/data-science\/machine-learning\/\">machine learning<\/a> experts spread across four continents won all three tasks in a hotly contested, prestigious competition to build state-of-the-art<a href=\"https:\/\/www.nvidia.com\/en-us\/glossary\/data-science\/recommendation-system\/\"> recommendation systems<\/a>.<\/p>\n<p>The results reflect the group\u2019s savvy applying the NVIDIA AI platform to real-world challenges for these engines of the digital economy. Recommenders serve up trillions of search results, ads, products, music and news stories to billions of people daily.<\/p>\n<p>More than 450 teams of data scientists competed in the<a href=\"https:\/\/www.aicrowd.com\/challenges\/amazon-kdd-cup-23-multilingual-recommendation-challenge\"> Amazon KDD Cup \u201823<\/a>. The three-month challenge had its share of twists and turns and a nail-biter of a finish.<\/p>\n<p><b>Shifting Into High Gear<\/b><\/p>\n<p>In the first 10 weeks of the competition, the team had a comfortable lead. But in the final phase, organizers switched to new test datasets and other teams surged ahead.<\/p>\n<p>The NVIDIANs shifted into high gear, working nights and weekends to catch up. They left a trail of round-the-clock Slack messages from team members living in cities from Berlin to Tokyo.<\/p>\n<p>\u201cWe were working nonstop, it was pretty exciting,\u201d said Chris Deotte, a team member in San Diego.<\/p>\n<p><b>A Product by Any Other Name<\/b><\/p>\n<p>The last of the three tasks was the hardest.<\/p>\n<p>Participants had to predict which products users would buy based on data from their browsing sessions. But the training data didn\u2019t include brand names of many possible choices.<\/p>\n<p>\u201cI knew from the beginning, this would be a very, very difficult test,\u201d said Gilberto \u201cGiba\u201d Titericz.<\/p>\n<p><b>KGMON to the Rescue<\/b><\/p>\n<p>Based in Curitaba, Brazil, Titericz was one of four team members ranked as grandmasters in Kaggle competitions, the online Olympics of data science. They\u2019re part of a team of machine learning ninjas who\u2019ve won dozens of competitions. NVIDIA founder and CEO Jensen Huang calls them KGMON (<a href=\"https:\/\/www.nvidia.com\/en-us\/ai-data-science\/kaggle-grandmasters\/\">Kaggle Grandmasters of NVIDIA<\/a>), a playful takeoff on Pok\u00e9mon.<\/p>\n<p>In dozens of experiments, Titericz used large language models (<a href=\"https:\/\/www.nvidia.com\/en-us\/glossary\/data-science\/large-language-models\/\">LLMs<\/a>) to build <a href=\"https:\/\/www.nvidia.com\/en-us\/glossary\/data-science\/generative-ai\/\">generative AIs<\/a> to predict product names, but none worked.<\/p>\n<p>In a creative flash, the team discovered a work-around. Predictions using their new hybrid ranking\/classifier model were spot on.<\/p>\n<p><b>Down to the Wire<\/b><\/p>\n<p>In the last hours of the competition, the team raced to package all their models together for a few final submissions. They\u2019d been running overnight experiments across as many as 40 computers.<\/p>\n<p>Kazuki Onodera, a KGMON in Tokyo, was feeling jittery. \u201cI really didn\u2019t know if our actual scores would match what we were estimating,\u201d he said.<\/p>\n<figure id=\"attachment_65380\" aria-describedby=\"caption-attachment-65380\" class=\"wp-caption alignright\"><a href=\"https:\/\/blogs.nvidia.com\/wp-content\/uploads\/2023\/07\/KGMON-group-pix.jpg\"><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/blogs.nvidia.com\/wp-content\/uploads\/2023\/07\/KGMON-group-pix-400x325.jpg\" alt=\"KGMON pictures\" width=\"400\" height=\"325\"><\/p>\n<p><\/a><figcaption id=\"caption-attachment-65380\" class=\"wp-caption-text\">The four KGMON (clockwise from upper left) Onodera, Titericz, Deotte and Puget.<\/figcaption><\/figure>\n<p>Deotte, also a KGMON, remembered it as \u201csomething like 100 different models all working together to produce a single output \u2026 we submitted it to the leaderboard, and POW!\u201d<\/p>\n<p>The team inched ahead of its closest rival in the AI equivalent of a photo finish.<\/p>\n<p><b>The Power of Transfer Learning<\/b><\/p>\n<p>In another task, the team had to take lessons learned from large datasets in English, German and Japanese and apply them to meager datasets a tenth the size in French, Italian and Spanish. It\u2019s the kind of real-world challenge many companies face as they expand their digital presence around the globe.<\/p>\n<p>Jean-Francois Puget, a three-time Kaggle grandmaster based outside Paris, knew an effective approach to <a href=\"https:\/\/blogs.nvidia.com\/blog\/2019\/02\/07\/what-is-transfer-learning\/\">transfer learning<\/a>. He used a pretrained multilingual model to encode product names, then fine-tuned the encodings.<\/p>\n<p>\u201cUsing transfer learning improved the leaderboard scores enormously,\u201d he said.<\/p>\n<p><b>Blending Savvy and Smart Software<\/b><\/p>\n<p>The KGMON efforts show the field known as recsys is sometimes more art than science, a practice that combines intuition and iteration.<\/p>\n<p>It\u2019s expertise that\u2019s encoded into software products like<a href=\"https:\/\/developer.nvidia.com\/nvidia-merlin\"> NVIDIA Merlin<\/a>, a framework to help users quickly build their own recommendation systems.<\/p>\n<figure id=\"attachment_65377\" aria-describedby=\"caption-attachment-65377\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blogs.nvidia.com\/wp-content\/uploads\/2023\/07\/Merlin.jpg\"><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/blogs.nvidia.com\/wp-content\/uploads\/2023\/07\/Merlin-672x223.jpg\" alt=\"Chart of Merlin framework for recommendation\" width=\"672\" height=\"223\"><\/p>\n<p><\/a><figcaption id=\"caption-attachment-65377\" class=\"wp-caption-text\">The Merlin framework provides an end-to-end solution for building recommendation systems.<\/figcaption><\/figure>\n<p>Benedikt Schifferer, a Berlin-based teammate who helps design Merlin, used the software to train transformer models that crushed the competition\u2019s classic recsys task.<\/p>\n<p>\u201cMerlin provides great results right out of the box, and the flexible design lets me customize models for the specific challenge,\u201d he said.<\/p>\n<p><b>Riding the RAPIDS<\/b><\/p>\n<p>Like his teammates, he also used <a href=\"https:\/\/developer.nvidia.com\/rapids\">RAPIDS<\/a>, a set of open-source libraries for accelerating data science on GPUs.<\/p>\n<p>For example, Deotte accessed code from <a href=\"https:\/\/www.nvidia.com\/en-us\/gpu-cloud\/\">NGC<\/a>, NVIDIA\u2019s hub for accelerated software. Called DASK XGBoost, the code helped spread a large, complex task across eight GPUs and their memory.<\/p>\n<p>For his part, Titericz used a RAPIDS library called cuML to search through millions of product comparisons in seconds.<\/p>\n<p>The team focused on<a href=\"https:\/\/developer.nvidia.com\/merlin\/session-based-recommenders\"> session-based recommenders<\/a> that don\u2019t require data from multiple user visits. It\u2019s a best practice these days when many users want to protect their privacy.<\/p>\n<p>To learn more:<\/p>\n<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/blogs.nvidia.com\/blog\/2023\/07\/12\/recommendation-systems-win\/<\/p>\n","protected":false},"author":0,"featured_media":3078,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/posts\/3077"}],"collection":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/comments?post=3077"}],"version-history":[{"count":0,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/posts\/3077\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/media\/3078"}],"wp:attachment":[{"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/media?parent=3077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/categories?post=3077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/salarydistribution.com\/machine-learning\/wp-json\/wp\/v2\/tags?post=3077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}