Libreria di apprendimento automatico Java open source Oracle

Cercando di soddisfare le esigenze aziendali nello spazio del machine learning, Oracle sta rendendo la sua libreria di machine learning Java Tribuo disponibile gratuitamente con una licenza open source.

Con Tribuo, Oracle mira a semplificare la creazione e la distribuzione di modelli di machine learning in Java, in modo simile a quanto già accaduto con Python. Rilasciato con una licenza Apache 2.0 e sviluppato da Oracle Labs, Tribuo è accessibile da GitHub e Maven Central.

Tribuo fornisce funzionalità di machine learning standard, inclusi algoritmi per la classificazione, il clustering, il rilevamento di anomalie e la regressione. Tribuo include anche pipeline per il caricamento e la trasformazione dei dati e fornisce una suite di valutazioni per le attività di previsione supportate. Poiché Tribuo raccoglie le statistiche sugli input, Tribuo può descrivere l'intervallo di ciascun input, ad esempio. Assegna inoltre un nome alle funzionalità, gestendo gli ID delle funzionalità e gli ID di output sotto il cofano per evitare conflitti di ID e confusione durante il concatenamento di modelli, il caricamento dei dati e la definizione degli input.

Un modello Tribuo sa quando vede per la prima volta una funzionalità, particolarmente utile quando si lavora con l'elaborazione del linguaggio naturale. I modelli sanno cosa sono le uscite, con le uscite fortemente tipizzate. Gli sviluppatori non devono chiedersi se un float è una probabilità, un valore regredito o un ID cluster. Con Tribuo, ognuno di questi è un tipo separato; il modello può descrivere i tipi e gli intervalli di cui è a conoscenza. L'uso di input e output fortemente tipizzati significa che Tribuo può tenere traccia del processo di costruzione del modello, dal punto in cui i dati vengono caricati attraverso le suddivisioni del treno / test o le trasformazioni dei set di dati fino all'addestramento e alla valutazione del modello. Questi dati di tracciamento vengono inseriti in tutti i modelli e le valutazioni.

Il sistema di provenienza Tribuo può generare una configurazione che ricostruisce la pipeline di formazione per riprodurre il modello o la valutazione. Inoltre, un modello ottimizzato può essere costruito su nuovi dati o iperparametri. Così gli utenti sanno sempre cos'è un modello Tribuo, da dove proviene e come crearlo.

Oracle vede Tribuo colmare una lacuna nel mercato del machine learning per le applicazioni aziendali. Ad esempio, mentre la libreria TensorFlow creata da Google fornisce algoritmi di base per il deep learning, Tribuo fornisce diversi algoritmi di machine learning, alcuni dei quali sono in TensorFlow e altri no, fornendo anche un'interfaccia a TensorFlow, ha affermato Adam Pocock di Oracle, membro principale dello staff tecnico di Oracle Labs. E mentre il motore di analisi Apache Spark è per sistemi distribuiti di grandi dimensioni, Tribuo è per calcoli più piccoli che possono stare su una singola macchina, ha detto Pocock.

Oltre a TensorFlow, Tribuo fornisce interfacce a XGBoost e al runtime ONNX, consentendo ai modelli archiviati nel formato ONNX o addestrati in TensorFlow e XGBoost di essere distribuiti insieme ai modelli Tribuo nativi. Il supporto per il formato del modello ONNX consente la distribuzione in Java di modelli addestrati utilizzando librerie Python popolari come PyTorch.

Tribuo funziona su Java 8 o versioni successive. Oracle accetta contributi in codice a Tribuo in base all'accordo Oracle Contributor. Tribuo è già stato utilizzato internamente in Oracle nel prodotto Fusion Cloud ERP per il riconoscimento intelligente dei documenti, ad esempio.