С момента окончания конкурса Netflix Prize прошло более 10 лет, и я не ожидал, что напишу об этом сообщение в блоге на этом этапе. Однако буквально за последние пару недель я обнаружил, что много говорю об этом как в контексте ветки и обсуждения в Твиттере, так и во время съемок предстоящего документального сериала. Учитывая, что интерес, а также непонимание вокруг приза и его результатов, похоже, сохраняется, я подумал, что, возможно, стоит установить рекорд в специальном посте.

TL; DR; Хотя меня часто неправильно цитируют, говоря, что приз Netflix не был полезен для Netflix, это верно только в отношении записи, выигравшей главный приз. За это время Netflix получил гораздо больше, чем наши деньги за знаменитый приз.

Что вообще было за приз Netflix?

Десять лет назад, когда я руководил алгоритмами в Netflix, я начинал свои публичные презентации с пары вопросов: «Кто слышал о Netflix Prize?» и «Кто участвовал в Премии, подав хотя бы свою работу?». Практически все подойдут к первому вопросу. В зависимости от аудитории более половины людей также поднимали руки на второго. Я, очевидно, не ожидал, что так будет больше. Однако недавно я был очень удивлен тем, как много людей в сообществе ML / AI помнят или просто знают о конкурсе. Понятно, что это было своего рода историческое событие.

В 2006 году Netflix объявил конкурс на 1 миллион долларов, чтобы улучшить свой алгоритм рекомендаций. На тот момент я был исследователем в лаборатории Барселоны, поэтому у меня нет информации из первых рук о том, как и почему присуждение премии было принято внутри организации и как все это началось (честно говоря, я действительно получил некоторые из Я пришел в компанию через 5 лет, но эта часть истории в любом случае не очень актуальна). Для тысяч участников по всему миру правила были довольно простыми: если бы вы смогли превзойти базовый уровень Netflix (называемый Cinematch), вы бы выиграли 1 миллион долларов. Неудивительно, что многие исследователи, студенты, математики-любители и специалисты по информатике во всем мире ухватились за эту возможность.

Механика конкурса также была довольно простой: имелся обучающий набор, состоящий из около 100 миллионов точек данных, включая пользователя, фильм, дату и рейтинг от 1 до 5 звезд. Существовал небольшой общедоступный набор данных для проверки, называемый «зондом», состоящий из около 1,5 млн точек данных без оценок. Наконец, что очень важно, было два набора тестов, которые скрывали оценки от участников. Чтобы проверить свой алгоритм, вы должны отправить свои прогнозы на так называемый тест-викторину, и вы получите обратно точность, измеренную в RMSE (среднеквадратичная ошибка). Призы за годовой прогресс, особенно главный приз, будут измеряться по другому набору тестов.

Были опубликованы сотни сообщений на форумах и в блогах, а также исследовательских публикаций, в которых подробно описывались различные подходы к присуждению премии Netflix Prize. Приз за прогресс за первый год был выигран командой Корбелла (Иегуда Корен, Роберт Белл и Крис Волински из лабораторий AT&T) с использованием ансамбля вариации SVD (разложения по сингулярным значениям, хотя вариация на самом деле больше представляет собой матричную факторизацию, чем традиционную факторизацию). SVD) и RBM (ограниченные машины Больцмана, форма ИНС). SVD имел RMSE 0,8914, RBM 0,8990, и линейная смесь обоих достигла RMSE 0,88.

Потребовалось еще 3 года, и тысячи команд пытались добраться оттуда до 0,8572 RMSE на тестовой выборке, необходимой для получения главного приза. Выигрышная запись представляла собой набор из 104 отдельных предикторов, разработанный несколькими командами и объединенный однослойной нейронной сетью.

Творить историю

Еще в 2006 году Kaggle не существовало, открытый исходный код был чем-то, чем хакеры Linux занимались в свое «свободное время», а ИИ был ругательством. Принимая во внимание этот контекст, легко увидеть, насколько новаторской была награда во многих отношениях. Выпустить большой набор данных и предложить 1 миллион долларов любому, кто смог превзойти метрику, было определенно смелым шагом, который не многие понимали в свое время. Черт, сегодня многие даже не понимают этого.

Я почти уверен, что без Netflix Prize у нас не было бы соревнований по данным, как сейчас. Или, по крайней мере, Kaggle потребовалось бы гораздо больше, чтобы взлететь. Мне интересно, была бы здесь большая часть остальной открытой экосистемы вокруг ИИ, от наборов данных à la Imagenet до фреймворков с открытым исходным кодом, таких как TensorFlow или Pytorch, если бы не Netflix Prize. Да, я знаю, что когда-то существовали открытые исходные коды и даже открытые данные, но ни одна из них не поддерживалась крупной компанией, не говоря уже о той, которая активно поддерживалась реальными деньгами.

Грандиозное решение Netflix Prize

Решение 2007 Progress Prize, сочетающее SVD + RBM, уже было значительно лучше существующего алгоритма Cinematch. Итак, Netflix поручил нескольким инженерам разработать алгоритм. Это включало в себя переписывание кода и его масштабируемость, а также возможность поэтапного переобучения по мере появления новых рейтингов. Когда я присоединился к Netflix, я взял на себя небольшую команду, которая работала и поддерживала алгоритм прогнозирования рейтингов, который включал решение на первый год Progress Prize.

Но как насчет главного призового решения со 104 алгоритмами? Как я тогда упоминал в сообщении в блоге, мы решили, что это не имеет смысла даже в продакшене. Потребовались бы большие инженерные усилия для небольшого увеличения точности, которое, скорее всего, того не стоило по нескольким причинам. Главный из них заключается в том, что в тот момент, когда переход к потоковой передаче (по сравнению с отправкой DVD по почте) был очевиден, стало ясно, что прогнозирование потребления было гораздо важнее и эффективнее, чем прогнозирование рейтингов.

Давайте поговорим об рентабельности инвестиций

Я часто удивляюсь, что после прочтения вышеизложенного многие придут к выводу, что вложение Netflix в 1 миллион долларов не того стоило. Это определенно очень недальновидное прочтение. Вы знаете, сколько инженеров из Кремниевой долины Netflix может нанять на 3 года за 1 миллион долларов? Наверное, меньше единицы.

Что получил Netflix от $ 1 млн, вложенных в приз?

  • Тысячи исследователей и инженеров по всему миру думают о проблеме, важной для Netflix.
  • Решение (премия за первый год), которое можно запустить в производство с ощутимой прибылью.
  • Стать узнаваемым брендом как компания, которая вводит новшества в пространстве

В одном я абсолютно уверен: если бы не было приза Netflix, я и многие другие, подобные мне, не стали бы работать в Netflix. Я сомневаюсь, что Netflix смогла бы внедрять инновации такими же темпами, как и в те годы, если бы не таланты, привлеченные благодаря присуждению премии. Это само по себе стоит намного больше, чем 1 миллион долларов.

Вывод: полезны и ценны ли открытые алгоритмические конкурсы?

Конечно, вы можете возразить, что я довольно предвзято отношусь к этой теме. Однако даже на сегодняшний день я бы сказал, что они имеют огромную ценность. Привлечение большого сообщества к размышлениям о наборе данных и конкретной проблеме часто дает много идей и ценных результатов, некоторые из которых применимы на практике. Они также предоставляют уникальную возможность для людей во всем мире учиться, получать определенное представление, а во многих случаях даже находить работу своей мечты, которую они иначе не нашли бы.

При этом я согласен с тем, что алгоритмические конкурсы - это не серебряная пуля, которая решит алгоритмические потребности вашей компании. Их не следует рассматривать как способ передать проблемы более дешевым странам. И, конечно же, важно, чтобы организации, ответственные за предложения конкурсов, были уверены в наличии хороших стимулов и справедливых правил. Но я чувствую, что такие компании, как Kaggle (ныне Google), проделали действительно хорошую работу по созданию правильной структуры для этого.

Наконец, я скажу, что меня очень заинтриговало и заинтересовало предложение Эндрю Нга изменить алгоритмические соревнования, сохранив алгоритм фиксированным, а участники будут работать с данными в его Data-centric AI Competition. Я уверен, что мы можем многому научиться, если у большого сообщества появится стимул работать с данными, а не над алгоритмом.