ABBYY NeoML 2.0: что нового, помимо Python?

Около года назад на GitHub появилась наша открытая кросс-платформенная библиотека для машинного обучения NeoML. Все это время команда ABBYY трудилась над апдейтом фреймворка: мы перешли на Azure DevOps для регулярных сборок, добавили поддержку новых платформ, пополнили список доступных алгоритмов, улучшили производительность и — самое главное, чего вы так долго ждали — у библиотеки появился Python-интерфейс!

Зачем ABBYY выложила свои разработки в открытый доступ?

Открытый код – главный источник инноваций в разработке современного ПО. Именно поэтому мы стремимся к тому, чтобы библиотека NeoML стала доступной для еще более широкого круга пользователей. Во-первых, так мы получаем помощь от других специалистов в области машинного обучения по всему миру, которые используют, тестируют и совершенствуют наши технологии. Во-вторых, мы изучаем возможности использования алгоритмов ABBYY в новых бизнес-сценариях. В-третьих, применение технологий компании в разных задачах позволит в будущем создать экосистему, которая работает на нашем ПО.

Что изменилось с момента выпуска первой версии?

  • NeoML 2.0 стала быстрее: скорость выполнения классических алгоритмов на разных задачах выросла до 10 раз, а обучение нейросетей стало быстрее на 30%. Такая оптимизация особенно полезна специалистам и компаниям, которые обучают ML-модели в облачных сервисах, а также позволит упростить разработку мобильных приложений для клиентов.
  • Библиотека поддерживает около 20 новых методов машинного обучения, в том числе – 10 новых сетевых слоев и новые методы оптимизации. Поэтому представители бизнеса и научного сообщества теперь смогут дополнить приложения возможностями идентификации объектов, классификации, регрессии, кластеризации, семантической сегментации, верификации, используя для этих задач самые современные платформы и архитектуры.
  • Новая версия поддерживает автоматическое вычисление градиентов – важную функцию для быстрой реализации нейронных сетей различных архитектур.
  • Фреймворк позволяет работать в новых окружениях: на процессорах Apple M1 и графических процессорах в среде Linux, в том числе на интегрированных моделях от Intel, что существенно расширяет возможности разработки приложений для клиентов.

NeoML 2.0  в цифрах

Python

С библиотекой теперь могут работать и пользователи Python – одного из самых популярных языков программирования для анализа данных и машинного обучения.

Новый Python-интерфейс позволил не только расширить область применения библиотеки, но и скорректировать работу NeoML: закрылись многие сценарии использования сторонних ML-фреймворков, что значительно упростило и оптимизировало работу инженеров ABBYY, а сам процесс создания нового интерфейса помог посмотреть на существующую платформу более критично и исправить неточности. Кроме того, на Python проще осваивать саму библиотеку и ставить эксперименты.

Кроме того, Python версия NeoML полностью совместима с C++ версией. Любая модель, использующая стандартные сущности библиотеки, может быть загружена и использована в С++ версии, и наоборот.

Как и где используется?

ABBYY применяет инструменты библиотеки NeoML во всех своих продуктах для задач обработки естественного языка и компьютерного зрения, включая платформу ABBYY FlexiCapture, мобильные приложения и другие инновационные решения для глобального рынка.

Кроме того, NeoML уже используют в своих проектах независимые разработчики и исследователи из США, Канады, Германии, Нидерландов, России, Бразилии, Китая, Индии, Вьетнама, Южной Кореи и других стран.

Доступ к исходным кодам можно получить на официальном репозитории проекта на GitHub. NeoML можно использовать на Windows, Linux, macOS, iOS и Android.  Библиотека поддерживает процессоры CPU и GPU. Открытый код фреймворка предоставляется под лицензией Apache 2.0 License.

Что дальше?

В ближайшее время команда ABBYY намерена продолжить улучшение Python интерфейса, займется распределенным обучением и JIT-компиляцией, а также добавит реализации новых методов и будет оптимизировать старые.

Подробнее о NeoML 2.0 читайте в блоге ABBYY на Habr.

Artificial Intelligence (AI)

Подписка на обновления в блоге

Вы будете получать статьи на почту первыми

Ваша подписка прошла успешно!

Я проинформирован о том, что я имею право в любое время полностью или частично отозвать вышеуказанное согласие. Данное согласие на обработку персональных данных может быть отозвано в любой момент. Для этого нажмите на ссылку «Отписаться» внутри любого письма, полученного от ABBYY, или заполнив форму Права доступа ABBYY к персональным данным.

Я даю согласие на использование моих персональных данных для целей, описанных в правовой политике.

Ваша подписка прошла успешно!

Читайте нас