Использование ML/Data Open Source в России
Проанализировали решения, инструменты и их применимость.
Выделили главных игроков, обозначили проблемы и перспективы.
$ git add
main {

}
<script>

$ git switch
<script>

Об исследовании
Авторы исследования ― представители сообщества разработчиков и пользователей открытого научного кода в Университете ИТМО.

Мы создаем и продвигаем свои открытые решения, проводим профильные мероприятия, предоставляем полезные материалы — и помогаем делать это другим. В составе сообщества около 1000 участников.

Большинство из них уже в нашем телеграм-чате — в нем можно связаться с нами и задать любые вопросы по исследованию.
Кто мы?
Авторы исследования ― сотрудники центра «Сильный ИИ в промышленности» ИТМО. У нас большой опыт создания ПО с открытым кодом в сферах ИИ/ML/DS и его применения в реальных проектах. При участии команды центра в университете сформировалось крупнейшее в России академическое опенсорс-сообщество. Поэтому мы решили поделиться своим опытом и сделать «авторское» исследование. Вместе с тем, в его основе — мнения топовых экспертов и количественные метрики.
Несмотря на широкое использование опенсорс-решений в Data/ML в целом, многие специалисты знакомы только с привычным для их области стеком. Мы решили сделать консолидированный обзор используемых решений в различным категориях, с помощью которого можно сориентироваться в основных инструментах.
ИИ меняет правила в опенсорсе: новые инструменты позволяют создавать решения быстрее и дешевле — это трансформирует существующие практики. Поэтому мы не только поговорили с экспертами о текущем положении дел, но попробовали сформировать прогноз развития области на ближайшие пару лет.
В первой части исследования приняли участие эксперты из разных компаний и университетов ― Яндекса, Сбера, Т-Банка, VK, Wildberries, Rocket Control, CodeScoring и МФТИ. О чем мы их спрашивали?
О компаниях лидерах.

Какие проекты они используют сами?

О проблемах и историях успеха.

Что есть и чего не хватает?

Про актуальное состояние и перспективы опенсорса в эпоху ИИ.
1
2
3
4
5
На основе этих данных мы сформулировали основные выводы, составили рейтинг наиболее используемых проектов в каждой из категорий и сформировали перечень компаний компаний-лидеров в области опенсорса для ML/Data.
Вторая часть исследования основана на автоматизированном анализе открытых репозиториев с кодом, ссылок на них, информации о пользователях, участвовавших в работе на проектах. Упор мы сделали на платформу GitHub.
Среди экспертов, принявших участие в опросе:
  • Максим Савченко

    Сбер, Управляющий директор, руководитель Центра инструментов машинного обучения Лаборатории AI

  • Сергей Бережной

    Яндекс, Директор по взаимодействию с разработчиками

  • Александр Чиков

    Т-Банк, Тимлид

  • Юрий Кацер

    Рокет Контрол, DS team lead

  • Александр Сидоров

    Wildberries, Head of Data Science

  • Александр Волынский

    VK, Технический менеджер Cloud ML Platform, архитектор VK Cloud

  • Алексей Смирнов

    CodeScoring, Founder & CEO

  • Александр Нозик

    МФТИ, Директор центра научного программирования

Общепринятой таксономии внутри ML/Data нет, поэтому мы ориентировались на мнения экспертов и укрупненные теги репозиториев на GitHub. Чтобы было понятнее, для каждой категории дали пояснение и несколько примеров. В них мы подобрали представителей разных «уровней» опенсорса ― от разработок гигантских корпораций до академических решений и успешных пет-проектов.
Инструменты ML и AutoML
Инструменты для обучения моделей МО и сборки их в пайплайны (вручную и автоматические).
Яндекс
Сбер
ИТМО
Сообщество
Microsoft
AMAZON
Математическое обеспечение
То, что называют Scientific Computing, ― реализации алгоритмов для работы с данными и моделями
Сообщество
МФТИ
AIRI
Яндекс
RAPIDS
NVIDIA
Инфраструктура
Решения для обработки данных и запуска моделей в конкретном окружении (например, распределенном)
Platform V
Cбер
Яндекс
Apache
Apache
Визуализация и BI
Инструментарий для майнинга, визуализации и аналитики данных и таящихся в них зависимостей
Сообщество
Polars
Metabase
Яндекс
Apache
greenplum
Yandex
Хранение данных

Базы данных всех видов и сортов
Сообщество
Tarantool
ClickHouse
Яндекс
Т-Банк
MongoDB Inc
MLOps и LLMOps
Всё, что помогает нам «приземлять» методы и модели ИИ в реальных проекты
LangChain
lmware-ai
Cбер
Начинающим пользователям ML/Data-решений, которые хотят узнать о используемых на практике инструментах.
Авторам собственных открытых проектов, которые ищут лучшие практики их популяризации.
Опытным и начинающим контрибьюторам в опенсорс, которые ищут информацию об интересных проектах для участия.
Опенсорс-энтузиастам, которые хотят иметь представление о структуре опенсорс-сообщества.
Выводы
Какие российские компании - в лидерах?
Выделили основных российских разработчиков, которые занимаются созданием своих открытых решений или участвуют в других опенсорс-разработках (в сфере Data/ML). Эти компании обладают сильными позициями по результатам опроса экспертов и анализа открытых данных.
Яндекс
Сбер
Evrone
1
2
3
4
5
Т-Банк
Postgres Pro
VK
10
9
8
7
6
Avito
МТС
Selectel
Академия
Университеты и институты
Яндекс определяется как лидер благодаря нескольким факторам.
Большое количество активно развивающихся open-source проектов, охватывающих все тематические категории в области Data/ML. Проекты включают в себя открытые модели и данные.
Лучшие показатели используемости этих проектов в России по сравнению с другими российскими компаниями. Это подтверждается как информацией от экспертов, так и открытыми данными (звёздами, форками, скачиваниями и т. д.). Особенно выделяется CatBoost, который активно используется как в России, так и во всём мире.
Высокий уровень качества реализации репозиториев, большое количество контрибьюторов и их высокая активность.
Участие в развитии сообщества через организацию мероприятий в сфере open-source и грантовых программ для поддержки независимых разработчиков.
Этот список не претендует на полноту — в качестве контрибьюторов опенсорс-проектов в России выступает огромное число компаний и частных лиц.
Какие проекты используются?
Любой «топ» всегда условен и вызывает много споров. Выбирая для более детального анализа проекты ниже, мы ориентировались как на мнения экспертов по используемости в российских компаниях, так и на результаты автоматизированного анализа репозиториев. Мы выделили топ-5 используемых в РФ решений по каждой категории.
ML и алгоритмы
Математика
Инфраструктура
Визуализация и BI
Хранение данных
MLOps
Основные инсайты по итогам исследования
Почти все компании-разработчики открытых решений в Data/ML находят пользователей не только на внутреннем, но и на международном рынке. Востребовано то, что лучше работает без привязки к конкретной стране.
Они востребованы в технологическом стеке крупных компаний и частных пользователей. Их авторы — как «бигтех», так и небольшие команды, в том числе академические.
Публикации моделей, данных и бенчмарков тоже важны — многие активно используемые датасеты создаются российскими компаниями.
Использование публичных API GitHub позволяет собрать много интересных данных о том, кто, где и когда использует открытые проекты
В России создается много сильных открытых инструментов
Опенсорс - не российский, а общий
Опенсорс — это не только про код
В компаниях есть энтузиасты опенсорса — и их много
Продвигать свои проекты сложно
Есть много конференций и митапов, но все же форматов и площадок недостаточно. Кроме того, у потенциальных участников открытых проектов не хватает и квалификации. Здесь могут помочь университеты и их студенты — опыт их участия в разработке опенсорса обычно позитивный.
Хотя они продвигают свои идеи и участвуют в развитии своих и чужих проектов, им все же сильно не хватает системности и поддержки (в том числе и схем монетизации).
Мнения экспертов по различным аспектам опенсорса в Data и ML
Среди них можно выделить реализации конкретных моделей машинного обучения (например, SciKit Learn) или фреймворки для «сборки» своих моделей ― например, PyTorch и Tensorflow в случае нейронных сетей. AutoML-решения применяют не так широко, но про сами инструменты (например, проект LightAutoML) многие знают.
Используемый в России опенсорс
Используют, как правило, хорошо себя зарекомендовавшие numpy и SciPy. Для часто встречающейся постановки задач оптимизации ― настройки гиперпараметров ― обычно применяют optuna.
Область математического обеспечения довольно консервативна
В ML-инструментарии почти все используемые решения — опенсорсные
Индустриальный стэк в DS/ML уже сформировался — он довольно стандартный
Где-то для обработки данных хватает Pandas, а где-то необходимо обратиться к Spark или ytsaurus. Схожая ситуация с хранением данных ― широко использует ClickHouse, но и другие базы данных находят активное применения в стеке различных компаний.
Используемые инфраструктурные решения сильно зависят от конкретных приложений
Это открытые библиотеки и фреймворки от разных создателей, которые используют по всему миру ― все знают про CatBoost и Clickhouse, про PyTorch и Hadoop. В компаниях же активно используют также «самописные» закрытые решения и форки открытых проектов.
Визуализация данных обычно обсуждается мало, хотя и там активно применяются открытые решения ― например, DataLens.
С LLMOps далеко не все пользователи и компании успели познакомиться на практике. Безусловный лидер здесь ― LangChain, однако появление новых подходов (например, агентных LLM) и новых моделей требует создания новых инструментов, которые в подавляющем большинстве случаев — опенсорсные.
Если MLOps ― достаточно сложившаяся область и стандартный инструментарий для нее уже сформировался, то сфера LLMOps сейчас бурно развивается
Часто выделяемые недостатки открытых проектов ― документация, поддержка, совместимость с корпоративными системами и платформами.
Основные проблемы при использовании опенсорса и их решения
Часто выделяемые недостатки открытых проектов ― документация
У создателей и пользователей открытых инструментов часто возникают противоречия в требованиях к реализации
Это может блокировать совместную работу над проектом. Корпорациям нужно одно — например, повышение масштабируемости решений на большие объемы данных или вычислительные ресурсы. Сообществу индивидуальных пользователей ― другое: удобная установка на одиночные ПК, хорошая производительность на слабых системах и так далее.