Компания ABBYY выложила на GitHub исходники своей нейросети, используемой для распознания текста. Программный код открыт под свободной лицензией Apache 2.0.
Нейросеть для бизнеса
Библиотека машинного обучения NeoML выложена на GitHub для того, чтобы ускорить развитие облачных, десктопных и мобильных решений, применяющих нейросети. Она позволяет разработчикам дополнять свои приложения новыми возможностями. В ABBYY библиотека используется для продуктов, нуждающихся в компьютерном зрении, обработке естественных языков в структурированных и неструктурированных документах.
NeoML поддерживает инструменты ONNX, благодаря чему может быть легко интегрирована в сторонние фреймворки. Стандарт поддерживается Microsoft, Facebook и другими компаниями и поэтому полностью совместим с другими решениями организаций.
Константин Гольдштейн, ведущий эксперт по стратегическим технологиям Microsoft в России, отмечает, что NeoML позволяет программистам получить доступ к ряду возможностей, в которых нуждаются современные бизнес-приложения. Интеграция с ONNX открывает перспективы создания обширной экосистемы разработчиков вокруг проекта ABBYY.
Особенности библиотеки
NeoML поддерживает и классический метод машинного обучения, и глубокий. Библиотека может быть использована в облачной или мобильной средах. Ее нейросети применяют до 100 слоев, а для классического машинного обучения доступно более 20 алгоритмов.
Модели, создаваемые при помощи решения, пригодятся в задачах идентификации, классификации, семантической сегментации, прогнозирования. Например, банковские приложения на основе NeoML могут поддерживать функцию прогнозирования спроса на финансовые услуги.
Еще одна отличительная черта библиотеки ABBYY – кроссплатформенность. NeoML совместима с устройствами на базе Windows, Linux, macOS, iOS и Android. Расчеты могут производиться и на центральных процессорах, и на графических. При работе с GPU в ОС от Microsoft необходима видеокарта, поддерживающая архитектуру параллельных вычислений CUDA версии 10.2. Для iOS нужен процессор модели A7 или старше. Android-устройства для применения NeoML нуждаются в поддержке API Vulkan 1.0. На macOS и Linux использовать GPU для машинного обучения пока что нельзя.
Для работы с NeoML необходимо знание С++, Java, Objective C или Swift. Разработчики обещают в скором времени добавить поддержку Python. Внутренние тесты ABBYY продемонстрировали, что скорость библиотеки на задачах обработки изображений превышает аналоги на 15-20%.