[Перевод] Google ставит машинное обучение во главу угла

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


Карсон Холгейт [Carson Holgate] тренируется на ниндзя. Но не в рукопашном бою — это она уже освоила. Ей 26 лет, и у неё чёрный пояс второго дана по тхэквондо. На этот раз она тренируется в алгоритмах — и вот уже несколько недель проходит программу, которая даст ей силу даже большую, чем дает рукопашный бой. Это машинное обучение, МО. Она работает программистом в Google, в подразделении Android. Холгейт — одна из 18 программистов, участвующих в этом году в программе «Ниндзя машинного обучения», которая выдёргивает талантливых кодеров из их команд и вводит в программу в стиле «Игра Эндера». В рамках программы их обучают техникам внедрения ИИ, которые должны сделать их продукты умнее. Даже ценой усложнения их программ.

965e64aa4d170610500f872294aa9d2e.jpg

«Наш слоган: «Хотите стать ниндзя в машинном обучении?»,- говорит Кристин Робсон, менеджер продукта в области МО во внутренних курсах Google, помогавшая внедрять программу. «Мы приглашаем людей из Google, чтобы провести шесть месяцев внутри команды МО, находиться рядом с наставником, работать над МО полгода, делать свой проект, запускать его и обучаться в процессе».

Для Холгейт, пришедшей в Google почти четыре года назад с дипломом по информатике и математике, это шанс овладеть самой горячей парадигмой мира софта. Используя обучающиеся алгоритмы и большие объёмы данных, «обучать» программы выполнению задач. Много лет МО было специальностью, которой владели немногие, «элита». Это время прошло, и есть мнение, что МО, питаемое нейросетями, эмулирующими работу биологического мозга — это истинный путь по наделению компьютеров возможностями человека, а иногда — и сверхчеловека. Google настроен на увеличение численности этой элиты в своей компании, и надеется, что эти знания станут нормой. Программистам вроде Холгейт эта программа может позволить занять место в первых рядах, и учиться у лучших из лучших. «Эти люди делают невероятные модели, имея при этом степени доктора наук,- говорит она, не скрывая восхищения. Она уже привыкла к тому, что участвует в программе, называющей своих учащихся «ниндзя». — Я сперва морщилась, но привыкла».

Учитывая огромное количество сотрудников компании — почти половина из 60 000 работают программистами — этот проект очень мал. Но программа символизирует когнитивный сдвиг. Хотя МО уже давно используется в технологиях Google — и компания уже стала лидером по найму экспертов в этой области — в 2016 году Google просто помешалась на этой теме. На конференции по обучению в конце прошлого года директор Сандар Пичай пояснил намерения корпорации: «МО — это ядро, путь преобразований, через который мы меняем представление о том, как мы достигаем наших целей. Мы вдумчиво применяем его во всех продуктах — будь то поиск, реклама, YouTube или Play. Мы ещё в начале пути, но вы увидите, что мы систематически будем применять машинное обучение во всех этих областях».
Очевидно, что если Google собирается встроить МО во все продукты, ему потребуются программисты, специализирующиеся на этих технологиях, представляющих собой резкий отказ от обычного стиля программирования. Как пишет автор популярного МО-манифеста «Главный алгоритм», Педро Домингос [Pedro Domingos]: «МО — это нечто совершенно новое, это технология, создающая сама себя». Успешное написание таких систем включает в себя задачи определения правильного набора данных, выбора правильного алгоритмического подхода и выбор правильных условий. А затем, что особенно тяжело сделать программисту, нужно довериться системе, выполняющей работу.

«Чем больше будет людей, раздумывающих над решением задач этим способом, тем лучше для нас»,- говорит лидер компании в области МО, Джеф Дин [Jeff Dean], который занимает в разработке софта в Google то же место, что и Том Брэди [https://en.wikipedia.org/wiki/Tom_Brady] среди квотербеков в NFL. По его мнению, сейчас из 25 000 программистов Google только «несколько тысяч» хорошо разбираются в МО. Ну, может быть, десять процентов. А ему хочется приблизить эту цифру к ста процентам. «Было бы здорово, если бы у каждого программиста были бы хоть какие-то знания в области МО»,- говорит он.

Произойдёт ли это когда-нибудь?

«Мы собираемся попробовать»,- говорит он.

* * *

Уже много лет Джон Джиннандреа [John Giannandrea] был в Google главным пропагандистом машинного обучения. Сегодня Джон занимет в ней пост главы поискового отдела — красноречивое свидетельство нового курса компании. Но, придя в компанию в 2010-м году (в рамках приобретения ею базы данных по людям, местам и прочим данным MetaWeb, сейчас интегрированной в Google Search под именем Knowledge Graph), он не имел большого опыта в МО или нейросетях. В 2011 году он был поражён новостями с конференции по нейросетям «Neural Information Processing Systems» (NIPS). Казалось, каждый год на NIPS новая компания рассказывала, чего она добилась при помощи МО, и это решение на голову превосходило предыдущие попытки, будь это перевод, распознавание голоса или машинное зрение. Происходило что-то удивительное. «С первого раза мне показалось, что на этой конференция обсуждаются какие-то совершенно непонятные вещи,- говорит он. — Но эта область на пересечении научных исследований и индустрии просто взлетела за последние три года. В прошлом году, по-моему, присутствовало 6 000 человек».

2c060412bc44e51ac801d6cc2040909c.jpg
Джефф Дин

Улучшенные алгоритмы эмуляции нейросетей вкупе с увеличивающейся благодаря закону Мура вычислительной мощностью и экспоненциальным ростом количества данных о поведении пользователей, собираемых компаниями класса Google или Facebook, начали новую эру господства МО. Джиннандреа присоединился к группе людей, уверенных в необходимости позиционирования МО как центральной технологии компании. В эту группу входит Дин, сооснователь Google Brain — проекта работы с нейросетями, берущего своё начало в отделе долгосрочных исследований Google X (который сейчас известен просто как X).

Google вцепился в МО медвежьей хваткой не просто ради сдвига в технологиях программирования. Это увлечение технологиями, которые дадут компьютерам невиданные до сих пор возможности. Передним краем этих технологий служат алгоритмы «глубокого обучения», построенные на основе нейросетей, вдохновлённых архитектурой мозга. Google Brain — это попытка машинного обучения, а компания DeepMind, занимавшаяся ИИ, и купленная Google в январе 2014 за полмиллиарда долларов, также концентрировала усилия в этой области. Именно DeepMind создала систему AlphaGo, победившую чемпиона игры в го, превзойдя ожидаемые возможности компьютеров, и всколыхнув недоверие к машинам людей, боящихся умных компьютеров и роботов-убийц.

Джиннандреа не верит в то, что «роботы нас всех убьют», но при этом подтверждает, что системы на основе МО изменят всё — от медицинских диагнозов до вождения автомобилей. И хотя эти системы не заменят людей, они изменят человечество.

В качестве примера способностей МО он приводит Google Photos. Одной из определяющих его возможностей является сверхъестественная и пугающая возможность находить изображение предмета, заданного пользователем. Покажи мне изображения бордер-колли. «Когда люди впервые видят его работу, им кажется, что происходит нечто совсем иное — компьютер не просто вычисляет предпочтения или предлагает видео на просмотр,- говорит Джиннандреа. Он понимает, что находится на картинке». В результате обучения компьютер «узнал», как выглядит бордер-колли, и он найдёт фотографии щенков колли, старых собак, длинношёрстных и подстриженных колли. Это доступно и человеку. Но человек не может просмотреть миллион примеров и идентифицировать десять тысяч пород. А система с МО может. Если она выучит одну породу, она может использовать эту технологию для опознания 9 999 оставшихся. «Именно это и есть инновация. Для таких узких областей знания становятся видны возможности обучающихся систем, которые некоторые люди описывают, как сверхчеловеческие».

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

Внутренние курсы компании по МО проводились и более десяти лет назад. В 2005 году Питер Норвиг, отвечавший тогда за поиск, предложил исследователю Дэвиду Пабло Кону [David Pablo Cohn] проверить, не сможет ли Google внедрить у себя курс по МО, читавшийся в Университете Карнеги-Меллон. Кон заключил, что только сами сотрудники Google могут вести такой курс, поскольку масштабы деятельности компании превосходят всех остальных (возможно, за исключением Министерства обороны). Он зарезервировал большую аудиторию в здании 43 (тогда это была штаб-квартира команды поиска) и каждую среду читал двухчасовые лекции. На паре из них присутствовал даже Джефф Дин. «Это был лучший курс в мире,- говорит Кон. — Все они превосходили меня в программировании». Курс был так популярен, что начал выходить из-под контроля. Люди из офиса в Бангалоре ночевали на работе, чтобы удалённо послушать лекции. Через пару лет некоторые сотрудники сделали короткие видеозаписи на основе лекций. Живые лекции прекратились. Кон считает, что это событие могло быть предшественником технологии «Массовый открытый онлайн-курс» (Massive open online courses, MOOC). В следующие годы в компании проходили другие, нерегулярные и не сравнимые по масштабу, курсы по МО. Кон ушёл из компании в 2013-м, как раз перед тем, как МО в Google «внезапно стало таким важным для всех».

Тем не менее, это понимание ждало своего часа до 2012 года, когда у Джиннандреа родилась идея «собрать кучу народа, занимавшегося этими вещами», и разместить их всех в одном корпусе. Проект Google Brain, вышедший из отдела Х, присоединился к тусовке. «Мы подняли множество команд, собрали их в одном корпусе, купили им отличную новую кофемашину, — говорит он. — Те, кто работал над компьютерным «восприятием», распознаванием звуков и речи, теперь общались с тем, кто работал над языковыми задачами».

Постепенно в популярных сервисах Google начали появляться результаты работы программистов, занимавшихся МО. Поскольку пока основными областями применения МО служат зрение, распознавание речи, синтез речи и перевод, неудивительно, что эта технология стала частью сервисов «голосовой поиск», «переводчик» и «фото». Удивительно как раз то, что МО пытаются встроить везде. Джефф Дин говорит, что по мере улучшения понимания его и его командой принципов МО, они всё выше поднимают планку использования этой технологии. «Раньше мы могли использовать МО в нескольких вспомогательных компонентах системы,- говорит он. Теперь же мы используем МО взамен целых наборов систем, и не пытаемся построить свою МО для каждой из частей». Если бы ему пришлось переписывать инфраструктуру Google, а Дин известен как один из создателей таких повлиявших на технологии систем, как Big Table и MapReduce, большая часть была бы получена не программированием, а обучением.

b3155dd26bf8c58db67580d3f561c824.jpg
Грег Коррадо, сооснователь Google Brain

МО позволяет наделять продукты такими свойствами, которые раньше и вообразить-то было сложно. Один из примеров — «умный ответ» в Gmail, запущенный в ноябре 2015. Начался он с разговора Грега Коррадо [Greg Corrao], сооснователя Google Brain, и инженера из Gmail Балинта Миклоса [Bálint Miklós]. Коррадо уже работал с командой Gmail над распознаванием спама и классификацией писем, а Миклос предложил нечто радикальное. Что, если при помощи МО автоматически создавать ответы на письма, чтобы избавить пользователей от лишних хлопот по набору текста на крохотных клавиатурках? «Я был крайне изумлён, ведь это предложение выглядело безумным,- говорит Коррадо. — Но затем я подумал, что при помощи предсказательной технологии нашей нейросети это может быть реализуемо. А если был хоть один шанс, нам нужно было попробовать».

Google увеличила шансы, поддерживая тесный контакт между Коррадо с командой и разработчиками Gmail. Такой подход используется всё чаще, эксперты по МО распыляются по группам разработчиков различных продуктов. «МО это и искусство, и наука, — говорит Коррадо. — Это как кулинария: конечно, химия играет свою роль, но чтобы приготовить что-нибудь интересное, вам нужно научиться комбинировать доступные ингредиенты».

Традиционные методы распознавания языка при помощи ИИ требовали включения правил языка в систему, но в этом проекте, согласно принципам современного МО, в систему ввели достаточно данных, чтобы она обучалась самостоятельно, как это делают дети. «Я обучался говорить не у лингвиста, а слушая разговоры других людей,- говорит Коррадо. Но что сделало проект выполнимым, так это возможность чётко определить параметры успеха. Они не хотели создать виртуального двойника Скарлет Йоханссон, который бы флиртовал в чатах. Им нужны были правдоподобные ответы на реальные письма. «Успех достигался, когда машина создавала вариант ответа, который люди находили достаточно полезным для использования», — говорит он. В результате система обучалась, отмечая, выбрал ли пользователь предлагаемый ответ.

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

Вышедшая в прошлом ноябре Smart Reply стала хитом — пользователи Gmail теперь постоянно получают по три варианта ответа на письмо, которые они могут отправить одним касанием. Иногда они попадают прямо в точку. Один из десяти ответов, отправляемых пользователями мобильной версии Inbox, создан машиной. «Я до сих пор удивляюсь, что это работает»,- смеётся Коррадо.

Smart Reply — лишь одна вершина в плотном графе проектов Google, в которых МО хорошо себя показало. Возможно, поворотный момент наступил, когда машинное обучение стало неотъемлемой частью поиска — главного продукта Google, и источник практически всех доходов. Поиск всегда основывался на ИИ, но много лет священные алгоритмы, предлагающие нам «десять синих ссылок» в ответ на запрос, считались слишком важными для того, чтобы отдавать их алгоритмам МО. «Поскольку поиск был такой важной частью компании, ранжирование очень сильно эволюционировало. Люди скептически относились к мысли, что можно достичь какой-то существенной разницы»,- говорит Джиннандреа.

Частично это было вызвано культурным сопротивлением — гуру-хакеры, любящие контроль надо всем, отказывались принять подход машинного обучения в стиле дзен. Амит Сингхал, длительное время бывший главным специалистом по поиску, сам был последователем Жеральда Салтона, легендарного специалиста по информатике, чья основополагающая работа по выборке документов вдохновила Сингхала. Он помог переделать код Брина и Пейджа в нечто масштабируемое, соответствующее требованиям новой компьютерной эры. (Так он попал в клан «ищеек»). Он получал удивительные результаты, действуя методами 20-го века, и с подозрением допускал учеников в сложную систему, бывшую сердцем Google. «В первые два года в Google я был в команде по улучшению качества поиска, и пытался использовать машинное обучение для улучшения ранжирования,- говорит Дэвид Пабло Кон. — Оказывалось, что интуиция у Амита была лучшей в мире, и поиск получался лучше, если мы воплощали в коде то, что было у него в голове. Мы не могли найти ничего лучше, чем его подход».

К началу 2014 года специалисты по МО решили, что ситуация должна измениться. «Мы провели беседы с командой ранжирования,- говорит Дин. — Мы сказали, что должны, по меньшей мере, попробовать, и посмотреть, не будет ли у нашего подхода каких преимуществ». Их эксперимент оказался центральным моментом всего поиска: как хорошо документ в выдаче соответствует поисковому запросу (что измеряется количеством кликов пользователя). «Мы просто сказали, давайте попробуем подсчитать ещё одну метрику при помощи нейросети и посмотрим, будет ли она полезна».

Оказалось, что будет, и эта система сейчас встроена в поиск под именем RankBrain. Она была запущена в апреле 2015. Google, как обычно, не вдаётся в подробности того, как она улучшает поиск (что-то связанное с длинными ключевыми фразами? лучшая интерпретация двусмысленных запросов?), но Дин говорит, что RankBrain работает «с каждым запросом» и влияет на ранжирование «возможно, не в каждом запросе, но во многих». Более того, она очень эффективна. В сотне «сигналов», используемых поисковиком для подсчёта ранга (сигнал — один из параметров вроде геолокации или совпадения запроса с заголовком), RankBrain находится на третьем по важности месте.

«Для компании было важно, чтобы мы при помощи МО улучшили систему поиска,- говорит Джиннандреа. — И многие следили за нашей работой». Педро Домингос, профессор из Вашингтонского университета, автор «Главного алгоритма», формулирует это по-другому: «Всегда шла борьба между «ищейками» и сторонниками МО. Последние всё-таки выиграли».

Новая задача Google — смена парадигмы в сознании программистов, чтобы все, если и не были специалистами, то были хотя бы знакомы с МО. Того же добиваются и многие другие, например, Facebook, где так же сильно фанатеют от МО и глубокого обучения. Конкуренция среди желающих нанять выпускников с такой специальностью большая, и Google пытается сохранить свою фору. Уже несколько лет в академических кругах шутят, что Google нанимает лучших студентов, не нужных ему, просто чтобы не отпустить их к конкурентам. Правда, на самом деле они всё-таки нужны Google. «Мои студенты, неважно кто, всегда получают приглашения от Google»,- говорит Домингос. Страсти накаляются: на прошлой неделе Google объявил о готовящемся открытии новой лаборатории по МО в Цюрихе, которая создаст множество рабочих мест.

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

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

1281de5199506504b9cb049b4bb93f8b.jpg
Кристин Робсон работает над обучением всех желающих принципам МО

Также эта область требует терпения. «Модель МО — это не статичный кусок кода. Вы постоянно кормите его данными,- говорит Робсон. — Мы постоянно обновляем модели и учим их, дополняем данные и подстраиваем предсказания. Всё это ощущается как живое существо. Это другой тип программирования».

«Это наука об экспериментах с другими алгоритмами, или о том, какие наборы данных лучше всего работают в вашем случае,- говорит Джиннандреа, который, несмотря на свою роль властелина поиска, всё ещё рассматривает проповедь МО как часть своей работы. — Информатика никуда не девается. Но приходится больше сосредотачиваться на математике и статистике, и меньше — на написании полумиллиона строк кода».

С точки зрения Google, этот барьер поможет перепрыгнуть умное переобучение. «В конце концов, используемая в моделях математика не так уж и сложна,- говорит Дин. — Её может освоить большинство программистов, нанимаемых в Google».

Чтобы помочь растущему костяку экспертов по МО, в Google сделали набор инструментов, позволяющих программистам делать правильный выбор, когда те работают с моделями для тренировки алгоритмов, и для ускорения процесса тренировки и уточнения. Круче всего из них будет TensorFlow — система, ускоряющая процесс построения нейросетей. Созданная на основе разработок Google Brain Дином и его коллегой Раджатом Монгой [Rajat Monga], TensorFlow помогла донести МО до народа, стандартизировав нудные и эзотерические детали построения системы. Особенно после открытия TensorFlow широкой публике в ноябре 2015.

В то время, как Google пытается представить этот шаг в виде альтруистической помощи сообществу, она признаёт, что новое поколение программистов, знакомых с внутренней кухней компании в области МО, принесёт пользу системе найма компании. Скептики отмечали, что открытие кода TensorFlow последовало в попытке угнаться за Facebook, которая выпустила свои модули глубокого обучения для системы Torch в январе 2015. Тем не менее, возможности TensorFlow, открытой Google для широкой публики, сделали её самой популярной среди любителей МО. Джиннандреа утверждает, что на первый онлайн-курс по TensorFlow записалось 75 000 человек.

Google всё-таки оставляет много вкусного только для своих программистов. У них полно всяких инструментов для работы с МО, не последним из которых будет инструмент, который они использовали давно, но рассказали о нём только сейчас — Tensor Processing Unit. Это микрочип, оптимизированный для работы программ МО, так же, как Graphics Processing Units разработан с единственной целью ускорения вычислений в графике. Многие сотни чипов (сколько именно, знают только Бог и Ларри Пэйдж), стоят в серверах дата-центров компании. Ускоряя вычисления в областях нейросетей, TPU дают Google серьёзные преимущества. «Без них мы бы не сделали RankBrain»,- говорит Дин.

Поскольку Google больше всего требуются люди для разработки и настройки этих систем, компания не только яростно работает над улучшением инструментов ПО для тренировки, но и оттачивает эксперименты по тренировке программистов, постигающих МО. Эксперименты проводятся мелкие и крупные. Среди крупных — «дешёвый и сердитый» двухдневный курс «Крэш-курс по МО с TensorFlow», в котором есть и слайды, и упражнения. Google надеется, что это пробудит аппетит программистов, которые ринутся искать дополнительные знания. «У нас уже сотни людей записаны на следующую итерацию этого курса»,- говорит Дин.

Попытки поскромнее затягивают программистов извне в гугловскую утробу машинного обучения. Этой весной Google начал программу Brain Residency, призванную привлекать перспективных программистов извне и обучать их в течение года силами группы Google Brain. «Мы называем это первой ступенью вашей карьеры в глубоком обучении»,- говорит Робсон, помогающий управлять программой. Конечно, возможно, что кто-либо из 27 изучающих разные дисциплины МО программистов останутся в Google, но основная идея состоит в том, чтобы по окончанию выпустить их обратно в дикую природу, чтобы они при помощи своих сверхспособностей распространяли Google’овскую версию МО в датасфере.

В каком-то смысле, то, что Карсон Холгейт узнает в своей программе для «ниндзя», имеет основополагающее значение для планов Google по доминированию в роли компании, сосредоточенной на ИИ в мире, где МО занимает первое место среди дисциплин.

Её программа началась с четырёхнедельного учебного курса, на котором главные разработчики продуктов Google из самых продвинутых проектов ИИ обучали их мастерству превращения МО во что-то осязаемое. «Мы отправляем ниндзя в аудиторию, где Грег Коррадо за доской объясняет им LSTM («Long Short Term Memory», технология работы нейросетей), сильно жестикулируя, показывая им, как это работает на самом деле, в чём заключается математика и как это используется в продакшене,- говорит Робсон. — Мы поступаем так с каждой нашей технологией и каждым инструментом, чтобы за первые четыре недели по-настоящему погрузить их в тему».

Холгейт пережила учебный курс, и сейчас использует инструменты МО для создания в Android инструмента для общения с целью облегчить задачу общения всех гугловцев друг с другом. Она настраивает гиперпараметры, подчищает входные данные, удаляет стоп-слова. И она не свернет с этого пути, поскольку знает, что эти ИИ-технологии — это настоящее и будущее Google, а может, и всей техноиндустрии. А может, и всего вообще.

«С машинным обучением, — говорит она, — у нас тут всё серьёзно».

© Geektimes