ML-разработчик / Machine Learning Engineer
Summary
On-site ML Engineer in Murmansk to own the full lifecycle of an applied ML product that forecasts quantitative indicators from historical and textual work descriptions. Day-to-day work spans classical ML/NLP/LLM modeling in Python plus FastAPI backend, PostgreSQL, Docker, and integration with corporate systems.
Зарплата: от 200000 RUR (на руки)
Ищем ML-разработчика, способного самостоятельно пройти полный цикл создания прикладного ML-продукта: от анализа исходных данных и выбора подхода до разработки модели, API и запуска рабочего решения.
Нам нужен не специалист исключительно по обучению моделей, а человек, который способен разобраться в предметной области, исследовать имеющиеся данные, предложить архитектуру решения, реализовать прототип и довести его до промышленного использования.
Чем предстоит заниматься
-
Анализировать большие массивы исторических данных, преимущественно представленных в Excel, CSV и корпоративных информационных системах.
-
Исследовать структуру данных, выявлять зависимости, закономерности и факторы, влияющие на целевой показатель.
-
Разрабатывать модели для оценки и прогнозирования количественных показателей на основании текстового описания работ, их характеристик и исторических данных.
-
Решать задачи регрессии, поиска похожих объектов, ранжирования и сопоставления записей.
-
Работать с неструктурированными и слабоструктурированными текстовыми данными.
-
Разрабатывать механизмы нормализации и классификации текстовых описаний, определения смысловой близости и извлечения значимых параметров из текста.
-
Исследовать и сравнивать различные подходы: классический ML, градиентный бустинг, embeddings, NLP-модели, LLM/RAG и гибридные решения.
-
Определять, где достаточно поиска по историческим данным, где необходима ML-модель, а где целесообразно использование LLM.
-
Выполнять feature engineering и подготовку обучающих выборок.
-
Разрабатывать алгоритмы обработки ситуаций, когда точного аналога объекта в исторических данных нет.
-
Реализовывать расчет с учетом нескольких параметров и корректирующих коэффициентов.
-
Оценивать точность модели, определять подходящие метрики и проводить валидацию результатов.
-
Реализовывать оценку уверенности модели в полученном результате и обработку случаев, когда данных недостаточно для достоверного прогноза.
-
Обеспечивать объяснимость результата: система должна уметь показывать, на основании каких данных, аналогов или факторов был сформирован прогноз.
-
Разрабатывать backend-сервис для взаимодействия с моделями и другими корпоративными системами.
-
Организовать хранение обучающих данных, моделей и результатов расчетов.
-
Контейнеризировать решение и подготовить его к развертыванию на серверной инфраструктуре.
-
Документировать архитектуру, алгоритмы, процесс обучения и правила обновления модели.
Что мы ожидаем от кандидата
Обязательно
Python
Уверенное владение Python и основными библиотеками анализа данных и машинного обучения:
-
pandas;
-
NumPy;
-
scikit-learn;
-
CatBoost / LightGBM / XGBoost или аналогичные библиотеки.
Классическое машинное обучение
Практический опыт решения задач:
-
регрессии;
-
классификации;
-
ранжирования;
-
поиска похожих объектов;
-
оценки качества и валидации моделей;
-
feature engineering;
-
работы с небольшими и средними табличными датасетами.
Понимание того, когда применение сложной нейронной сети оправдано, а когда задачу эффективнее решить классическими ML-методами.
Работа с текстовыми данными / NLP
Опыт:
-
очистки и нормализации текстовых данных;
-
извлечения признаков из текста;
-
работы с embeddings;
-
semantic search;
-
определения смысловой близости текстов;
-
объединения текстовых и числовых признаков в одной модели.
LLM
Понимание современных подходов к использованию больших языковых моделей:
-
LLM;
-
embeddings;
-
RAG;
-
vector search;
-
structured output;
-
prompt engineering.
Важно понимать ограничения LLM и уметь строить архитектуру, в которой языковая модель не является единственным источником числового результата.
Работа с данными
Уверенная работа с:
-
Excel;
-
CSV;
-
SQL;
-
PostgreSQL.
Опыт подготовки сырых корпоративных данных для машинного обучения: очистка, поиск выбросов, дубликатов, пропусков, нормализация справочников и формирование обучающей выборки.
Backend
Опыт разработки сервисов на:
-
FastAPI;
-
REST API;
-
Pydantic;
-
SQLAlchemy.
Понимание принципов интеграции ML-модели с внешними информационными системами.
Docker и Linux
Практический опыт:
-
Docker;
-
Docker Compose;
-
Linux;
-
Git.
Будет преимуществом
-
Опыт работы с Qdrant, pgvector, FAISS или другими векторными хранилищами.
-
Опыт использования Hugging Face Transformers / Sentence Transformers.
-
Опыт работы с локальными LLM.
-
Опыт запуска моделей через vLLM, llama.cpp или аналогичные решения.
-
Опыт работы с GPU NVIDIA.
-
Опыт разработки RAG-систем.
-
Опыт использования LangChain / LangGraph или аналогичных инструментов.
-
Опыт использования MLflow, DVC, MinIO, Langfuse и других инструментов MLOps.
-
Опыт создания небольших интерфейсов на Streamlit или аналогичных технологиях.
-
Опыт интеграции ML-сервисов с 1С, Bitrix или другими корпоративными информационными системами.
для нас особенно важно
Ищем специалиста, который способен самостоятельно проектировать решение, а не только реализовывать заранее подготовленное техническое задание.
От кандидата ожидается способность:
-
разобраться в новой предметной области;
-
изучить исходные данные и определить их пригодность для ML;
-
сформулировать ML-задачу;
-
предложить несколько вариантов решения;
-
аргументированно выбрать подход;
-
разработать MVP;
-
проверить его на реальных данных;
-
определить ограничения и потенциальные ошибки;
-
довести прототип до работающего сервиса.
Мы не требуем использования конкретной технологии или обязательно нейронной сети. Для нас важен корректный результат и обоснованный выбор архитектуры.
Условия:
- оформление по ТК
- ДМС, после прохождения испытательного срока
- пятидневная рабочая неделя пн-чет. с 07.48 до 17.00, пят. с 07.48 до 16.12, обед с 12-13
- оплата проезда к месту отдыха и обратно, раз в два года