Java-библиотека машинного обучения от Oracle

Машинное обучение

Библиотека с открытым исходным кодом Tribuo от Oracle предлагает инструменты для построения и развертывания классификационных, кластерных и регрессионных моделей на Java, а также интерфейсы для TensorFlow, XGBoost и ONNX

Автор: Paul Krill, ведущий редактор InfoWorld | SEP 15, 2020

Стремясь удовлетворить корпоративные потребности в средах машинного обучения, Oracle открывает к своей библиотеке машинного обучения Tribuo Java бесплатный доступ под лицензией с открытым исходным кодом.

Oracle использует Tribuo как средство упростить создание и развертывание моделей машинного обучения на Java, подобно тому, как это уже произошло с Python. Выпущенный под лицензией Apache 2.0 и разработанный Oracle Labs, Tribuo доступен с GitHub и Maven Central.

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

Модель Tribuo распознает когда встречается с новой характеристикой, что особенно полезно при обработке естественного языка. Модели знают, что такое выводы, причем выводы строго типизированы (strongly typed). Разработчикам не приходится гадать, является ли плавающая величина вероятностью, регрессированной величиной или идентификатором (ID) кластера. В Tribuo каждая из них относится к отдельному типу; модель может описывать известные ей типы и диапазоны. Использование строго типизированных входов и выводов означает, что Tribuo может отслеживать процесс построения модели, начиная с момента загрузки данных через разделение трейнеров/тестов или преобразования наборов данных до обучения и оценки модели. Эти маркеры сохраняются во всех моделях и оценках.

Система информации о происхождении Tribuo может генерировать конфигурацию, которая перестраивает обучающий конвейер для воспроизведения модели или оценки. Кроме того, измененная модель может быть построена на новых данных или гиперпараметрах. Таким образом, пользователи всегда знают, что из себя представляет модель Tribuo, откуда она взялась и как ее создать.

С точки зрения Oracle, Tribuo заполняет пробел на рынке машинного обучения для корпоративных приложений. Например, в то время как созданная Google библиотека TensorFlow включает основные алгоритмы глубокого обучения, Tribuo предоставляет несколько алгоритмов машинного обучения, часть которых представлена в TensorFlow, а часть — нет, а кроме того, Tribuo обеспечивает интерфейс для TensorFlow, как сказал Adam Pocock, главный представитель технического персонала лабораторий Oracle. И в отличие от аналитического движка Apache Spark, предназначенного для больших распределенных систем, Tribuo подходит для меньших объемов вычислений, которые могут производиться на одной машине, заметил Pocock.

В дополнение к TensorFlow Tribuo предоставляет интерфейсы для XGBoost и среды выполнения ONNX, позволяя моделям в формате ONNX или обученным в TensorFlow и XGBoost развертываться вместе с собственными моделями Tribuo. Поддержка формата модели ONNX позволяет развертывать на Java модели, обученные с использованием популярных библиотек Python, таких как PyTorch.

Tribuo работает на Java начиная с 8-й версии. Oracle принимает написанный код для Tribuo в соответствии с собственным Соглашением с участником. Tribuo уже используется внутри Oracle в продукте Fusion Cloud ERP, например, для интеллектуального распознавания документов.

Оригинал

Перевод Академии Progwards