2020.09.16

오라클, 자바 머신러닝 라이브러리 ‘트리뷰오’ 오픈소스로 공개

Paul Krill | InfoWorld
‘트리뷰오(Tribuo)’는 텐서플로우(TensorFlow), 엑스지부스트(XGBoost), ONNX(Open Neural Network Exchange)를 위한 인터페이스와 함께 자바로 분류, 클러스터링, 회귀 모델을 구축하고 배포하는 툴을 제공한다. 

15일(현지 시각) 오라클이 자바 머신러닝 라이브러리 ‘트리뷰오(Tribuo)’를 오픈소스 라이선스로 무료 제공한다고 발표했다. 머신러닝과 관련한 기업들의 니즈를 충족시키기 위해서다.
 
ⓒGetty Images
 
오라클의 목표는 트리뷰오를 통해 자바에서 머신러닝 모델을 더욱더 쉽게 구축하고 배포하도록 하는 것이다. 아파치 2.0(Apache 2.0) 라이선스 기반 오픈소스이며, 오라클 랩스(Oracle Labs)가 개발한 트리뷰오는 현재 기트허브(GitHub)메이븐 센트럴(Maven Central)에서 액세스할 수 있다. 

트리뷰오는 분류, 클러스터링, 이상 탐지, 회귀 알고리즘 등의 표준 머신러닝 기능들을 제공한다. 데이터 로딩 및 전환용 파이프라인도 포함돼 있으며, 지원되는 예측 작업에 관한 일련의 평가 기능도 제공한다. 

트리뷰오는 입력 관련 통계를 수집한다. 이에 따라 각 입력의 범위 등을 설명할 수 있다. 또 기능의 이름을 지정해 내부의 기능 및 출력 ID 관리함으로써 모델 연결(chaining models), 데이터 로딩(loading data) 등의 작업에서 ID 충돌과 혼동을 방지한다.

트리뷰오 모델은 기능을 처음부터 알 수 있다. 다시 말해, 이 모델은 출력 타입을 바꿀 수 없는 강타입(Strongly typed)이므로 무엇이 출력되는지 알 수 있다. 개발자는 플로트(float)가 확률인지, 회귀된 값인지 또는 클러스터 ID인지에 관해 의문을 가질 필요가 없다. 트리뷰오에서는 이들 각각이 별도의 타입이다. 이 모델은 타입과 범위를 설명할 수 있다. 이는 특히 자연어 처리(NLP) 작업에서 유용하다.

강타입의 입력 및 출력을 사용한다는 것은 트리뷰오가 학습(train)/검증(test) 분할 또는 데이터세트 변환을 통해 로드된 포인트 데이터부터 모델 학습, 검증 데이터세트 평가까지 모델 구축 프로세스를 추적할 수 있다는 의미다. 이 추적(또는 출처 파악) 데이터는 모든 모델 및 평가에 적용된다. 

트리뷰오의 출처 파악(provenance) 시스템은 단순하게 프로덕션 모델을 추적하는 것 그 이상이다. 이 시스템은 모델 혹은 평가를 재현하기 위해 학습 파이프라인을 재구축하는 구성을 생성할 수 있다. 또한 수정된 모델은 새로운 데이터나 하이퍼 파라미터를 기반으로 구축될 수 있다. 따라서 사용자는 트리뷰오 모델이 무엇인지, 어디서 왔는지 그리고 필요한 경우 어떻게 다시 만드는지를 항상 알 수 있다. 

오라클은 트리뷰오가 엔터프라이즈 애플리케이션용 머신러닝 분야에서 발생하는 격차를 해소해 줄 것이라고 내다봤다. 오라클 랩스의 수석 기술 담당자 아담 포콕은 공식 블로그에서 “이를테면 구글 텐서플로우는 딥러닝용 핵심 알고리즘만 제공한다. 하지만 트리뷰오는 몇 가지 알고리즘을 제공한다. 그중 일부는 텐서플로우에도 있는 것이고, 일부는 그렇지 않다. 또한 텐서플로우를 위한 인터페이스도 제공한다”라고 설명했다. 

이어서 그는 “아파치 스파크 애널리틱스 엔진은 대규모 분산형 시스템을 위한 것이지만 트리뷰오는 단일 머신에도 적용할 수 있는 소규모 연산용이다”라고 덧붙였다. 

텐서플로우 외에도 트리뷰오는 엑스지부스트 및 ONNX 런타임을 위한 인터페이스를 제공한다. 따라서 ONNX 포맷으로 저장되거나 텐서플로우 및 엑스지부스트로 학습된 모델을 기본 트리뷰오 모델과 함께 배포할 수 있다. ONNX 모델 포맷 지원을 통해 파이토치(PyTorch)와 같은 인기 있는 파이썬 라이브러리를 사용하여 학습된 모델을 자바로 배포할 수도 있다. 

트리뷰오는 자바로 작성됐으며 자바 8(Java 8) 버전 이상에서 실행된다. 오라클은 오라클 컨트리뷰터 계약(OCA)에 따라 트리뷰오에 관한 코드 기여를 허용한다. 한편 트리뷰오는 오라클 내부적으로 이미 지능형 문서 인식을 위해 퓨전 클라우드 ERP(Fusion Cloud ERP) 제품군에서 사용된 바 있다. ciokr@idg.co.kr



2020.09.16

오라클, 자바 머신러닝 라이브러리 ‘트리뷰오’ 오픈소스로 공개

Paul Krill | InfoWorld
‘트리뷰오(Tribuo)’는 텐서플로우(TensorFlow), 엑스지부스트(XGBoost), ONNX(Open Neural Network Exchange)를 위한 인터페이스와 함께 자바로 분류, 클러스터링, 회귀 모델을 구축하고 배포하는 툴을 제공한다. 

15일(현지 시각) 오라클이 자바 머신러닝 라이브러리 ‘트리뷰오(Tribuo)’를 오픈소스 라이선스로 무료 제공한다고 발표했다. 머신러닝과 관련한 기업들의 니즈를 충족시키기 위해서다.
 
ⓒGetty Images
 
오라클의 목표는 트리뷰오를 통해 자바에서 머신러닝 모델을 더욱더 쉽게 구축하고 배포하도록 하는 것이다. 아파치 2.0(Apache 2.0) 라이선스 기반 오픈소스이며, 오라클 랩스(Oracle Labs)가 개발한 트리뷰오는 현재 기트허브(GitHub)메이븐 센트럴(Maven Central)에서 액세스할 수 있다. 

트리뷰오는 분류, 클러스터링, 이상 탐지, 회귀 알고리즘 등의 표준 머신러닝 기능들을 제공한다. 데이터 로딩 및 전환용 파이프라인도 포함돼 있으며, 지원되는 예측 작업에 관한 일련의 평가 기능도 제공한다. 

트리뷰오는 입력 관련 통계를 수집한다. 이에 따라 각 입력의 범위 등을 설명할 수 있다. 또 기능의 이름을 지정해 내부의 기능 및 출력 ID 관리함으로써 모델 연결(chaining models), 데이터 로딩(loading data) 등의 작업에서 ID 충돌과 혼동을 방지한다.

트리뷰오 모델은 기능을 처음부터 알 수 있다. 다시 말해, 이 모델은 출력 타입을 바꿀 수 없는 강타입(Strongly typed)이므로 무엇이 출력되는지 알 수 있다. 개발자는 플로트(float)가 확률인지, 회귀된 값인지 또는 클러스터 ID인지에 관해 의문을 가질 필요가 없다. 트리뷰오에서는 이들 각각이 별도의 타입이다. 이 모델은 타입과 범위를 설명할 수 있다. 이는 특히 자연어 처리(NLP) 작업에서 유용하다.

강타입의 입력 및 출력을 사용한다는 것은 트리뷰오가 학습(train)/검증(test) 분할 또는 데이터세트 변환을 통해 로드된 포인트 데이터부터 모델 학습, 검증 데이터세트 평가까지 모델 구축 프로세스를 추적할 수 있다는 의미다. 이 추적(또는 출처 파악) 데이터는 모든 모델 및 평가에 적용된다. 

트리뷰오의 출처 파악(provenance) 시스템은 단순하게 프로덕션 모델을 추적하는 것 그 이상이다. 이 시스템은 모델 혹은 평가를 재현하기 위해 학습 파이프라인을 재구축하는 구성을 생성할 수 있다. 또한 수정된 모델은 새로운 데이터나 하이퍼 파라미터를 기반으로 구축될 수 있다. 따라서 사용자는 트리뷰오 모델이 무엇인지, 어디서 왔는지 그리고 필요한 경우 어떻게 다시 만드는지를 항상 알 수 있다. 

오라클은 트리뷰오가 엔터프라이즈 애플리케이션용 머신러닝 분야에서 발생하는 격차를 해소해 줄 것이라고 내다봤다. 오라클 랩스의 수석 기술 담당자 아담 포콕은 공식 블로그에서 “이를테면 구글 텐서플로우는 딥러닝용 핵심 알고리즘만 제공한다. 하지만 트리뷰오는 몇 가지 알고리즘을 제공한다. 그중 일부는 텐서플로우에도 있는 것이고, 일부는 그렇지 않다. 또한 텐서플로우를 위한 인터페이스도 제공한다”라고 설명했다. 

이어서 그는 “아파치 스파크 애널리틱스 엔진은 대규모 분산형 시스템을 위한 것이지만 트리뷰오는 단일 머신에도 적용할 수 있는 소규모 연산용이다”라고 덧붙였다. 

텐서플로우 외에도 트리뷰오는 엑스지부스트 및 ONNX 런타임을 위한 인터페이스를 제공한다. 따라서 ONNX 포맷으로 저장되거나 텐서플로우 및 엑스지부스트로 학습된 모델을 기본 트리뷰오 모델과 함께 배포할 수 있다. ONNX 모델 포맷 지원을 통해 파이토치(PyTorch)와 같은 인기 있는 파이썬 라이브러리를 사용하여 학습된 모델을 자바로 배포할 수도 있다. 

트리뷰오는 자바로 작성됐으며 자바 8(Java 8) 버전 이상에서 실행된다. 오라클은 오라클 컨트리뷰터 계약(OCA)에 따라 트리뷰오에 관한 코드 기여를 허용한다. 한편 트리뷰오는 오라클 내부적으로 이미 지능형 문서 인식을 위해 퓨전 클라우드 ERP(Fusion Cloud ERP) 제품군에서 사용된 바 있다. ciokr@idg.co.kr

X