Открытые вопросы: Карлос А. Гомес-Урибе

НИК РОКВЕЛЛ и КРИС ВИГГИНС

Карлос А. Гомес-Урибе - бывший вице-президент по инновационным продуктам в Netflix, где он курировал разработку алгоритмов для рекомендаций фильмов и поиска. Технический директор New York Times Ник Роквелл и главный специалист по анализу данных Крис Виггинс рассказали Гомес-Урибе о его карьере, эволюции машинного обучения в Netflix и о том, как компаниям следует очень внимательно относиться к тому, как они интегрируют машинное обучение в продукты. Следующее отредактировано и сжато.

В. Как вы пришли работать в Netflix в Product Product? Как вы думаете, важно, чтобы менеджеры по продукту, которые работают над рекомендациями, обладали математическими навыками?

А. Я начал работать в Netflix как специалист по данным и работал над широким кругом проектов в этой все еще небольшой компании. Однако после разговора с командами разработчиков и разработчиков, работающими над алгоритмом рекомендаций, я очень заинтересовался этой конкретной областью. Netflix планировал глобальный продукт, основанный на потоковой передаче, и алгоритм рекомендаций оставался относительно простым; он оптимизирован в основном с использованием информации, которая была доступна из продукта DVD-дисков по почте.

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

Этот успех привел к тому, что продуктовая команда пригласила меня поработать над другими проектами, связанными с рекомендациями. В ходе одного из них я убедился, что было неоптимально иметь людей - в данном случае менеджеров по продуктам - которые не разбирались в количественных методах в управлении всем инновационным процессом. Я передал эту критику команде разработчиков.

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

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

Вы работали в Netflix семь лет; Какие изменения вы заметили за это время в способах использования машинного обучения?

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

Доверить машинному обучению критические части работы с продуктом может быть сложно, но только развертывание машинного обучения в маргинальных частях продукта гарантирует ограниченное воздействие и ограниченное обучение. Что вы думаете о том, чтобы сделать шаг веры и доверить машинному обучению важные аспекты продукта?

Я думаю, вам никогда не следует слепо доверять системе машинного обучения, которая ведет себя лучше, чем альтернатива (например, ручное курирование), пока не будет доказано обратное. Даже после получения такого доказательства система машинного обучения нуждается в постоянном мониторинге, чтобы убедиться, что вся система или продукт продолжает работать надлежащим образом - в соответствии с миссией вашей организации - по мере изменения окружающего мира.

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

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

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

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

Сейчас талант кажется очень ограниченным. При таких интенсивных усилиях по набору персонала в крупных технологических компаниях остальным из нас очень трудно нанимать квалифицированных специалистов, даже сразу после школы. Итак, как нам двигаться вперед, когда таланты настолько ограничены, и что это означает для развития ИИ?

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

Данные могут повлиять на продукт несколькими способами, например A / B-тестирование и обучение с подкреплением для оптимизации или персонализации. Но даже до этого Netflix смог использовать данные, чтобы предлагать новые функции для тестирования или даже новые контент-стратегии. Можете ли вы рассказать о том, как цифровые компании могут использовать данные, чтобы предлагать новые функции, новые продукты или даже новые стратегии в отношении контента?

Это восходит к предыдущему вопросу: использование анализа данных и моделирования для лучшего понимания вашего бизнеса, ваших клиентов, ваших продуктов и их взаимодействия. Например, чтобы найти группы людей, которые склонны вести себя одинаково при взаимодействии с вашим продуктом. Использование размеров таких аудиторий и анализ типов контента, с которым взаимодействует каждая из этих аудиторий, может привести к изменению микса контента, чтобы лучше согласовать аудиторию с предложением.

Однако анализ прошлых данных в основном следует использовать для создания гипотез. Многие из них окажутся ложными, например простые корреляции, которые при реализации проявляются по-разному. Поэтому тестирование, полностью контролируемое (как в A / B-тесте) или нет (изменение чего-либо и анализ до и после), всегда важно.

Этим летом вы написали статью об онлайн-подходе к моделям матричной факторизации, который Netflix прославился как способ давать рекомендации. Но вы еще писали о многоруких бандитах. Когда подход к обучению с учителем, такой как матричная факторизация, лучше всего подходит для получения рекомендаций, а когда компании следует использовать бандитов?

Доказано, что модели факторизации очень хорошо подходят для персонализации, поскольку они эффективно обмениваются информацией между людьми и предметами, чтобы выучить один небольшой (например, 100) набор чисел для описания поведения каждого человека и каждого предмета. С другой стороны, многорукие бандиты по сути представляют собой регрессионную модель, которая предсказывает результат на основе взвешенной суммы входных сигналов. Это проблематично для персонализации, где по определению мы ожидаем, что взаимодействие человека и предмета является важным. Но количественная оценка такого взаимодействия, чтобы превратить его в достаточно небольшое количество входных сигналов для регрессионной модели, может быть сложной задачей.

Многорукие бандиты могут быть очень успешными в безличных условиях, потому что они используют так называемые стратегии исследования и использования, чтобы не упустить хорошие решения (например, какие статьи рекомендовать) только потому, что у вас недостаточно данных для них. Суть первой статьи, которую вы здесь упомянули, заключается в том, что можно также реализовать такие стратегии исследования и использования с моделями факторизации, если это актуально для конкретной проблемы.

Поскольку Netflix - это служба подписки, кажется, что наиболее важным для оптимизации является удержание, которое дает вам сигнал только каждые несколько месяцев. Как вы расставляете приоритеты быстрых KPI прокси, таких как переход по ссылкам, по сравнению с более важными, но медленными KPI, такими как удержание? Как найти баланс между быстрой оптимизацией с помощью обучения с подкреплением и медленным откликом при A / B-тестировании?

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

В целом, какие уроки вы узнали о том, как компании следует (или не следует) интегрировать машинное обучение в разработку своих продуктов?

Очень тщательно и вдумчиво, в частности, следя за тем, чтобы конечный продукт был высокого качества (не отдавая предпочтение худшему качеству контента или взаимодействия, которое только можно себе представить, независимо от ваших KPI). Что продукт, по крайней мере, соответствует миссии компании и идеально поддерживает ее. И, наконец, иметь мнение о последствиях продукта для общества.