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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

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


Фото — Franck V. — Unsplash


Transformers



Это — библиотека моделей для обработки естественного языка на 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 самостоятельно на сайте проекта: разработчики научили нейросеть дописывать за вас предложения.


Accord.NET



Заточенный под 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» и пару других.


Фото — Franck V. — Unsplash


MLflow



Это — платформа для полного цикла машинного обучения, упрощающая разработку и развертку моделей, а также обмен ими. Она предлагает набор 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.

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

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

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

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


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

Источник: https://habr.com/ru/company/1cloud/blog/471320/


Интересные статьи

Интересные статьи

Представьте, что у вас имеется большой проект по машинному обучению. Естественно, сначала над ним работали дата-сайентисты, а затем инженеры-программисты, которые оптимизировали модель дл...
По статистике Stack Overflow, активно ищут работу немногим более 17% разработчиков. При этом, помимо зарплаты, в пятерку важных факторов при смене места входит и запрос на улучшен...
Это заключительная часть лаконичной интерпретации документации по Flutter, которая будет полезна Xamarin.Forms-разработчикам. Учитывая текущую ситуацию, сейчас самое время изучать что-то новое! П...
Недавно мне выпала возможность пообщаться с довольно большим количеством начинающих специалистов по разработке на языке C#. Многие из них интересуются языком и платформой, и это очень круто. Сред...
Как обновить ядро 1С-Битрикс без единой секунды простоя и с гарантией работоспособности платформы? Если вы не можете закрыть сайт на техобслуживание, и не хотите экстренно разворачивать сайт из бэкапа...