Все записи

История успеха | Святослав Кокурин

Коллеги часто создают инструменты, чтобы технологии работали быстрее, проще и надежнее. Model Ops Platform — один из таких примеров. Это платформа, которая позволяет запускать модели машинного обучения без переписывания кода и долгих интеграций.

Над ней с самого начала работал Святослав: он разработал основную часть платформы, исследовал инструменты, собрал первый прототип, выстраивал архитектуру и шаг за шагом развивал ее до полноценного решения. 

В статье — его история и путь платформы, которая меняет подход к работе с ИИ в продуктах.

Как все начиналось

Заниматься разработкой я начал еще в школе, когда появился первый ноутбук. Экспериментировал с языками программирования, смотрел обучающие видео.

2012 1.png

Даже пробовал записывать и продавать свои видео-уроки. Так, кстати, заработал первые деньги на разработке :)

Потом университет — я учился на прикладной математике и физике. Был на целевом обучении от предприятия, поэтому после выпуска сразу же начал там работать. Автоматизацией рутинных процессов занимался по собственной инициативе: писал скрипты, искал, где можно применить код на практике. 

Как попал в Naumen

Со временем понял, что хочу заниматься автоматизацией и разработкой на постоянной основе. Поэтому начал рассматривать вакансии в крупных ИТ-компаниях.

О Naumen знал давно — часто посещал митапы, тогда это еще были JUG.EKB. Как только появилась подходящая вакансия, сразу же откликнулся. На тот момент у меня на руках было несколько офферов, но я ждал ответ именно от Naumen.

И вот приглашение в команду! Я начал заниматься разработкой в нескольких продуктах, в том числе в системе мониторинга. А затем мне предложили переключиться на задачи, связанные с автоматизацией работы с ИИ-моделями.

Так началась история Model Ops Platform.

Зачем была нужна платформа

Основная проблема — ML-инженеры разрабатывали модели на Python обычно в Jupyter Notebook. Что‑то можно было прогнать локально или на виртуалке, но использовать это у клиента или встроить в продукт — невозможно.

Поэтому, чтобы использовать эти модели в продуктах, разработчикам приходилось вручную их переписывать на Java. Это было долго, дорого и неэффективно.

Решили разработать платформу, которая бы снимала эти ограничения: позволяла запускать код, написанный ML-инженером, как есть — с нужными зависимостями, конфигурацией и без переписывания. По сути, превращала питоновский скрипт в готовую модель, которую можно интегрировать в продукт.

Как работал над Model Ops Platform

Четкого ТЗ не было. Единственное, что точно понимал — нужен универсальный способ запуска моделей. 

Так, например, выглядело описание задачи на ранних этапах:

image_2025-04-28_08-45-28 1.png

Начал с исследования — посмотрел существующие решения, фреймворки, инструменты. Выбрал два фреймворка: для сервинга моделей и для их обучения. Еще у нас работал отдельный сервис, который управлял этими компонентами и предоставлял интерфейс внешним приложениям.

И вот появился первый прототип. Потом еще один. Потом — первая версия платформы. Она прошла путь нескольких итераций, прежде чем стала тем, чем является сейчас. 

Я был не просто разработчиком, но и аналитиком, и архитектором: сам ставил задачи, сам реализовывал, сам тестировал. Но без помощи коллег ничего бы не получилось — многое решали вместе на регулярных встречах, обсуждая идеи, направления и лучшие подходы для развития платформы.

Что в итоге получилось

Model Ops Platform открыла нам полную свободу в работе с ML-моделями. Если раньше мы могли использовать модели только на одном определенном алгоритме, то теперь можем внедрять практически любые ML-модели и эффективнее закрывать задачи клиентов.

А еще появился удобный инструмент mopsctl — процесс развертывания стал простым: достаточно подготовить файл с описанием, указать какие модели загрузить и на какой стенд. Не нужно ходить по интерфейсам и вручную что‑то настраивать.

С какими вызовами столкнулся

Самое сложное — не разработка платформы, а интеграция в реальность. Разные клиенты — разные требования и ограничения. Нужно понять, как адаптировать существующее решение или найти альтернативу. 

Часто приходилось принимать неидеальные технические решения, чтобы запустить продукт. Мы выбирали работающий путь, пусть и с костылями — но это позволяло проверять гипотезы быстрее. Что‑то переписывали, что‑то откладывали на потом. Но мы понимали, зачем это делаем.

Что мотивировало

Даже несмотря на длительность проекта, первые результаты были видны почти сразу же. Прототип работал, его можно было запустить и протестировать на стенде. Это давало ощущение движения вперед. 

2024-3 1.png

А еще — поддержка коллег. Я даже получил премию Naumen Профи за вклад в разработку и развитие продуктов — это было особенно ценно. Потом выступил с докладом на внутренней конференции и детально рассказал коллегам об интересных подходах, которые мы выбрали в Model Ops Platform.

Какие навыки помогли

  • Гибкость — не было страха переписывать код, если понимал, что так будет лучше. 

  • Инициативность — самостоятельно предлагал решения и исследовал новые инструменты.

  • Принятие «неидеальности» — важно было двигаться, а не замирать в ожидании идеального решения.

  • Умение читать чужой код — без этого невозможно адаптировать сторонние библиотеки и фреймворки под себя.

    Совет тем, кто в начале пути

    Не бойтесь писать первый прототип. Он может быть неидеальным — и это нормально. Двигайтесь вперед, фиксируйте, что работает, что нет, и будьте готовы все переписать, если потребуется. И обязательно пишите тесты с самого начала — потом скажете себе спасибо.


Похожие новости

Мифы о тестировании

Диана работает тестировщиком больше полутора лет. Когда она только приходила в профессию, ее представления складывались из статей, курсов и разговоров с друзьями из ИТ. Казалось, что работа у тестировщика довольно простая: технических знаний нужно немного, а зона ответственности ограничена.

Практика быстро показала, что это не так. В статье Диана собрала мифы о тестировании, в которые верила, и то, как все оказалось на самом деле.

Мифы и реальность: зумеры в ИТ

Про зумеров есть много разных стереотипов: кто-то говорит, что у них короткая концентрация внимания, кто-то считает, что им сложно вписаться в офисную рутину. В карточках Вера, бизнес-аналитик ITSM 365, рассказывает о том, как все обстоит на самом деле: действительно ли разрыв между поколениями так велик. А также делится мыслями, чем молодые специалисты могут быть полезны команде.

Погружение в DevTools

Мы привыкли воспринимать DevTools как инструмент для разработчиков и тестировщиков. Но на практике это хороший источник информации и для других специалистов: через него можно понять, как устроена страница, где возникают проблемы и как интерфейс ведет себя в разных сценариях.

Попросили Костю, frontend-разработчика Naumen, рассказать, какие возможности DevTools он использует в работе и на что стоит обращать внимание.

Все новости