Обязанности:
Требуется развернуть MLOps-платформу и помочь с прочими задачами на инфраструктуре заказчика.
Задача минимум — развернуть техстек, в котором заказчик мог бы
- накапливать и версионировать датасеты (в основном — фотоснимки);
- фильтровать, очищать, и аугментировать датасеты;
- размечать (аннотировать) данные;
- обучать модели (YOLO в первую очередь), версионировать,
- тестировать, сравнивать характеристики моделей разных версий;
- развёртывать модели контейнерами, предоставлять API доступа к ним;
- мониторить развёрнутые модели;
- проводить эксперименты с данными и моделями.
В результате решения этой задачи нужно продемонстрировать заказчику работающий пайплайн: загрузить пробный датасет (фото, штук 100) и разметь данные (пусть не все — могут дать размеченный набор фот); потренировать модель, показать где смотреть результаты; выкатить модель “в прод” и прогнать через неё тот же или похожий датасет, посмотреть результаты. Дедлайн по задаче — август 2025.
Дополнительные задачи, которые можно решать после закрытия первой:
- добавить авторазметку данных;
- добавить запуск пайплайнов от триггеров в хранилище датасетов;
- разобраться с выстраниванием пайплайнов с произвольными Python-скриптами (типа FaaS; скрипты писать не нужно, только “показательные” пару);
- добавить в стек PostgreSQL с PostGIS для складывания в неё результатов работы скриптов;
- выставить наружу REST API через PostgREST;
- показать, как подбирать гиперпараметры;
- добавить поддержку IDE или Jupyter для разработки пайплайнов, скриптов, моделей и т.д.;
- добавить всех в общий Identity manager (IM) и всё в Oauth/OIDC;
- развернуть и интегрировать* Open Topo Data (БД с API высот);
- развернуть и интегрировать* WebODM (ПО для фотограмметрии с дронов), встроить в пайплайн;
- развернуть и интегрировать* GeoServer (ПО для хранения геоданных и предоставления доступа к ним в различных форматах);
- развернуть и интегрировать* тайловый прокси (к тому моменту разберёмся, какой лучше);
- прописать GPU-affinity;
- прописать self-healing где ещё не;
- добавить систему мониторинга (вроде Zabbix или Prometeus и Grafana);
- помочь с написанием документации про восстановление инфраструктуры (поэтому IaC лучше сразу в репу) и данных из бекапов;
(* развернуть и интегрировать = в те же K8s и IM)
Дедлайнов по этим задачам 2 — конец первого квартала 2026 у одних и конец 2026 у всех (будет зависеть от приоритизации беклога — список задач выше неполный, как несложно было догадаться).
В качестве платформы мы рассматриваем Kubeflow, Charmed Kubeflow (CKF), Seldon Core и различные сочетания DVC Studio, MLflow, KServe. Рассмотрим предложения исполнителя.
Требования:
- уметь в K8s, Helm и Terraform, опыт не менее 3х лет;
- обязателен опыт работы в команде ML Ops;
- уметь упаковать что-то в Docker-контейнер;
- понимать сети на уровне “самых маленьких” до 5 части включительно плюс SDN в общем и Istio в частности ;
- понимать клиент-серверную архитектуру и REST;
- уметь гуглить и рассчитывать на свои силы, чтобы не подводить тех, кто на тебя полагается).
В качестве платформы мы рассматриваем AI4EOSC, Kubeflow, Charmed Kubeflow (CKF), Seldon Core и различные сочетания DVC Studio, MLflow, KServe. Рассмотрим предложения исполнителя.