Перевести большую компанию на машинное обучение: опыт Uber |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-02-18 16:09 Перевод материала специалиста по искусственному интеллекту Джамала Робинсона о том, как Uber удаётся применять машинное обучение во всех сферах бизнеса. Недавно ко мне обратилась консалтинговая фирма и попросила дать рекомендации насчёт создания и масштабирования систем искусственного интеллекта (ИИ) и машинного обучения (МО) для своих клиентов. У меня есть опыт в этой сфере: с точки зрения инфраструктуры — сотрудничество с Intel и Nvidia, с точки зрения программного обеспечения — с Amazon и IBM, поэтому я решил помочь. В этой статье расскажу, на что в первую очередь следует обратить внимание, масштабируя подобные системы. Думаю, лучше всего подойти к проблеме, используя узнаваемые бренды, продуктами которых большинство пользуется каждый день. Поэтому я выбрал Uber. Продукты и сервисы Uber, задействующие машинное обучение Uber поставила себе цель — демократизировать использование машинного обучения во всей компании. И это видно по продуктам и сервисам, которые различные команды создали на основе единой платформы МО. Однако прежде чем перейти к самой платформе и организационным принципам, позволяющим компании успешно работать с этой технологией, взглянем на несколько примеров того, как Uber использует машинное обучение. Uber Eats Uber Eats — онлайн-площадка для заказа и доставки еды из местных ресторанов, запущенная в 2014 году. Еду прямо к двери привозит водитель Uber. Uber Eats использует модели, построенные на МО, для выполнения сотен прогнозов, оптимизирующих обслуживание. Алгоритмы начинают работу при каждом запуске приложения; они принимают в расчёт рестораны, позиции в меню и приблизительное время доставки. Прогнозирование Uber пользуется алгоритмами МО для прогноза в самых разных областях:
Служба поддержки Служба поддержки компании отвечает на тысячи заявок (оставленные в машине кошелёк или телефон) при 15 млн поездок в день. Чтобы ускорить обработку запросов, служба поддержки использует МО-модели: первая их версия ускорила работу на 10%, на столько же улучшив уровень удовлетворённости клиентов, вторая обеспечила прирост в 6%.
Может и так, но в большинстве своём компании получат второстепенные, но значимые прибавки. Например, вы набрали определённое количество сотрудников, чтобы разбирать 2000 запросов в день, а затем сократили время решения на 15%. Выходит, вам:
Если каждый сотрудник службы поддержки справляется с 24 запросами (по 20 минут на каждый) за восемь часов, а его зарплата — $70 тысяч в год, взгляните на первый пункт. Сократив время, вы можете сократить штат на 12 человек и по-прежнему справляться с 2000 запросов, при этом сэкономив на зарплатах $875 тысяч в год (сотрудников не обязательно увольнять, можно поставить им другую задачу). Таким образом, мы сэкономим $875 тысяч, улучшив процесс на 15% в этом конкретном сценарии использования. Вот в чём настоящая сила искусственного интеллекта и машинного обучения. Расчёт времени прибытия Система расчёта времени прибытия Uber показывает как время прибытия к месту посадки, так и время в дороге. Если вы когда-нибудь пользовались сервисом вроде Uber, то знаете, насколько эти показатели важны для положительного восприятия пользователем. Также эти данные передаются в другие внутренние системы, определяющие цену и маршрут. Картографическая служба Uber пользуется МО для обнаружения потенциальных ошибок в системе расчёта и правит их в соответствии с прогнозом. Дополнив действующие службы алгоритмами МО, Uber существенно увеличила точность расчёта времени прибытия, в отдельных случаях сократив количество неточностей более чем вполовину. Беспилотные автомобили Системы, установленные в беспилотниках Uber, используют машинное обучение для распознавания объектов, планирования движений и распределённого обучения крупных моделей на большом количестве графических процессоров. Цифровые изменения бизнеса на основе машинного обучения Любой, кто хоть когда-нибудь занимался переводом на цифровые технологии большой фирмы, понимает, что успех или провал задумки во многом зависят от организационной структуры предприятия. Так, исследовательская компания Gartner выделила шесть препятствий, мешающих цифровому переводу, не учитывая собственно технологии. Uber тут ничем не выделяется: успешное масштабирование МО требует не только правильной работы с технологической базой. Чтобы интегрировать МО в рабочий процесс, сотрудники Uber приняли во внимание главные факторы успеха в трёх областях: использование технологий, внутренние процессы компании и организационную структуру. Остальная часть статьи посвящена этим трём параметрам. Я также расскажу, чему Uber научилась за последние три года, и дам пару рекомендаций фирмам, переживающим подобные изменения. Как Uber задействует преимущества машинного обучения Uber дала возможность взглянуть на то, как она внедряет ИИ- и МО-инфраструктуру во все свои подразделения. Компания добилась того, что её усилия вылились в сотни вариантов использования, тысячи рабочих моделей и миллионы прогнозов каждую секунду. За три года Uber существенно расширила отдел МО до нескольких сотен разработчиков, исследователей и менеджеров по продукту. Платформа машинного обучения «Микеланджело» В основе успеха лежит собственная МО-платформа Uber — «Микеланджело». «Микеланджело» состоит из нескольких систем с открытым исходным кодом и блоков, разработанных компанией (если решения с открытым кодом ей не подходили). Среди первых: HDFS, Spark, Samza, Cassandra, MLLib, XGBoost и TensorFlow. Для взаимодействия с «Микеланджело» разработаны веб-интерфейс и несколько API (через Jupyter). Недостаточно, однако, просто собрать в одном месте несколько систем с открытыми исходниками и объединить их алгоритмами собственной разработки; платформы, обслуживающей до 40 млн пассажиров в месяц, в таком случае не выйдет. Полный рабочий цикл «Микеланджело» Команда Uber обнаружила, что в основе большинства различных сценариев использования МО (например, классификации, регрессии, прогноза ряда динамики) лежит общая схема работы. Также специалисты компании разработали стандартную схему реализации, чтобы поддерживать новые алгоритмы и фреймворки как в сети, так и в офлайне.
Машинное обучение как разработка ПО Важный принцип, которым руководствуется команда «Микеланджело», — мыслить машинное обучение как разработку ПО. Это значит, что любая МО-платформа в компании проходит через те же многократные и тщательные проверки, которые используются в разработке программ. Взгляните на МО-модель, скажем, как на скомпилированную программную библиотеку. С таким подходом вы волей-неволей будете следить за обучающими конфигурациями с помощью выверенной системы контроля версий. Точно так же: не имея хороших инструментов отслеживания, Uber не раз сталкивалась с тем, что модель внедрялась в рабочий процесс, но её невозможно было воспроизвести заново, поскольку обучающие данные или конфигурации потерялись. Чтобы убедиться, что программа работает правильно, важно провести качественные тесты до запуска ПО и приглядывать за ним в действии. Поэтому перед внедрением той или иной МО-модели Uber всегда оценивает её на тестовых выборках и следит за её работой, убеждаясь, что она ведёт себя так же, как и в офлайн-тестах. Скорость разработки модели Создание системы машинного обучения требует верного выполнения множества циклов. И от самого машинного обучения это не зависит, поскольку скорость их выполнения влияет на скорость масштабирования новинки и продуктивность команд, которые её используют. Группа, ответственная за МО в Uber, поставила в приоритет скорость работы аналитиков, ведь чем больше экспериментов проводится, тем больше гипотез тестируется и тем лучше результаты. Также Uber рассказала, какой цикл проходит проект с машинным обучением, коснувшись и деталей различных петель обратной связи внутри этого цикла. В его основе лежат четыре процесса:
Другие петли в цикле изображают области, где для улучшения решения и завершения проекта необходимо собрать обратную связь несколько раз. «Скорость создания нового продукта» или «время окупаемости» также крайне важны для распространения МО внутри Uber. Вот несколько принципов для повышения скорости разработки:
Теперь давайте поговорим о структуре. Организационная работа для успешного внедрения ИИ Различные требования для задач, которым необходимо МО, и ограниченные экспертные ресурсы делают организацию сложной, важно, чтобы она была правильной. Правильная структура позволила Uber работать с МО и командам с несколькими аналитиками данных, и группам с небольшой технической подготовкой. Команды машинного обучения Нужные люди, работающие над нужными задачами, — вот что важнее всего, когда дело касается создания и масштабирования качественных решений на основе МО. А в условиях нехватки ИИ-специалистов это становится всё труднее. В мире насчитывается около 300 тысяч специалистов по искусственному интеллекту, тогда как количество вакансий переваливает за несколько миллионов. И хотя это лишь гипотеза — хорошие зарплаты и соцпакеты, а также агрессивная политика найма со стороны фирм подсказывают, что хороших работников в сфере ИИ сильно не хватает. Поэтому Uber пришлось задуматься над тем, как грамотно распределить дефицитные кадры и расширить воздействие специалистов на множество задач, требующих МО. Давайте познакомимся с несколькими основными командами и их совместной работой по созданию и внедрению в производство систем на машинном обучении. Команды по продукту У каждой команды по разработке продукта в Uber есть свои модели, которые она создала и внедрила. Так, картографическая служба контролирует системы для расчёта примерного времени прибытия, а Uber Eats — системы оценки ресторанов. Как правило, эти команды укомплектованы всеми необходимыми кадрами, но в зависимости от продукта и сложности решения им время от времени помогают группы экспертов, занимающиеся разрывом между возможностями той или иной платформы и нуждами этой команды. Экспертные группы Когда команда по продукту не справляется своими силами, она обращаются к экспертным группам. Uber организует их таким образом, чтобы они разбирались в самых разных областях, например, обработке естественной речи, компьютерном зрении, системах рекомендаций или прогнозировании. Примером совместной работы экспертов и команды разработчиков может послужить улучшение обслуживания клиентов с помощью обработки речи и машинного обучения. На проекты, требующие совместной работы, обычно уходит от нескольких недель до нескольких кварталов. По мере приближения к запуску компания, снижая риски, сама добавляет в команды по продукту экспертов, чтобы устранить нехватку знаний. Это позволяет команде по продукту поддерживать работу собственных систем и высвобождать ресурсы специалистов. Команды по разработке платформы машинного обучения Команда, ответственная за «Микеланджело», разрабатывает решения и процессы, которыми в работе с МО-проектами пользуются другие отделы. По мере того как использование машинного обучения в Uber становится всё более узконаправленным, команда «Микеланджело» также занялась платформами для конкретных областей, которым не хватает средств единой платформы. Пример: обработка естественной речи и платформы компьютерного зрения, которые создаются при помощи особых инструментов визуализации, предобученных моделей и отслеживания метаданных. Для быстрого создания подобных систем команда разработчиков перерабатывает как можно больше компонентов «Микеланджело». Исследовательская группа Также в Uber работает группа исследователей, которая изучает машинное обучение и искусственный интеллект и помогает внедрять самые передовые новинки в бизнес. Основные задачи этой группы: совершение фундаментальных открытий в Uber с помощью ИИ и МО и общение с МО-сообществом. Теперь взглянем на процессы, которые усиливают воздействие на компанию этих команд. Увеличение продуктивности и эффективности команд МО Расширяя применение машинного обучения, важно подготовить правильные процессы, регламентирующие продуктивность и эффективность перехода на новые технологии. По мере становления МО в Uber, компания выработала целую группу таких процессов, направляющих команды и помогающих избежать повторяющихся ошибок. Разберём несколько примеров. Запуск Для внедрения МО-систем во все подразделения Uber важно было придумать надёжные, повторяемые процессы, которые позволят избежать типичных проблем при разработке и проконтролировать поведение будущей модели. Также в Uber установили, что профили рисков значительно отличаются от одного сценария использования к другому и требуют специального одобрения и процессов запуска. В некоторых случаях наблюдается большая чуткость к сбоям в режиме работы, пограничным состояниям и сложными юридическими и этическими аспектами или проблемам с конфиденциальностью. Пример: запуск новой ценовой модели потребует большего погружения в исследования и вопросы конфиденциальности, нежели запуск автоматического обновления модели оценки времени прибытия. По этим причинам, как упоминалось ранее, команды сами внедряют свои разработки. Да, у них единое руководство, которое касается общих юридических и этических вопросов, связанных с экспериментами и запуском моделей машинного обучения. Тем не менее командам не запрещается адаптировать эти процессы под свои нужды. Это делает их более эффективными, ведь кто как не сами разработчики лучше остальных понимают свойства модели и лучше остальных готовы к работе с экспертами для оценки и сокращения рисков. Планирование Бывает, что доступные инструменты не совсем соответствуют требованиям определённого подразделения компании. Тут мы и создаём системы под индивидуальные нужды. Uber пытается добиться идеального баланса между самостоятельностью команд по продукту и обменом разработками, чтобы избежать раздробленности и технических долгов. Для этого в Uber существует группа старших менеджеров, которая следит за развитием МО-инструментов во всей компании, обеспечивая координацию между командами и долгосрочную согласованность архитектуры. Это опытная группа, прежде всего стремящаяся помочь, а не контролировать каждый шаг. Сообщество Внедрение МО в большой компании требует слаженной организации. Чтобы выстроить внутреннее сообщество, Uber проводит ежегодную конференцию UberML, на которой в последний раз собралось около 500 участников, представивших свои доклады или инфографику. С похожим я столкнулся, работая в Amazon, где занимался координацией ИИ-разработчиков. Я и подумать не мог, что конференция для сотрудников, занимающихся искусственным интеллектом в Amazon, потребует небольшого стадиона. Среди приглашённых докладчиков были разработчики из компаний списка Fortune 500, а один даже руководил научным отделом фирмы стоимостью более 70$ млрд. Эта встреча позволила различным командам продвинуть свои решения в области МО и ИИ, а мне — наладить связи. Uber также выстраивает сообщество, проводя обсуждения, круглые столы и краткие презентации для энтузиастов во время обеденных перерывов. Вместе с тем компания держит контакт и с внешним сообществом, устраивая конференции, выкладывая документацию, помогая проектам с открытым исходным кодом, объединяя усилия с другими фирмами и учёными в исследовательской деятельности. Со временем начинания Uber переросли в масштабные инициативы по обмену лучшими практиками, совместной работе над самыми современными проектами и улучшению общего состояния ИИ и МО. Образование Как для работников сферы продаж важно постоянно заключать контракты, так и для МО-команд важно не стоять на месте; они должны быть в курсе всех подвижек в теории машинного обучения, учиться у коллег и уметь пользоваться самыми современными инструментами, что подчёркивает важность каналов для обмена информацией. Uber начинает знакомить новых работников с МО и «Микеланджело» уже на первой неделе. Также компания, когда в «Микеланджело» появляются новые важные функции, устраивает специальные тренинги для сотрудников, часто работающих с платформой. Полное и действенное описание ключевых инструментов и пользовательских циклов также побуждают к обмену знаниями и массовому переходу на эти инструменты. Если же кого-то накопились вопросы, то группы, занятые машинным обучением, проводят консультации. Заключение Перевести большую компанию на машинное обучение не так-то просто. Uber многому научилась за последние три года. Порой всё получалось сразу, но нередко командам приходилось проводить несколько итераций в поисках подходящего решения. Вот главные уроки, которые они усвоили:
Источник: vc.ru Комментарии: |
|