Как Uber применяет в бизнесе машинное обучение

Анна Самойдюк
Расскажите друзьям
Анна Самойдюк

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

Uber Eats

Uber Eats – платформа для заказа и доставки еды, запущенная в 2014 году. Сервис использует модели машинного обучения для составления сотен прогнозов, чтобы оптимизировать обслуживание клиентов. Он делает это каждый раз, когда открывается приложение. Модели предлагают рестораны, блюда и примерное время доставки.

Фото: Medium

Прогнозирование

Вот какие прогнозы делает Uber:

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

  • Планирование производительности оборудования. Прогнозирует требования аппаратной емкости для избежания сбоев в обслуживании.

  • Маркетинг. Оценивает маргинальную эффективность разных каналов и следит за трендами, сезонностью и другими динамиками (например, конкуренцией или ценой).

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

Фото: Medium

Служба поддержки

Команда поддержки в Uber отвечает на тысячи тикетов (например, «забыл кошелек/телефон в машине»), ведь каждый день сервис осуществляет 15 миллионов поездок. Она использует модели машинного обучения для ускорения обработки и разрешения запросов.

Приблизительное время прибытия

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

Фото: Medium

Беспилотные автомобили

Системы беспилотных автомобилей Uber используют машинное обучение для определения объектов и планирования маршрута.

Цифровая трансформация бизнеса

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

Чтобы правильно внедрить машинное обучение, Uber учла критические факторы успеха в трех областях: использование технологии, процессы для управления цифровой трансформацией и организационная структура.

Знакомьтесь, Michelangelo

Успешно внедрить машинное обучение в бизнес Uber удалось при помощи своей продвинутой МО-платформы Michelangelo.

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

Рабочий процесс Michelangelo

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

Стандартный рабочий процесс Michelangelo состоит из шести шагов:

  1. Управление данными.

  2. Обучение моделей.

  3. Оценка моделей.

  4. Деплой моделей.

  5. Прогнозирование.

  6. Отслеживание прогнозов.

Машинное обучение как разработка ПО

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

Скорость разработки моделей

Фото: Medium

Разработка систем МО требует огромного количества правильных итераций. Это не зависит от самого МО, поскольку скорость итераций влияет на то, как быстро инновации будут масштабироваться в организациях, независимо от технологии. Для Uber важнее всего было позволить командам аналитиков данных работать быстрее, поскольку чем больше экспериментов проводилось, тем больше тестировалось гипотез и тем лучше были результаты.  

Ключевыми пунктами в рабочем процессе проекта машинного обучения Uber являются (1) определение проблемы, (2) создание прототипа решения, (3) реализация решения и (4) оценка эффекта решения. Вот несколько принципов, которые способствовали быстрой и эффективной работе команд:

  • Решение проблем с данными (доступ, интеграция и так далее), чтобы аналитики не тратили на это свое время.

  • Автоматизация или создание инструментов для ускорения текущих рабочих процессов.

  • Ускорение процессов деплоя.

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

Структуризация организации для успешного принятия МО

Команды МО

Для разработки и масштабирования качественных МО-решений очень важно, чтобы над ними работали правильные люди. Это становится еще сложнее из-за дефицита специалистов в сфере ИИ.

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

Команды, отвечающие за продукт

Каждой команде, разрабатывающей продукт, принадлежат определенные модели МО. Например, картографической команде Uber принадлежат модели, прогнозирующие приблизительное время прибытия, а команде Uber Eats – модели для составления рейтинга ресторанов. В зависимости от продукта и сложности решения с командами, отвечающими за продукт, могут работать группы специалистов, чья задача – устранять пробелы в платформе.

Группы специалистов

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

Фото: Medium

Команды, отвечающие за платформу машинного обучения

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

Исследования

В Uber есть команда исследователей, которые проводят исследования в области ИИ/МО и продвигают инновации в организации.

Процессы для повышения эффективности инструментов МО

Запуск

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

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

Планирование

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

Сообщество

Фото: Uber Engineering Blog

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

Образование

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

Заключение

Ключевые уроки, которые извлекла для себя Uber за последние три года:

  • Нужно позволять разработчикам использовать инструменты, которые им нравятся.

  • Данные – самая важная часть машинного обучения.

  • Чтобы компоненты с открытым исходным кодом хорошо работали в широких масштабах, нужно приложить серьезные усилия.

  • Нужно разрабатывать итеративно, опираясь на фидбек пользователей.

  • Важно правильно структурировать команды.

  • Необходимо с умом подходить к вопросу о всех областях, которые необходимы для принятия технологии МО в компании.

Напоследок: масштабировать машинное обучение очень сложно. Поэтому не будьте строги к себе, если у вас не получится все с первого раза.

Источник.


Материалы по теме:

Uber займется разработкой беспилотных электровелосипедов и самокатов

Uber рассказал о готовности вернуться к тестам беспилотников и новых условиях испытаний

Uber запустил сервис доставки еды для компаний

СМИ сообщили о планах Uber запустить доставку еды дронами в 2021 году


В нашем Instagram @rusbase сегодня есть на что посмотреть! Подписаться

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

‡агрузка...

Комментарии

Зарегистрируйтесь, чтобы оставлять комментарии и получить доступ к Pipeline — социальной сети, соединяющей стартапы и инвесторов.
Open Innovations Startup Tour Набережные Челны
1 апреля 2019
Ещё события


Telegram канал @rusbase