Oracle 오픈 소스 Java 기계 학습 라이브러리

기계 학습 공간에서 기업의 요구 사항을 충족하기 위해 Oracle은 Tribuo Java 기계 학습 라이브러리를 오픈 소스 라이선스에 따라 무료로 제공하고 있습니다.

Oracle은 Tribuo를 통해 이미 Python에서 발생한 것과 유사한 Java로 기계 학습 모델을보다 쉽게 ​​구축하고 배포 할 수 있도록하는 것을 목표로합니다. Apache 2.0 라이선스로 출시되고 Oracle Labs에서 개발 한 Tribuo는 GitHub 및 Maven Central에서 액세스 할 수 있습니다.

Tribuo는 분류, 클러스터링, 이상 탐지 및 회귀 알고리즘을 포함한 표준 기계 학습 기능을 제공합니다. Tribuo에는 데이터로드 및 변환을위한 파이프 라인도 포함되어 있으며 지원되는 예측 작업에 대한 일련의 평가를 제공합니다. Tribuo는 입력에 대한 통계를 수집하기 때문에 Tribuo는 예를 들어 각 입력의 범위를 설명 할 수 있습니다. 또한 기능의 이름을 지정하고 내부에서 기능 ID 및 출력 ID를 관리하여 모델을 연결하고 데이터를로드하고 입력을 특징화할 때 ID 충돌과 혼동을 방지합니다.

Tribuo 모델은 기능이 처음으로 표시되는시기를 알고 있으며, 이는 자연어 처리로 작업 할 때 특히 유용합니다. 모델은 출력이 무엇인지 알고 있으며 출력은 강력한 형식입니다. 개발자는 float가 확률, 회귀 된 값 또는 클러스터 ID인지 궁금해 할 필요가 없습니다. Tribuo에서는 이들 각각이 별도의 유형입니다. 모델은 자신이 알고있는 유형과 범위를 설명 할 수 있습니다. 강력한 형식의 입력 및 출력을 사용한다는 것은 Tribuo가 학습 / 테스트 분할 또는 데이터 세트 변환을 통해로드 된 포인트 데이터부터 모델 학습 및 평가에 이르기까지 모델 구성 프로세스를 추적 할 수 있음을 의미합니다. 이 추적 데이터는 모든 모델 및 평가에 적용됩니다.

Tribuo 출처 시스템은 모델 또는 평가를 재현하기 위해 훈련 파이프 라인을 재 구축하는 구성을 생성 할 수 있습니다. 또한 새로운 데이터 또는 하이퍼 파라미터를 기반으로 조정 된 모델을 구축 할 수 있습니다. 따라서 사용자는 항상 Tribuo 모델이 무엇인지, 어디에서 왔는지, 어떻게 만드는지 알고 있습니다.

오라클은 Tribuo가 엔터프라이즈 애플리케이션을위한 머신 러닝 시장의 격차를 메우고 있다고보고 있습니다. 예를 들어 Google에서 구축 한 TensorFlow 라이브러리는 딥 러닝을위한 핵심 알고리즘을 제공하는 반면, Tribuo는 몇 가지 기계 학습 알고리즘을 제공하는데, 그중 일부는 TensorFlow에 있고 일부는 그렇지 않은 반면 TensorFlow에 대한 인터페이스도 제공한다고 Oracle의 Adam Pocock은 말했습니다. Oracle Labs 기술 직원의 주요 구성원. 그리고 Apache Spark 분석 엔진은 대규모 분산 시스템 용인 반면 Tribuo는 단일 머신에 들어갈 수있는 더 작은 계산을위한 것이라고 Pocock은 말했습니다.

TensorFlow 외에도 Tribuo는 XGBoost 및 ONNX 런타임에 대한 인터페이스를 제공하여 ONNX 형식으로 저장되거나 TensorFlow 및 XGBoost로 훈련 된 모델을 기본 Tribuo 모델과 함께 배포 할 수 있습니다. ONNX 모델 형식에 대한 지원을 통해 PyTorch와 같은 인기있는 Python 라이브러리를 사용하여 학습 된 모델을 Java로 배포 할 수 있습니다.

Tribuo는 Java 8 이상에서 실행됩니다. Oracle은 Oracle Contributor Agreement에 따라 Tribuo에 대한 코드 기여를 수락합니다. Tribuo는 예를 들어 지능형 문서 인식을 위해 Fusion Cloud ERP 제품에서 Oracle 내부적으로 이미 사용되었습니다.