Зачем изучать ML
Machine learning — это наука о создании программ (статистических алгоритмов) с помощью обобщения больших объёмов данных. ML-инженер помогает технике работать без участия человека. Специалисты этой области нужны в банках и страховых компаниях, ритейле, операторах связи, промышленности, рекламных агентствах, соцсетях и поисковых системах.
Спрос на ML-инженеров растёт быстро — на 36% за год. Потребность есть как в опытных, так и в начинающих специалистах.
Что должен знать ML-инженер
Такому специалисту нужно хорошее математическое образование. Без знания теории алгоритмов, статистики, теории вероятностей будет сложно даже на курсах для начинающих.
Для работы важны знания классических подходов ML: обучение с «учителем» (на основе базы маркированных данных), без «учителя» (на основе данных без маркировки с поиском закономерностей) и с его частичным привлечением (сочетание двух предыдущих методов). А также обучение с подкреплением — это когда пользователь, например, ставит оценки результатам работы ML-модели.
Простой пример обучения с «учителем»: загружаем в систему 100 фотографий котов и столько же фото собак (все изображения подписаны, это и есть «учитель») и даём ей время проанализировать файлы. Если ML-инженер сделал всё верно, ML-модель сможет верно подписывать фотографии с собаками и кошками, которых она ещё не видела. В подходе без учителя мы можем отдать модели 1000 фотографий разных животных без подписей, а на выходе получить разбивку по видам животных.
ML-инженерам важно владеть языками программирования — стандартом зачастую считается Python, имеющий большое количество библиотек для ML, и математические языки программирования, например Julia или R. Однако ML-модели можно запускать и обучать с помощью других языков — Java, C++, Go, JavaScript. Также нужно ориентироваться в способах оптимизации, тестирования прототипов, оценке качества моделей и решении логических задач.
Где применяется ML
Между ML-моделями и нейросетями часто ошибочно ставят знак равенства. На самом деле ML-моделью может быть любая математическая модель.
ML оптимизирует работу банков: помогает отслеживать мошеннические операции, анализировать кредитные истории клиентов и подтверждать выдачу денег. Умные ленты соцсетей и рекомендации в музыкальных приложениях — тоже результат работы ML. Кроме того, модели могут заниматься распознаванием и проверкой качества деталей с помощью компьютерного зрения на конвейерной ленте завода, помогать метеорологам предсказывать погоду, рассчитывать цену за поездку в такси с учётом пробок и спроса.
Технологии ML могут быть и предельно простыми — например, модель может сортировать список по определённому алгоритму, если это даёт нужный результат. Сложные же системы обычно оперируют искусственными нейронами или несколькими алгоритмами — в таком случае каждый нивелирует недостатки предыдущего.
Что изучают на курсах по ML
- Линейная алгебра, основы матанализа, теория вероятностей и теория статистики. Отлично, если вы изучали математику в университете, но можно разобраться и с нуля.
- Python — хорошо, если базово вы его уже знаете, но на курсах для новичков ему тоже будут учить.
- SQL и работа с базами данных.
- Методы сбора и предобработки данных — очистки, обогащения, визуализации.
- Классические алгоритмы и модели ML, решение задач регрессии, классификации и кластеризации.
- Продвинутые алгоритмы: рекомендательные системы, бустинг, обучение с подкреплением, анализ временных рядов.
- Оценка качества ML-моделей, тестирование алгоритмов, выявление ошибок и работа над их устранением.
- Deep learning и искусственные нейронные сети, работа с фреймворками для ML и нейросетей.
- Внедрение систем ML в работу компаний и сервисов.
Для обучения с нуля потребуется в среднем от 6 до 12 месяцев. Срок зависит от плотности программы и количества часов в неделю. После прохождения теоретических блоков на курсах большой акцент обычно делают на практических заданиях. Разнообразие кейсов в портфолио и умение работать с разными методами ML даст преимущество при поиске работы и обсуждении зарплаты.
Сколько зарабатывают ML-инженеры
Зарплата ML-инженера в России зависит от опыта, количества отработанных кейсов и грейда. По данным hh.ru, в прошлом году медианная зарплата специалистов в этой сфере выросла на 29%, до 155 000 рублей. Сегодня джуны могут рассчитывать на 80 000 рублей, мидлы — на 200 000 рублей, а сеньоры — на 330 000 рублей и более.