Описание работы
Готовы ли вы использовать свои технические навыки для преобразования того, как строятся сообщества, больницы, дома, спортивные стадионы и школы по всему миру? Присоединяйтесь к Procore Technologies и станьте частью революции одной из наименее цифровизированных и самых опасных отраслей — строительства.
Мы ищем талантливого старшего инженера по машинному обучению, чтобы присоединиться к нашей команде платформы ML. В этой роли, базирующейся в Каире, вы поможете развивать нашу платформу машинного обучения для поддержки сотен моделей. Вы будете внедрять сервисы для выпуска AI и моделей на основе данных, способных обрабатывать терабайты данных. Ваша работа будет включать одноразовое и постоянное автоматическое обучение модели, развертывание и мониторинг, а также управление репозиториями моделей, хранилищами признаков и уровнями доступа к данным.
Мы ищем кого-то, кто может присоединиться к нам немедленно. Эта позиция будет подчиняться менеджеру по инженерии, платформе ML.
- Проверка конвейеров развертывания моделей ML.
- Обзор изменений кода и запросов на слияние от команды ученых данных.
- Запуск конвейеров CI/CD после утверждения кода.
- Мониторинг конвейеров и обеспечение прохождения тестов и правильного хранения артефактов моделей.
- Развертывание обновленных моделей в производство после завершения конвейера.
- Сотрудничество с командами программистов и DevOps для обеспечения плавной интеграции.
- Контейнеризация моделей с использованием Docker и развертывание на облачных платформах (AWS/GCP/Azure).
- Настройка инструментов мониторинга для отслеживания метрик, таких как время отклика, частота ошибок и использование ресурсов.
- Настройка оповещений и уведомлений для быстрой фиксации аномалий.
- Сотрудничество с командой ученых данных для обновления конвейеров и анализа данных мониторинга, журналов и метрик.
- Документирование и устранение изменений и стратегий оптимизации.
- Работа с командами продукта, UX и прототипирования для влияния на дорожную карту продукта.
- Владение языками программирования, такими как Python, Java и C++.
- Опыт работы с фреймворками машинного обучения, такими как TensorFlow и PyTorch.
- Практический опыт в жизненном цикле машинного обучения: предварительная обработка данных, извлечение признаков, обучение моделей, оценка, развертывание и мониторинг.
- Знание экосистемы с открытым исходным кодом, включая TensorFlow, PyTorch, MLflow, Ray, Kubeflow и TFX, является плюсом.
- Опыт разработки крупномасштабных, распределенных, отказоустойчивых и масштабируемых систем обработки данных с использованием пакетной обработки с Spark или потоковой обработки с Flink или Kafka Streams.
- Способность эффективно работать и общаться с учеными данных и переводить задачи ученых данных в практические данные, инфраструктуру или потребности в рабочем процессе.
- Прочное понимание конвейеров CI/CD с использованием Jenkins и инструментов IaC, таких как Terraform и CloudFormation.
- Знания в области безопасности, такие как файрволы, шифрование, VPN и безопасная передача данных.
- Знание облачных инфраструктурных сервисов и контейнерных систем, таких как Docker или Kubernetes.
- Владение библиотеками машинного обучения Python (PySpark, setup tools, pytest, pytest-mock) и инструментами оценки качества кода (mypy, pylint, SonarQube), а также опыт работы по крайней мере с одним языком с высокой степенью параллелизма (Java, Elixir, Python, Golang).
В Procore мы инвестируем в наших сотрудников. Наслаж