Машинное обучение вошло в арсенал современных технологий, породив множество специализированных фреймворков для разных задач. Сегодня этот рынок представляет собой сложную многоуровневую систему, где устоявшиеся решения соседствуют с нишевыми инструментами для конкретных сценариев.
«Компьютерра» поговорила с экспертами и выяснила, какие фреймворки доминируют в России, как сделать осознанный выбор и с какими вызовами приходится сталкиваться разработчикам.

Доступные в России ML-фреймворки
ML-фреймворк — это готовый инструментарий для создания моделей машинного обучения, который избавляет от необходимости писать все алгоритмы с нуля. Выбор такого фреймворка — стратегическое решение, определяющее эффективность всего проекта. Какие же инструменты сегодня формируют ландшафт Data Science в России?
«На текущий момент в России доминируют два фреймворка с открытым исходным кодом: PyTorch и TensorFlow. Они являются отраслевыми стандартами и наиболее доступны», — объясняет Вячеслав Дегтярев, менеджер продукта К2 «НейроТех».
По словам эксперта, в новых проектах, особенно связанных с NLP, компьютерным зрением и генеративными моделями, явное доминирование наблюдается у PyTorch. Большая часть актуальных статей и реализаций на платформах вроде Hugging Face публикуется именно на нем.
Мкртчян Грач, руководитель научно-исследовательского отдела «Интеллектуальные системы» МТУСИ, отмечает такой же тренд: «В России сейчас почти все работают на PyTorch. Он проще устанавливается, лучше документирован, и при использовании меньше сюрпризов».
TensorFlow и его высокоуровневый API Keras сохраняют сильные позиции в промышленном внедрении благодаря развитому инструментарию для продакшена и исторически более сильной экосистеме MLOps. При этом Мкртчян Грач делится мнением: «TensorFlow за последние годы сильно сдал позиции и встречается в основном в легаси-проектах».
«Есть еще один менее известный фреймворк — JAX, — продолжает Вячеслав Дегтярев. — Он набирает популярность в исследовательских кругах, особенно там, где критична максимальная производительность и контроль над вычислениями, например, в крупных компаниях вроде DeepMind. Однако его порог входа выше, и он пока менее распространен в широкой практике».
Кирилл Смеловец, главный архитектор сервисов искусственного интеллекта и машинного обучения Cloud X, добавляет: «Для классического машинного обучения по-прежнему актуален scikit-learn. Это основной инструмент для работы с табличными данными, классическими алгоритмами, прототипированием и аналитическими моделями — он остается стандартом индустрии».
Однако технический выбор упирается не только в преимущества самих фреймворков, но и в существующие экосистемные ограничения. Эксперты отмечают, что главные сложности лежат в смежных плоскостях.
«Прямых юридических запретов на использование этих фреймворков нет, поскольку они имеют открытый исходный код. Однако проблема заключается не в самих фреймворках, а в доступности зависимостей, библиотек, например, CUDA для GPU, и облачных сервисов для их оптимальной работы».
Вячеслав Дегтярев, менеджер продукта К2 «НейроТех».
Такую же проблему выделяет и руководитель научно-исследовательского отдела «Интеллектуальные системы» МТУСИ Мкртчян Грач: «Тут, скорее, проблемы не с самими фреймворками, а вспомогательными инструментами, как, допустим, Wandb, который с недавних времен не работает больше в РФ».
Таким образом, эти вызовы смещают фокус с выбора фреймворка на обеспечение устойчивости всей технологической цепочки. Решение инфраструктурных вопросов становится важным условием для успешной реализации ИИ-проектов.
Ключевые различия между ML-фреймворками
Помимо общей популярности, фреймворки обладают и уникальными техническими характеристиками, которые влияют на выбор разработчиков. Специалисты выделяют ряд ключевых критериев, от архитектуры до экосистемы, по которым они принципиально различаются.
«Ключевое различие между лидерами — в архитектуре. PyTorch интуитивнее благодаря императивному стилю, что ускоряет прототипирование и отладку. TensorFlow со своим статическим графом исторически сильнее в продакшн-развертывании, однако сейчас разница нивелируется», — считает Мупегну Нзусси Кевин Грас, канд. экон. наук, доцент кафедры экономики Мелитопольского государственного университета.
Вячеслав Дегтярев, менеджер продукта К2 «НейроТех», выделяет несколько основных различий между доминирующими фреймворками. Одно из них — экосистема и MLOps. Эксперт объясняет: «TensorFlow исторически имеет более зрелую экосистему для развертывания моделей в продакшене и управления жизненным циклом моделей. PyTorch активно наверстывает отставание с помощью таких инструментов, как TorchServe и TorchScript».
Еще одно различие заключается в производительности: «На низком уровне различия в скорости между оптимизированными версиями фреймворков часто незначительны для типовых задач. JAX благодаря таким возможностям, как JIT-компиляция и автоматическая векторизация, может выиграть в высокопроизводительных сценариях, но требует больших экспертных знаний».
Султан Рамазанов, директор департамента разработки Umbrella IT, добавляет к этому списку удобство разработки и отладку: «PyTorch предлагает более интуитивный интерфейс с естественным Python-синтаксисом», а также распределенное обучение: «TensorFlow предлагает встроенное distributed-решение. PyTorch требует большего участия разработчика (через другие библиотеки)».
«Разработчик выберет тот фреймворк, который позволит максимально быстро набросать pipeline, то есть создать прототип решения, и провести первое исследование. На мой взгляд, ключевыми являются оптимизация фреймворка (его архитектура), плюс возможность интеграции с различными сервисами и устройствами для развертывания моделей».
Игорь Матвеев, специалист в области машинного обучения в направлении Computer Vision компании «Рексофт».
«Думаю, что именно для разработки дата-сайентистам важнее всего удобство разработки и стабильность работы. Но при этом важно все в комплексе, и все взаимосвязано. Удобство и стабильность библиотеки определяются архитектурой и оптимизацией кода. Глубокая оптимизация кода проводится разработчиками, если библиотека популярна, и если архитектура позволяет это делать. И, соответственно, оптимизация влияет и на скорость работы», — отметил Антон Зизин, начальник управления методологии и разработки математических моделей НЛМК.
Таким образом, идеального фреймворка «на все случаи жизни» не существует — каждый силен в своей нише. Итоговый выбор всегда представляет собой компромисс между скоростью прототипирования, стабильностью продакшена и специфическими требованиями проекта.
Лучший фреймворк для новичков
Выбор первого фреймворка — важный шаг для начинающего специалиста, который во многом определяет легкость погружения в профессию. Единодушное мнение экспертов сводится к тому, что для старта оптимален PyTorch.
«Новичкам, на мой взгляд, однозначно подойдет PyTorch в связке с высокоуровневыми библиотеками. Для начинающих специалистов он предлагает наиболее плавный и интуитивный путь входа в сферу машинного обучения», — считает Вячеслав Дегтярев, менеджер продукта К2 «НейроТех».
Эксперт объясняет: «Его API спроектирован очень понятно и близко к стандартному Python, что позволяет новичкам быстрее освоить ключевые концепции, такие как тензоры, градиенты и автоматическое дифференцирование, без излишней когнитивной нагрузки».
Игорь Матвеев, специалист в области машинного обучения в направлении Computer Vision компании «Рексофт», также рекомендует начинать с PyTorch: «На текущий момент появилось много курсов и уроков от специалистов по работе с ним, плюс он является популярным фреймворком — это значит, что навыки работы с ним будут востребованы при трудоустройстве, а найти ответы на вопросы и получить поддержку сообщества будет проще».
Директор департамента разработки Umbrella IT Султан Рамазанов советует новичкам обратить внимание на следующие моменты: для классического ML подойдет scikit-learn, для основ глубокого обучения — Keras, для исследований и экспериментов — PyTorch, а для production-систем, требующих масштабирования, — TensorFlow.
При этом эксперт отмечает: «Сегодня оптимальным выбором для старта в машинном обучении выступает PyTorch, поскольку этот фреймворк сочетает лаконичный и интуитивно понятный API с глубоким следованием “питоновской” парадигме программирования. Это особенно ценно для разработчиков, знакомых с Python».
«Для новичков также важно, что PyTorch требует ощутимо меньше шаблонного кода, а логика построения моделей и вычислений максимально приближена к обычному Python-сценарию. Этот подход способствует быстрому пониманию базовых концепций глубокого обучения и позволяет сфокусироваться на идеях, а не на технических деталях реализации».
Султан Рамазанов, директор департамента разработки Umbrella IT.
Итак, начинающим дата-сайентистам рекомендуется делать ставку на тот инструмент, который обеспечивает понимание концепций и поддерживается активным сообществом. PyTorch на сегодняшний день наилучшим образом отвечает этим критериям, являясь трамплином для успешного старта в машинном обучении.
Как понять, что фреймворк подходит именно вам
По мнению экспертов, выбор фреймворка — это сложный процесс, выходящий далеко за рамки личных предпочтений. Он требует тщательной оценки как внутренних ресурсов компании, так и внешних ограничений.
«Выбор фреймворка должен быть не данью моде, а стратегическим решением, основанным на анализе нескольких ключевых факторов», — уверен Вячеслав Дегтярев, менеджер продукта К2 «НейроТех».
«Критически важно учитывать существующую экспертизу команды. Переобучение сотрудников может оказаться дороже гипотетического повышения производительности. Также необходимо оценить инфраструктурный контекст. Наличие готовой on-premise платформы, например, ПАК-AI, которая изначально поддерживает оба основных фреймворка, снимает многие технические ограничения и позволяет выбирать инструмент, исходя исключительно из потребностей задачи, а не из соображений совместимости».
Вячеслав Дегтярев, менеджер продукта К2 «НейроТех».
Мупегну Нзусси Кевин Грас, канд. экон. наук, доцент кафедры экономики Мелитопольского государственного университета, называет среди важных критериев наличие готовых GPU-серверов с нужными версиями CUDA и уровень экспертности в конкретном фреймворке. «В целом, тренд в России смещается в сторону PyTorch как более жизнеспособной экосистемы в условиях текущих вызовов», — считает эксперт.
Роман Денищик, CTO компании «СЕНЛА», предупреждает: «Выбор ограничивается прямой доступностью некоторых облачных сервисов и юридическими требованиями заказчика. К примеру, финансовый сектор не допускает перемещения данных вне безопасного периметра. Интересующая нас инфраструктура доступна в РФ, однако сложность работы специалистов SRE, MLOps и DevOps выше в относительно нагруженных задачах».
Эксперт добавляет: «Конкретный фреймворк вторичен и может быть определен после фазы MVP. Важны объем и характер данных, частота их обновлений в продакшене. Это позволит сконцентрироваться на особенностях ETL и выборе ближайших к домену подходов. Когда задача локализована, и получены первые результаты с удовлетворительными метриками, можно планировать затраты на инфраструктуру».
«Чтобы понять, что выбрать, нужно смотреть на тип задачи. Если цель — быстро экспериментировать, строить прототипы и работать в локальной среде, однозначно PyTorch будет лучшим вариантом. Если проект давно сидит на TensorFlow, менять стек нет смысла, тут тоже работает правило «работает — не трогай». JAX подходит тем, кто делает глубокий ресерч, любит функциональную модель и хочет использовать XLA-компиляцию для сложных вычислений», — дает совет Мкртчян Грач, руководитель научно-исследовательского отдела «Интеллектуальные системы» МТУСИ.
При этом Антон Зизин, начальник управления методологии и разработки математических моделей НЛМК, отмечает: «Если смотреть со стороны дата-сайентиста, библиотеки и фреймворки — это лишь инструменты. Намного важнее понимать математику и логику кода. Зная их, новые библиотеки можно освоить очень быстро».
Можно сказать, что не существует универсального ответа на вопрос о лучшем фреймворке. Оптимальное решение всегда зависит от конкретного бизнес-кейса, доступной инфраструктуры и компетенций команды.
Резюме
Подводя итоги, можно констатировать, что ландшафт ML-фреймворков в России сегодня довольно четко структурирован. Безоговорочным лидером для исследований, новых проектов и быстрого прототипирования стал PyTorch, ценимый за интуитивность и активное сообщество. TensorFlow сохраняет нишу в промышленном внедрении благодаря мощным MLOps-инструментам, в то время как JAX остается выбором для high-performance задач, а scikit-learn — незыблемым стандартом для классического машинного обучения.
Однако технический выбор все чаще отходит на второй план перед лицом системных вызовов. Проблемы сместились с доступности самих фреймворков на доступность их экосистем: библиотек, инструментов для экспериментов вроде Wandb и облачных сервисов. Это заставляет компании искать обходные пути и делать ставку на стабильную on-premise инфраструктуру, которая обеспечивает независимость от внешних ограничений.
Таким образом, стратегия выбора фреймворка сегодня основана на триаде «задача — команда — инфраструктура». Универсального решения нет, и ключ к успеху лежит в гибкости. В конечном счете, фреймворк — это всего лишь инструмент, и его эффективность определяет мастерство разработчика и стратегическое видение команды.
