Название: Senior Python Backend Developer / ML Engineer (IR-555)
Местоположение: Бразилия / Удаленно
Продукт нашего клиента — это платформа на базе ИИ, которая помогает бизнесу принимать лучшие решения и работать эффективнее. Она использует продвинутую аналитику и машинное обучение для анализа больших объемов данных и предоставления полезной информации и прогнозов. Платформа широко используется в различных отраслях, включая здравоохранение, для оптимизации процессов, улучшения клиентского опыта и поддержки инноваций. Она легко интегрируется с существующими системами, что облегчает командам принятие быстрых, основанных на данных решений для предоставления передовых решений.
Требования
- Степень бакалавра или магистра в области компьютерных наук или смежной области.
- Отличные навыки программирования на Python — 7+ лет.
- 2+ года практического опыта работы с машинным обучением и производственными LLM-системами.
- Опыт создания бэкенд-API с использованием FastAPI, асинхронных паттернов, ограничения скорости запросов (rate limiting) и SQLAlchemy — 3+ года.
- Опыт проектирования поддерживаемых и расширяемых систем с использованием внедрения зависимостей (dependency injection), интерфейсов и абстрактных базовых классов.
- Опыт работы с векторными базами данных, такими как Pinecone, Weaviate или Chroma, а также с гибридным поиском.
- Глубокое понимание RAG-архитектур, включая извлечение (retrieval), переранжирование (reranking), сбор контекста (context assembly) и генерацию ответов (response generation).
- Практический опыт работы с LangChain и LangGraph для создания и оркестровки рабочих процессов LLM.
- Продвинутые навыки Python, включая async/await, type hints, Pydantic и принципы SOLID.
- Опыт MLOps с MLflow, версионированием моделей и A/B-тестированием; опыт работы с Langfuse является плюсом.
- Опыт в NLP и компьютерном зрении, включая понимание документов, OCR и GPT-4 Vision.
- Опыт создания конвейеров признаков (feature pipelines), систем пакетной и потоковой обработки (real-time and batch inference) и обслуживания моделей (model serving).
- Обязателен практический опыт работы с Hugging Face; опыт работы с LlamaIndex является плюсом.
- Знакомство с технологиями баз данных, такими как SQL.
- Отличные навыки решения проблем и способность работать в быстро меняющейся, ориентированной на команду среде.
Приветствуются навыки:
- Понимание DevOps, CI/CD, включая: контейнеризацию Docker, конвейеры Azure DevOps или GitHub Actions, Kubernetes (желательно);
- Безопасность данных, включая: изоляцию данных в многопользовательской среде (multi-tenant data isolation), безопасное управление ключами (Azure Key Vault), реализацию аудиторского журнала (audit trail);
- Опыт проектирования на облачной платформе, включая: Azure (настоятельно рекомендуется): Azure OpenAI, Blob Storage, Key Vault, Container Registry, AWS или GCP;
- Опыт инжиниринга данных в системах Big Data, включая: крупномасштабную обработку данных, ETL/ELT-конвейеры.
- Ограничение скорости запросов и управление квотами для использования API с высокой пропускной способностью.
- Управление затратами и оптимизация использования LLM в больших масштабах.
- Экспертиза в обработке документов (извлечение PDF, инструменты OCR).
- Опыт управления производственными инцидентами и дежурства (on-call).
- Стратегии тестирования для недетерминированных LLM-выводов (например, золотые наборы данных, нечеткое сопоставление).
- Знание предметной области в регулируемых отраслях (например, рабочие процессы здравоохранения/фармацевтики, соответствие нормативным требованиям) является плюсом.
Обязанности:
- Создание, усовершенствование и использование платформ и компонентов ML Engineering; разработка и внедрение масштабируемых бэкенд-систем, API и микросервисов с использованием FastAPI.
- Внедрение MLOps, включая измерение KPI моделей, отслеживание, обнаружение дрейфа моделей и циклы обратной связи по моделям.
- Развертывание и эксплуатация моделей ML и Deep Learning, с сильным акцентом на LLM и Generative AI.
- Интеграция Azure OpenAI (GPT-4, GPT-4 Vision) и других LLM-провайдеров с надлежащей логикой повторных попыток и обработкой ошибок.
- Поддержание актуальных знаний о передовых технологиях, таких как LLM, GenAI и архитектуры трансформеров.
- Масштабирование алгоритмов машинного обучения для работы с огромными наборами данных в соответствии со строгими SLA.
- Создание и оркестровка конвейеров моделей, включая инжиниринг признаков, инференс и непрерывное обучение моделей.
- Написание кода бэкенд-приложений на Python и SQL с использованием сильных объектно-ориентированных принципов и асинхронного программирования (asyncio, async/await).
- Реализация паттернов внедрения зависимостей и многоуровневой архитектуры (Service, Foundation, Orchestration, DAL).
- Создание LLM observability (например, Langfuse) для отслеживания промптов, токенов, затрат и задержек.
- Разработка систем управления промптами с версионированием и механизмами отката.
- Реализация Celery (или аналогичных) рабочих процессов для асинхронной обработки задач и сложных конвейеров.
- Создание многопользовательских архитектур с изоляцией данных клиентов.
- Реализация стратегий оптимизации затрат на использование LLM (кэширование промптов, пакетная обработка, оптимизация токенов).
- Интеграция сторонних API и сервисов (например, сервисы документов/OCR, облачное хранилище, корпоративные системы).
- Сотрудничество с клиентскими командами для понимания бизнес-контекста и участия в сборе технических требований.
- Написание производственного кода, который поддается тестированию, легко поддерживается и учитывает граничные случаи и ошибки.
- Обеспечение высокого качества результатов путем соблюдения рекомендаций по архитектуре/дизайну, лучших практик кодирования и периодических обзоров дизайна/кода.
- Написание модульных тестов и более высокоуровневых тестов для обработки ожидаемых граничных случаев и ошибок.
- Поиск и устранение неисправностей в коде бэкенд-приложений с использованием структурированного логирования и распределенной трассировки.
- Использование отслеживания ошибок, обзора кода, контроля версий и других инструментов для организации и выполнения работы.
- Участие в scrum-звонках и agile-церемониях, информирование о прогрессе, проблемах и зависимостях.
- Документирование изменений и обновлений приложений, включая документацию API через OpenAPI/Swagger.
- Исследование и оценка новых архитектурных паттернов и технологий посредством быстрого обучения, создания доказательств концепции (proofs-of-concept) и прототипов.
Преимущества
- Потрясающие проекты с реальным влиянием
- Курсы Udemy по вашему выбору
- Тимбилдинги, мероприятия, марафоны и благотворительные акции для общения и подзарядки
- Мастер-классы, тренинги, обмен экспертными знаниями, которые помогают вам расти
- Четкий карьерный путь
- Дни отсутствия для баланса между работой и личной жизнью
- Гибкие часы и условия работы — работайте где угодно и организуйте свой день по-своему