오라클, 자바 머신러닝 라이브러리 ‘트리뷰오’ 오픈소스로 공개
오라클, 자바 머신러닝 라이브러리 ‘트리뷰오’ 오픈소스로 공개
  • 최창현 기자
  • 승인 2020.09.22 08:45
  • 댓글 0
이 기사를 공유합니다

라이브러리는 텐서플로우, 엑스지부스트 및 리브라인드등과 같은 인기있는 타사 머신러닝 라이브러리에 대한 통합 인터페이스를 제공하며, 네이티브 코드에 대한 인터페이스를 통해 파이썬 라이브러리(예, 스키킷-런, 파이토치)에서 학습된 모델을 자바로 배포할 수도 있다.
이미지:오라클 AI

오라클이 자바 머신러닝 라이브러리 ‘트리뷰오(Tribuo)’를 오픈 소스로 지난 15일 공개했다. 트리뷰오는 분류, 회귀, 클러스터링, 이상 탐지, 모델 개발 등의 기능들을 제공한다.

라이브러리는 텐서플로우, 엑스지부스트(xgboost) 및 리브라인드(liblinear) 등과 같은 인기있는 타사 머신러닝 라이브러리에 대한 통합 인터페이스를 제공하며, 네이티브 코드에 대한 인터페이스를 통해 파이썬(Python) 라이브러리[예, 스키킷-런(scikit-learn), 파이토치(pytorch)]에서 학습된 모델을 자바로 배포할 수도 있다. 또 데이터 로딩 및 전환용 파이프라인도 포함돼 있으며, 지원되는 예측 작업에 관한 일련의 평가 기능도 제공하고 있다.

오라클 랩스의 수석 기술 담당자 아담 포콕은 공식 블로그를 통해 "주어진 생산 모델이 어떻게 생성되었는지 추적하는 것은 다른 ML 라이브러리에서는 까다롭습니다. 모델이 학습 데이터 소스, 변환 또는 교육 알고리즘 하이퍼 파라미터를 저장하지 않기 때문입니다. 기존 모델 트레이닝 스크립트 위에 추적 코드를 계층화하는 라이브러리가 있지만, 우리는 이 정보가 모델(또는 평가) 자체에 내장되어야 한다고 생각합니다"라며, "즉, 이 학습 시간 정보는 모든 트리부오 모델에 저장된 모델 입력 및 출력에 대한 정보와 결합되어 자체 설명을 의미합니다"라고 말했다.

트리뷰오 로고 이미지

트리뷰오가 강하게 타이핑된 입력과 출력을 사용하는 것은, 트리뷰오에 로드된 포인트 데이터로부터, 트레인/시험 분할(Test splits)이나 데이터셋 변환을 통해 모델 학습(모든 하이퍼 파라미터 기록), 그리고 마지막으로 테스트 세트에 대한 평가까지 모델 구성 프로세스를 추적할 수 있다는 것을 의미한다. 이 추적(또는 증명) 정보는 모든 모델과 평가에서 적용된다.

트리뷰오의 증명 시스템은 단지 생산 중인 모델을 추적하는 것 이상의 것이다. 각 증명은 모델이나 평가를 재현하기 위해 훈련 파이프라인을 정확하게 재구성하거나(아직도 원래 데이터를 가지고 있다고 가정) 새로운 데이터나 새로운 하이퍼파라미터에 수정된 모델을 구축하는 구성을 생성할 수 있다. 이것은 트리부오 모델이 무엇인지, 어디서 왔는지, 필요하다면 어떻게 재현할 것인지 항상 알고 있다는 것을 의미한다.

트리뷰오의 검증 시스템은 단순히 생산 중인 모델을 추적하는 것 이상을 위한 것이다. 각 입증은 모델 또는 평가를 재현하거나(아직 원본 데이터가 있다고 가정할 때), 새로운 데이터나 새로운 하이퍼 파라미터에 수정된 모델을 구축하는 구성을 생성할 수 있다. 이것은 트리뷰오 모델이 무엇인지, 어디서 왔는지, 필요하다면 어떻게 재현할 것인지 항상 알고 있다는 것을 의미한다.

한편, 이 라이브러리는 아파치 라이선스 2.0(Apache License 2.0) 조건에 따라 깃허브(다운)를 통해 누구나 사용할 수 있다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.