- PVSM.RU - https://www.pvsm.ru -

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

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

Инструменты для разработчиков ПО: открытые фреймворки и библиотеки машинного обучения - 1 [2]
Фото — Franck V. [3] — Unsplash


Transformers [4]


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

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

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

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


Accord.NET [9]


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

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

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

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

Инструменты для разработчиков ПО: открытые фреймворки и библиотеки машинного обучения - 2
Фото — Franck V. [23] — Unsplash


MLflow [24]


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

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

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

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

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

Инструменты для разработчиков ПО: открытые фреймворки и библиотеки машинного обучения - 3 Экономим время при работе с командной строкой [1]
Инструменты для разработчиков ПО: открытые фреймворки и библиотеки машинного обучения - 4 Бенчмарки для серверов на Linux: подборка открытых инструментов [30]

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

Инструменты для разработчиков ПО: открытые фреймворки и библиотеки машинного обучения - 5 Что известно о конференции VMworld 2019 [31]
Инструменты для разработчиков ПО: открытые фреймворки и библиотеки машинного обучения - 6 Разобраться в политиках конфиденциальности приложений и сервисов — помогут нейросети [32]


Инструменты для разработчиков ПО: открытые фреймворки и библиотеки машинного обучения - 7Мы предлагаем услугу облачного объектного хранилища [33]. Для резервного копирования, хранения архивов и обмена документами.


Автор: 1cloud

Источник [34]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/mashinnoe-obuchenie/333025

Ссылки в тексте:

[1] серию материалов: https://habr.com/ru/company/1cloud/blog/469689/

[2] Image: https://habr.com/ru/company/1cloud/blog/471320/

[3] Franck V.: https://unsplash.com/photos/JjGXjESMxOY

[4] Transformers: https://github.com/huggingface/transformers

[5] Hierarchical Multi-Task Learning: https://arxiv.org/abs/1811.06031

[6] катастрофической забывчивости: https://naked-science.ru/article/hi-tech/glubokuyu-neyroset-nauchili-pomnit

[7] 15 тыс. звезд на GitHub: https://github.com/huggingface/transformers/stargazers

[8] на сайте проекта: https://transformer.huggingface.co/

[9] Accord.NET: https://github.com/accord-net/framework/

[10] AForge.NET: https://en.wikipedia.org/wiki/AForge.NET

[11] NuGet-пакетов: https://www.nuget.org/packages?q=Accord.NET

[12] Math: http://accord-framework.net/docs/html/N_Accord_Math.htm

[13] Imaging: http://accord-framework.net/docs/html/N_Accord_Imaging.htm

[14] Audio: http://accord-framework.net/docs/html/N_Accord_Audio.htm

[15] Neuro: http://accord-framework.net/docs/html/N_Accord_Neuro.htm

[16] Великобритании: http://orca.cf.ac.uk/65402/1/blamey13parsing.pdf

[17] Египта: https://link.springer.com/chapter/10.1007%2F978-3-642-35326-0_37

[18] 3,5 тыс. звезд на GitHub: https://github.com/accord-net/framework/stargazers

[19] руководства для быстрого старта: https://github.com/accord-net/framework/wiki/Getting-started

[20] Machine Learning Projects for .NET Developers: https://www.amazon.com/Machine-Learning-Projects-NET-Developers/dp/1430267674

[21] F# for Machine Learning Essentials: https://www.amazon.com/Machine-Learning-Essentials-Sudipta-Mukherjee-ebook/dp/B017M936XY

[22] пару других: https://github.com/accord-net/framework/wiki/Published-books

[23] Franck V.: https://unsplash.com/photos/U3sOwViXhkY

[24] MLflow: https://github.com/mlflow/mlflow

[25] отсутствие: https://developer.ibm.com/articles/first-impressions-mlflow/

[26] встречаются баги: https://github.com/mlflow/mlflow/issues

[27] с официальной документации: https://www.mlflow.org/docs/latest/tracking.html

[28] на StackOverflow: https://stackoverflow.com/questions/tagged/mlflow

[29] Google Groups: https://groups.google.com/forum/#!forum/mlflow-users

[30] Бенчмарки для серверов на Linux: подборка открытых инструментов: https://habr.com/ru/company/1cloud/blog/464763/

[31] Что известно о конференции VMworld 2019: https://habr.com/ru/company/1cloud/blog/470688/

[32] Разобраться в политиках конфиденциальности приложений и сервисов — помогут нейросети: https://habr.com/ru/company/1cloud/blog/471222/

[33] облачного объектного хранилища: https://1cloud.ru/services/storage?utm_source=habrahabr&utm_medium=cpm&utm_campaign=ml&utm_content=site

[34] Источник: https://habr.com/ru/post/471320/?utm_source=habrahabr&utm_medium=rss&utm_campaign=471320