Bibliothèque d'apprentissage automatique Java open-source d'Oracle

Cherchant à répondre aux besoins des entreprises dans le domaine de l'apprentissage automatique, Oracle rend sa bibliothèque d'apprentissage automatique Tribuo Java disponible gratuitement sous une licence open source.

Avec Tribuo, Oracle vise à faciliter la création et le déploiement de modèles d'apprentissage automatique en Java, comme ce qui s'est déjà produit avec Python. Publié sous licence Apache 2.0 et développé par Oracle Labs, Tribuo est accessible depuis GitHub et Maven Central.

Tribuo fournit des fonctionnalités d'apprentissage automatique standard, notamment des algorithmes de classification, de clustering, de détection d'anomalies et de régression. Tribuo comprend également des pipelines pour le chargement et la transformation des données et fournit une suite d'évaluations pour les tâches de prédiction prises en charge. Parce que Tribuo collecte des statistiques sur les entrées, Tribuo peut par exemple décrire la plage de chaque entrée. Il nomme également les fonctionnalités, gère les ID de fonctionnalité et les ID de sortie sous le capot pour éviter les conflits d'ID et la confusion lors du chaînage des modèles, du chargement des données et de la mise en valeur des entrées.

Un modèle Tribuo sait quand il voit une fonctionnalité pour la première fois, ce qui est particulièrement utile lorsque vous travaillez avec le traitement du langage naturel. Les modèles savent ce que sont les sorties, les sorties étant fortement typées. Les développeurs n'ont pas besoin de se demander si un flottant est une probabilité, une valeur régressée ou un ID de cluster. Avec Tribuo, chacun d'eux est un type distinct; le modèle peut décrire les types et les plages dont il a connaissance. L'utilisation d'entrées et de sorties fortement typées signifie que Tribuo peut suivre le processus de construction du modèle, depuis le chargement des données ponctuelles via des fractionnements train / test ou des transformations de jeux de données jusqu'à l'apprentissage et l'évaluation du modèle. Ces données de suivi sont intégrées à tous les modèles et évaluations.

Le système de provenance Tribuo peut générer une configuration qui reconstruit le pipeline de formation pour reproduire le modèle ou l'évaluation. En outre, un modèle modifié peut être construit sur de nouvelles données ou hyperparamètres. Ainsi, les utilisateurs savent toujours ce qu'est un modèle Tribuo, d'où il vient et comment le créer.

Oracle voit Tribuo combler une lacune sur le marché de l'apprentissage automatique pour les applications d'entreprise. Par exemple, alors que la bibliothèque TensorFlow construite par Google fournit des algorithmes de base pour l'apprentissage en profondeur, Tribuo fournit plusieurs algorithmes d'apprentissage automatique, dont certains sont dans TensorFlow et d'autres pas, tout en fournissant également une interface à TensorFlow, a déclaré Adam Pocock d'Oracle, membre principal du personnel technique d'Oracle Labs. Et alors que le moteur d'analyse Apache Spark est destiné aux grands systèmes distribués, Tribuo est destiné aux calculs plus petits pouvant tenir sur une seule machine, a déclaré Pocock.

En plus de TensorFlow, Tribuo fournit des interfaces avec XGBoost et le runtime ONNX, permettant aux modèles stockés au format ONNX ou formés à TensorFlow et XGBoost d'être déployés aux côtés de modèles Tribuo natifs. La prise en charge du format de modèle ONNX permet le déploiement en Java de modèles entraînés à l'aide de bibliothèques Python populaires telles que PyTorch.

Tribuo fonctionne sur Java 8 ou version ultérieure. Oracle accepte les contributions de code à Tribuo dans le cadre du contrat de contribution d'Oracle. Tribuo a déjà été utilisé en interne chez Oracle dans le produit Fusion Cloud ERP pour la reconnaissance intelligente de documents, par exemple.