Hi-Tech

«Заменять людей роботами может быть экономически нецелесообразно — человеческий труд зачастую дешевле»

Во время учёбы он основал сервисы для работы с текстом с помощью машинного обучения. Виктор Кантор заинтересовался анализом данных, когда учился в МФТИ. А после выпуска специалист занимался оптимизацией бизнес-процессов в ABBYY, Yandex Data Factory и «Яндекс.Такси».

В интервью vc.ru Виктор Кантор рассказал, как отличить хороших специалистов от плохих, почему его беспокоит ажиотаж вокруг машинного обучения и как связаны любовь к путешествиям и число детей. Сейчас он консультирует «Яндекс.Такси», ведёт образовательный проект Data Mining In Action и курсы по анализу данных на Coursera.

Виктор Кантор

Как ты узнал о машинном обучении и заинтересовался ИТ? Ты родился в небольшом городе в Белогородской области.

Я учился в школе, мне нравились гуманитарные предметы — литература, английский язык. Когда я жил в Губкине, то ничего не знал о машинном обучении. А когда углубился в физику и математику, то понял, что это моё. Я даже участвовал в олимпиадах по ним, но у меня не очень выходило.

О машинном обучении я узнал только на третьем курсе. В 16 лет я поступил в МФТИ на факультет инноваций и высоких технологий. Тогда вокруг него ещё не было такого ажиотажа, как сейчас.

Он разбирался в машинном обучении и пользовался славой одного из самых жёстких преподавателей на факультете. За ИТ-образование на факультете отвечал Никита Пустовойтов — теперь он руководит анализом данных в DoubleData. Я решил, что у него будет чему поучиться, и начал работать над студенческим проектом под его руководством.

Чем ты занимался, когда выпустился из МФТИ?

Там были интересные задачи, но 90% времени нужно было монотонно программировать. Сперва я устроился разработчиком на C++ в ABBYY Lingvo. В итоге я решил уйти до конца испытательного срока, но в компании нашли способ, как меня удержать. Я почти не общался с коллегами: можно, конечно, поговорить, но код сам себя не напишет.

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

Мой отдел занимался проектами в сфере анализа данных на заказ. В 2015 году я перешёл в Yandex Data Factory. Это было круто, потому что ты мог познакомиться с разными индустриями: промышленностью, ритейлом, сферой услуг.

До этого у меня уже был небольшой опыт руководства — я управлял студенческими стартапами, когда учился в МФТИ. В какой-то момент в «Яндекс.Такси» нужно было выстроить команду машинного обучения, а в Yandex Data Factory я руководил небольшой группой аналитиков.

Но в итоге всё равно приходишь к тому, что берёшь ответственность за других. Когда я пришёл в Data Factory я думал: хватит с меня — отдохну и буду отвечать только за себя.

Разработкой автомобилей-беспилотников я не занимался, у проекта есть собственная команда, и это отдельный мир. Я выстроил службу, которая занимается машинным обучением для «Яндекс.Такси», и продолжил заниматься своими делами — консультированием и преподаванием.

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

Что давалось тебе сложнее всего, когда ты занялся машинным обучением?

Когда я только начинал, то был самоучкой. Самое сложное — это не алгоритмы, не математика и не Python, а сделать так, чтобы твоя модель работала. Мне недоставало и теоретических знаний, и опыта.

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

На четвёртом курсе МФТИ у меня уже был формальный курс по машинному обучению — стандартный, по программе совпадающий с известным курсом Воронцова.

В общем, мог рассказать много чего интересного, а вот сделать что-то рабочее — нет. К концу курса я научился доказывать различные утверждения, формулировать теоремы про алгоритмы, рассказывать, как они работают.

Первые два года, которые я занимался машинным обучением, я пытался сделать что-то работающее, но работало всё так себе. Это было проблемой.

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

Расскажи о своём опыте основания стартапов.

Мы занимались автоматическим тегированием документов — например, если человек хочет найти на компьютере файл на определённую тему, но не помнит точных ключевых слов. Мой первый проект Smart Tagger был связан с семантическим анализом текстов.

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

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

После этого мне стало интересно, получится ли у меня собрать команду, которая сделает что-то работающее.

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

Я сам пользовался сервисом, когда мне нужно было ознакомиться с большим объёмом текста за 5-10 минут. 2long2read можно было использовать для аннотирования отдельных документов или же как плагин для браузера. Ещё проект был популярен у студентов МФТИ, особенно, когда они готовились к экзаменам по философии.

Вот если бы наше приложение могло строить аннотацию сразу для многих текстов, то оно могло бы взлететь. Объективно сервис был не слишком полезным — люди и сами могут прочитать текст «по диагонали». Потом одного парня переманил «Яндекс», а другой переехал заниматься машинным обучением в Амстердам. Но для команды основателей проект всё равно закончился хорошо: ребят взяли работать в Surfingbird.

После опыта работы в компании получилось бы, конечно, продуктивнее. Сейчас я понимаю, что это было очень смело: ничего не умея, пытаться основать свой бизнес.

Сейчас не рассматриваешь работу над стартапом?

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

Я думаю, что в золотую лихорадку нужно производить кирки, а в эпоху ажиотажа вокруг анализа данных — специалистов по нему. Пока что я развиваю свой образовательный проект по машинному обучению Data Mining In Action и веду онлайн-курсы на платформе Coursera – сейчас их слушает 25-30 тысяч пользователей. Для меня это главная страсть, и мне интересны именно стартапы в сфере образования.

Что ты думаешь об автоматизации труда?

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

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

У нас, конечно, есть пословицы вроде «Век живи, век учись», но мы не следуем им в обычной жизни. Ещё есть стереотипы о том, как стоит получать образование. Люди заканчивают университет, начинают работать и думают: «Всё, теперь я по накатанной приобретаю опыт».

Это большое удовольствие, которое ещё и открывает новые возможности. На самом деле, учиться нужно всю жизнь.

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

Но люди пока неохотно свыкаются с этой мыслью. Инвестировать всё своё время в единственное направление деятельности — плохая идея.

Пока нет какого-то дедлайна, люди думают: «Вот потом я изменю свой взгляд на жизнь». Развитие технологий нас подстёгивает. Но специалистам в области data science это пока не грозит. А когда человек понимает, что его труд могут автоматизировать, то он уже задумывается о повышении квалификации или новой карьере.

Есть какие-то лайфхаки, чтобы соискателя ещё до собеседования посчитали крутым специалистом? Расскажи, как готовиться к отбору на позиции в сфере data science.

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

Гораздо хуже, чем не устроиться, — устроиться и потом страдать.

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

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

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

При найме в «Яндекс.Такси» мы начинаем с простых вопросов и постепенно их усложняем, чтобы сэкономить время и себе, и соискателю, если он «плавает».

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

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

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

Но понимание машинного обучения здесь всё ещё важно: руководитель должен понимать, какие процессы могут идти параллельно, а какие — нет, уметь оценить проделанную работу.

Или, наоборот, флажки, когда ты понимаешь, что человека точно нужно брать? Какие у тебя стоп-сигналы при найме?

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

Продолжая тему стоп-сигналов: я со своим начальником из Yandex Data Factory часто спорил о том, стоит ли брать только людей, похожих на уже работающих сотрудников.

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

Если коллектив не сойдётся характерами, то на все замечательные идеи, которые должны появиться, будет уже наплевать». Мой руководитель ответил: «Это всё здорово звучит, но нужно учитывать, будет ли комфортно людям работать друг с другом.

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

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

Что важно: задачи, офис, зарплата? По твоему опыту, как мотивировать аналитиков?

Про начальный этап часто говорят, что важен опыт, но зачастую дело всё ещё в зарплате — просто в будущей. Зависит от человека и от этапа профессионального развития.

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

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

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

Например, если обычно заказываешь такси эконом-класса, а потом выбираешь тариф «комфорт», то думаешь: «Разве что машина другая, водитель немного вежливей». Что касается хорошего офиса — мы не замечаем какие-то приятные мелочи, которые нас окружают. Но когда пересаживаешься обратно, уже замечаешь разницу.

То же самое и с офисом — после «Яндекса» человеку будет тяжело работать в скучном необставленном помещении.

Офис «Яндекса»

Как изменяются задачи при этом? Как выглядит карьерный путь аналитика?

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

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

В зависимости от них человека повышают, сначала до сениора, потом до lead data scientist. Главные признаки опытного специалиста — автономность и редкие ошибки. Это нелогичная вещь — то, что человек разбирается в машинном обучении, не значит, что из него выйдет хороший начальник. Ему говорят: «Ты такой классный специалист, давай ты теперь будешь руководить людьми».

Но так или иначе нужно поддерживать свои компетенции, иначе однажды посмотришь на код своих подчинённых и не поймёшь, о чём речь. Когда специалист начинает руководить командой, он всё меньше делает что-то руками и всё чаще ходит по встречам.

Были ли случаи, когда интуиция говорила одно, а данные другое? А с какими самыми интересными кейсами ты сталкивался, когда работал в «Яндексе»?

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

Понятное дело, что они нам не сообщают об этом, и никакого счётчика детей тоже нет. Была, к примеру, такая задача: определить, у каких из пользователей «Яндекс.Такси» двое или больше детей.

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

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

Потом поняли, что если человек много путешествует и любит вкусно поесть (и ему при этом достаточно лет), то, скорее всего, у него хватает денег, чтобы завести второго ребёнка.

Получится ли сделать подобное, используя машинное обучение? На vc.ru недавно был материал о том, как найти мужа с помощью воронки продаж.

Но в реальности это намного сложнее, чем использовать воронку продаж. Я видел публикации о людях, нашедших вторую половину при помощи машинного обучения, например, на «Хабре». С учителем обучать модели проще, а качество результата лучше, но для этого требуется разметка данных. Машинное обучение бывает с учителем или без. Можно использовать идею воронки продаж, на каждом этапе сохранять удачные и неудачные примеры, и на них обучать классификатор.

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

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

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

Поэтому работать это всё будет ровно до той степени, до которой получится убедить пользователей, что партнёра нужно искать именно так — своеобразный эффект плацебо.

Видишь ли ты какие-то негативные последствия распространения машинного обучения?

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

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

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

А если говорить про социальные аспекты? Хорошо.

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

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

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

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

Что думаешь про концентрацию данных у технологических корпораций — Facebook, Google, Amazon?

Допустим, от меня ушла и переехала девушка, а я работаю в «Яндексе» и хочу её найти, чтобы продолжить доставать. Есть строгие правила для сотрудников насчет того, как с этими данными можно обращаться.

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

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

C одной стороны то, что я видел в «Яндексе» меня немного успокаивает — информация хранится очень аккуратно. Когда знаешь, как всё внутри устроено, и какие могут быть потенциальные риски — пусть даже очень размытые, то всё равно волнуешься. Я понимаю, что на их основе можно сделать очень подробные выводы. С другой стороны, будучи специалистом по машинному обучению, я не хочу предоставлять кому-то слишком много данных о себе.

Дело даже не в том, что мне хочется что-то скрыть, — неприятно чувствовать, что тебя видят насквозь, даже если это алгоритм, а не человек.

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»