Как делать бизнес в Open Source
Эмели Драль — кофаундер и технический директор Evidently AI
Эмели Драль — кофаундер и технический директор Evidently AI. У её open source библиотеки для оценки, тестирования и мониторинга качества данных и моделей машинного обучения уже более 22 миллионов скачиваний.
26 сентября Эмели выступит на AI Conf 2024 с докладом «За рамками сценария: непрерывное тестирование для адаптивных и безопасных LLM систем». А пока мы расспросим её о пути в карьере, передачи знаний, необходимых скиллах и будущем.
— Как начиналась твоя карьера в Data Science? Почему именно этот путь?
— Мой путь начался со школы анализа данных (ШАД) Яндекса. Поступила после 3 курса университета РУДН, где изучала прикладную математику и информатику. Из ШАД выпустилась в 2012 году, но работать начала с первого курса ШАД — меня пригласили на стажировку в Яндекс, а после завершения — на работу аналитиком качества поиска.
Там я познакомилась с машинным обучением и Data Science, хотя училась на разработчика. На тот момент в подразделении было мало аналитиков, которые писали код для распределенных расчетов, но было достаточно задач по анализу больших объемов данных. Это террабайты поисковых логов. А я как раз умела быстро писать нужные скрипты. Так у нас случился мэтч.
— Какие кейсы решали с помощью машинного обучения?
— Мой любимый — оптимизация работы газофракционирующей установки. Идея в том, что газофракционирующие установки состоят из нескольких ректификационных колонн, разделяющих смесь газов. В зависимости от параметров оборудования происходит разделение разного типа. Главное, на выходе выделить из смеси газов чистые фракции. Это позволяет попасть в стандарт и получить продукт, пригодный для продажи или использования в промышленности.
Такую систему тяжело моделировать в реальном времени, потому что никогда не знаешь, природный газ какого химического состава сейчас придёт. Нельзя остановить установку, чтобы подождать химический анализ, а потом вернуться к настройке температуры на контрольных тарелках. Приходиться постоянно адаптировать температуры на них и управлять обратным током флегмы для того, чтобы это было оптимально.
На проекте уже была рабочая система. Но оказалось, что с помощью машинного обучения её можно сделать лучше, если прогнозировать химический состав газа, который будет поступать на вход даже с минимальным горизонтом — несколько минут.
Проект был сложным, потому что приходилось работать с термодинамическими моделями, с прогнозными моделями машинного обучения и решать оптимизационные задачи поверх всего этого. В тот момент пригодился весь мой математический бэкграунд.
— А как по мере роста менялся технологический стек? Что нужно было знать, когда ты только пришла в профессию условно 12 лет назад?
Чтобы строить модели поверх больших объемов данных, часто нужно было писать код на компилируемых языках программирования. Не было такого количества удобных библиотек, которые автоматизировали обучение моделей. Алгоритмы часто писали самостоятельно. Кстати, так позднее появилось много алгоритмов, написанных на низкоуровневых языках. Например, на C, на C++ или на Java. Со временем алгоритмы портировались, условно говоря, в синтаксически простые интерпретируемые языки программирования. Упрощая, на практике это означало, что из Python или R стало возможным вызывать процедуру обучения, которая написана на С, скомпилирована и быстро работает. А аналитик пишет только код для вызова, обёртки. Эта мини-революция открыла путь в Data Science многим математикам. Тогда появились такие библиотеки, как Scikit Learn на Python и множество пакетов на R.
В Яндекс в Python стали доступны такие инструменты, как MatrixNet. Потом появился TensorNet (не путать с TensorFlow — это другая технология). Стало проще и быстрее проводить эксперименты. Это было очень круто, много аналитиков из разных частей компании с этим работали.
Большой вехой стал рост Kaggle — платформы для соревновательного анализа данных. Участникам соревнований предоставляли одинаковые наборы данных для оптимизиции своей модели. Для этого они использовали знания статистики и машинного обучения. А после окончания соревнования на фиксированном закрытом наборе данных можно было увидеть, кто оказался лучшим. Это была эпоха соревнований, когда уже мало кто писал код для обучения с нуля, но практически все работали с feature engineering, оптимизацией гиперпараметров и строили композиции моделей.
Развитие нейросетей происходило всплесками. Например, появились свёрточные нейросети, которые позволили эффективно работать с изображениями. Потом рекуррентные нейросети. Затем волны статей про различные архитектуры нейросетей. Это было потрясающе! Можно было брать статью, читать, как это работает, идти имплементировать и сразу получать результат. Можно было съездить на конференцию, чтобы узнать про новую архитектуру, имплементировать ее и получить прирост в 3% или 5% точности и мощный экономический эффект.
Сейчас же мы все видим на рынке большой рост предобученных (pretrained) моделей, доступных через third-party API. Получается просто потрясающе удобно для быстрого старта и стоит относительно дешево. Особенно сейчас, когда на рынке высокая конкуренция.
Появилась возможность делать Fine Tuning. Уже не надо быть огромной корпорацией, которая скачала весь интернет, чтобы получить высокое качество решения даже на очень специфичной задаче. Конечно, всё ещё можно обучать модели с нуля, но в процентном соотношении это делается реже и более осознанно.
— Расскажи про Evidently AI! Можно ли сделать бизнес из open-source?
— В 2018 году я ушла из Яндекса, чтобы делать свой первый стартап про применение AI в промышленности. В основном мы работали с производством стали, но не только. Потом мне стало понятно, что я вижу паттерн одних и тех же проблем.
Ты делаешь проект, который классно взлетает, но не очень долго работает с высокими показателями качества. Потом начинаются проблемы с тем, что модель рекомендует что-то не то или плохо прогнозирует. Достаточно быстро становится понятно, что у тебя в руках нет удобной инфраструктуры для того, чтобы иметь базовую observability. А значит, команда не понимает, есть ли в данных data drift, concept drift или проблемы с качеством данных до тех пор, пока не приходит пользователь модели и не говорит, что AI перестал работать. А дальше, ты загружаешь данные и видишь, что, например, модель пора было переобучить два месяца назад, потому что данные изменились. Соответственно, переобучаешь и задаешься вопросом, почему этот цикл всё ещё не автоматизирован.
По мере того как наш стартап рос, скапливался большой хвост проектов, которые нужно было поддерживать. И мне стало понятно, что нужно больше инструментов для автоматизации процессов вокруг работающих приложений, чтобы делать Advanced ML.
Так появилась Evidently Ai.
Сначала библиотека в Open Source, которая помогала считать Data Drift — наш флагманский стартовый кусочек Evidently. А дальше библиотека росла и внезапно стала довольно популярным инструментом для тестирования и мониторинга моделей. Сейчас у нас доступно более 100 метрик и тестов, поддерживаются разные типы данных, а библиотеку скачали больше 22 миллионов раз.
Рядом с библиотекой появилась платформа! Это позволило дать доступ для анализа не только техническим пользователям, но и аудитории менеджеров и продуктовых аналитиков.
Что интересно, с LLM повторяется та же история, что была у меня в промышленности — начались активные внедрения и появились проблемы и потребность в advanced observability.
Мы уже сделали поддержку LLM в open-source, недавно был запуск, так что теперь и генеративные модели не в обиде! Вообще, я считаю, что инструмент для observability должен быть open-source. Как можно доверять результатам валидации, если не понимаешь, как она происходит?
— Что вдохновляет в самой идее Open Source и насколько такие продукты важны для Data Science?
— На первом месте — комьюнити. В машинном обучении это работает.
Когда волна машинного обучения только поднялась, далеко не все верили, что такое количество сервисов будет завязано на эту технологию. Ученые, статистики и разработчики открыто делились друг с другом, чтобы лучше разобраться.
Все статьи, почти вся реализация алгоритмов были открытыми. Из-за этого во многом область так быстро и выросла. Можно было взять код, который написали условно в Китае, пользоваться им и дорабатывать. Из-за этого практически не было видно границ. Прямо на форуме или конференции пишешь, что не работает, и пока спишь в Европе, люди из Калифорнии посмотрят, ответят и помогут. Чувствуется огромная поддержка и большая вовлеченность.
Я искренне верю, что сейчас именно в сфере AI и ML Open Source будет работать. В нашей области почти для любой тулзы closed source — есть open source аналог. Даже если мы возьмем модели, например, от OpenAI или Anthropic. Мы найдем открытые версии моделей LlaMa и Mistral. И я не к тому, что Anthropic чем-то хуже, а к тому, что всё равно есть альтернатива Open Source, и комьюнити её очень классно поддерживает. В сфере AI очень много открытых инструментов и курсов. Мне хочется это продолжать.
— Насколько полезны Data Science конференции?
— С точки зрения нетворкинга конференции — просто супер! Для меня самое ценное в конференциях, это возможность быстро и эффективно встретиться с большим количеством коллег из профессионального community и обменяться мнениями, идеями, проблемами и решениями. Часто такое общение перерастает в проекты и меня это очень заряжает! Все происходит гораздо быстрее и энергичнее, чем в той же переписке, и я всегда возвращаюсь вдохновленная с пачкой новых идей. Мне очень важны люди для того, чтобы делать новое, поэтому для меня крупные конференции — большое радостное событие.
26 сентября я выступаю на AI Conf 2024 с докладом «За рамками сценария: непрерывное тестирование для адаптивных и безопасных LLM систем». Это крупнейшая в России конференция по искусственному интеллекту. Обсудим тренды индустрии и их практическое применение.