Инструменты для разработчиков ПО: открытые фреймворки и библиотеки машинного обучения

Продолжаем нашу серию материалов, посвященных открытым инструментам для разработчиков. Сегодня рассказываем о фреймворках и библиотеках для МО — Transformers, Accord.NET и MLflow.

5cp4dedgywwnaiqu9jkafona8eu.jpeg
Фото — Franck V. — Unsplash


Это — библиотека моделей для обработки естественного языка на TensorFlow 2.0 и PyTorch. В ней собраны более 32 предварительно обученных моделей — BERT, DistilBert, XLM, GPT-2, XLNet и другие.

Авторами библиотеки выступили инженеры из компании HuggingFace, разрабатывающей NLP-алгоритмы. Это они представили модель многозадачного машинного обучения Hierarchical Multi-Task Learning (HMTL), которая сделала еще один шаг к решению проблемы «катастрофической забывчивости». HMTL показали на AAAI 2019 — международной академической конференции, посвященной системам искусственного интеллекта.

Ключевая характеристика Transformers — возможность обмениваться обученными моделями и конвертировать их из одного фреймворка в другой: TF2.0 или PyTorch. Разработчики отмечают, что их решение позволяет описать процедуру обучения модели тремя строчками кода.

Вокруг библиотеки сформировалось обширное сообщество — почти 15 тыс. звезд на GitHub. Вы можете оценить возможности Transformers самостоятельно на сайте проекта: разработчики научили нейросеть дописывать за вас предложения.


Заточенный под C# фреймворк, предоставляющий базовый инструментарий для анализа данных и машинного обучения: от проверки статистических гипотез до построения моделей компьютерного зрения и обработки изображений. Accord.NET — одно из самых популярных решений для МО в экосистеме .NET. Изначально он представлял собой расширение библиотеки AForge.NET, но затем поглотил её.

Инструмент предлагает распределения вероятности, кернфункции и бенчмарки для оценки производительности моделей. Accord.NET разделен на библиотеки, доступные в виде исполняемых модулей, сжатых архивов или NuGet-пакетов. Среди них числятся: Math для работы с матрицами, Imaging для обработки изображений и Audio со звуковыми функциями. Также можно выделить Neuro с алгоритмами Левенберга — Марквардта и глубокого обучения.

Accord.NET использовали для проведения научных исследований инженеры из университетов Великобритании, Египта, Китая и других стран. И в целом фреймворк использует довольно большое количество разработчиков — у него более 3,5 тыс. звезд на GitHub.

Из недостатков можно выделить запутанную документацию, сложную для начинающих. Хотя ситуацию слегка упрощает наличие руководства для быстрого старта и подробных комментариев в коде. Также дополнительную информацию по Accord.NET можно найти в литературе. Сами разработчики рекомендуют «Machine Learning Projects for .NET Developers», «F# for Machine Learning Essentials» и пару других.

hpmjyve1bq8xjdohh6ggvucxnza.jpeg
Фото — Franck V. — Unsplash


Это — платформа для полного цикла машинного обучения, упрощающая разработку и развертку моделей, а также обмен ими. Она предлагает набор API, которые работают с любой библиотекой (TensorFlow, PyTorch, XGBoost и др.) и в любой среде, в том числе в облаке. Разработчики MLflow — это программисты из Databricks, стартапа, основанного выходцами из Apache Spark.

У MLflow есть встроенные интеграции с Docker, TensorFlow, PyTorch, Kubernetes, Java, Spark и другими открытыми проектами. При этом MLflow используют такие организации, как Microsoft, Accenture, SK Telecom и даже Вашингтонский университет.

Из недостатков MLflow можно выделить отсутствие поддержки R и Java, несмотря на их популярность в сфере машинного обучения. Но дело здесь в относительной молодости проекта, и разработчики обещают добавить соответствующие API в будущем. Молодость инструмента накладывает еще один отпечаток — в его работе встречаются баги.

Если вы хотите самостоятельно оценить MLflow в работе, можете начать знакомство с официальной документации. Если возникнут вопросы — с их решением поможет относительно небольшое, но активное комьюнити на StackOverflow или Google Groups.

Другие наши подборки:

lcevevvhrpxsnxownufk6ykmvma.pngЭкономим время при работе с командной строкой
lcevevvhrpxsnxownufk6ykmvma.pngБенчмарки для серверов на Linux: подборка открытых инструментов

О чем мы пишем на Хабре:

lcevevvhrpxsnxownufk6ykmvma.pngЧто известно о конференции VMworld 2019
lcevevvhrpxsnxownufk6ykmvma.pngРазобраться в политиках конфиденциальности приложений и сервисов — помогут нейросети


xsfpr0dhnlgu53s-kbptqjhxrmk.pngМы предлагаем услугу облачного объектного хранилища. Для резервного копирования, хранения архивов и обмена документами.

© Habrahabr.ru