Вице-президент компании OpsRamp Бхану Сингх делится на портале InformationWeek мыслями о качествах, которыми должен обладать инженер по машинному обучению, и принципах отбора кандидатов на эту профессию.
Как показал недавний опрос OpsRamp по внедрению на предприятиях платформ AIOps (Artificial Intelligence for IT Operations), 67% корпоративных ИТ-отделов в США начали экспериментировать с искусственным интеллектом (ИИ) и машинным обучением для управления данными и устранения последствий инцидентов. А по прогнозам Gartner к 2020 г. технологии ИИ будут больше создавать, чем сокращать рабочие места. ИИ быстро развивается, и предприятиям сегодня нужны способные кадры особого профиля. Былой дефицит кадров высококвалифицированных программистов ныне трансформировался в дефицит специалистов в сфере ИИ и разработки алгоритмов.
Дефицит профильных специалистов называют одной из наиболее серьезных помех для внедрения AIOps. Так, 56% из 200 управленцев верхнего звена, опрошенных в 2018 г. компанией EY, заявили, что самым крупным барьером к использованию ИИ в бизнес-операциях является недостаток способных кадров. Понятно, что предприятиям очень нелегко находить инженеров по машинному обучению. Этот профиль предполагает нечастое сочетание общеинженерной подготовки с опытом в моделировании данных и статистическом анализе. Но при правильных подходах вполне реально собрать команду с правильным сочетанием опыта в Data Science, инженерного ноу-хау и даже определенной доли эмоционального интеллекта.
Инженерам по машинному обучению требуются глубокие познания в прогностическом моделировании и статистическом анализе. На практике OpsRamp ищет среди кандидатов специалистов, обладающих базовой технической подготовкой в сочетании со способностью видеть паттерны в данных и транслировать их в действия. Им надо не только уметь манипулировать кодом и создавать ПО, но еще понимать, как из математических моделей можно создавать инсайты и как эти инсайты могут руководить действиями. Приведем ряд примеров практических вопросов, которые не мешало бы задавать в интервью с кандидатами на работу в области машинного обучения.
Когда следует использовать классификацию, а когда — регрессию? Такого рода вопросы, заданные кандидату, помогают понять, как он строит математические модели. По сути дела, классификация касается предсказания типа объекта, а регрессия — предсказания значения параметра.
Есть ли у вас опыт работы с Apache Spark или какими-то общедоступными библиотеками машинного обучения (TensorFlow и т. п.)? В конечном счете мы хотим создавать ПО, которое масштабируется. В этом состоит преимущество библиотеки машинного обучения. Теперешние ИИ-инженеры должны хорошо разбираться в современных инструментах для создания решений корпоративного уровня.
Следующим требованием к настоящему ИИ-инженеру является способность справляться с важной проблемой чистоты данных. ИИ принимает решения на основе данных и, чтобы получать наилучшие результаты, ему требуются богатые, контекстно-зависимые и чистые наборы данных. Вот примеры дополнительных вопросов, которые в этом аспекте можно задать кандидатам.
Как вы отреагируете на несбалансированность набора данных? Что вы будете делать при недостающих или поврежденных данных? Эти вопросы обусловлены важностью чистоты данных для построения моделей. Инсайт на базе ИИ должен вытекать из чистых данных. В противном случае он приведет к ошибочным или бесполезным действиям.
Приведите пример ситуации, почему бы вы предпочли алгоритм быстрой сортировки построению двоичного дерева? Это две противоположные алгоритмические опции для организации данных. Обе они применяются на практике, и ИИ-инженер должен уметь их использовать для решения поставленных задач.
Как вы очищаете и подготавливаете данные для обеспечения их качества и соответствия задаче? Это больше тактический вопрос, но он помогает понять очень важные процессы, которые использует инженер в работе с ИИ.
Короче говоря, мы ищем инженеров, умеющих, применяя статистический анализ, улучшать, очищать и обрабатывать данные и при этом понимающих практические последствия того, каким образом они работают с данными.
Работа инженера в сфере машинного обучение в сущности выглядит как естественная эволюция работы по созданию ПО. Раньше мы искали инженеров, который могут транслировать основные пожелания людей через определенные действия, использующие компьютеры. А теперь мы просто стараемся предвосхитить пожелания людей в отношении данных. Базовая механика ввода данных, их анализа, интерпретации и последующих действий — это очень похоже на то, что люди делают каждый день. Превращение этих шагов в действие, которое машина может осуществлять без надзора человека, является совершенно новым сложным делом. Для этого необходимо задействовать статистический анализ и прогностическое моделирование.
Настоящий инженер по машинному обучению — одновременно технический гик и ремесленник. Он и замкнутый в себе математик, и строитель. Ища способные кадры этого профиля, надо распознавать кандидатов, находящихся на пересечении этих качеств. А также тех, кто будет помогать выигрывать гонку за сильную и эффективную технологию.