Offcanvas

How To / 개발자 / 머신러닝|딥러닝 / 애플리케이션 / 오픈소스

‘머신러닝을 쉽게’··· 추천 오픈소스 도구 14선

2020.09.25 Serdar Yegulalp  |  InfoWorld


그라디오
ML 애플리케이션을 구축할 때 공통적인 한 가지 과제는 모델 훈련 및 예측 제공 매커니즘을 위해 쉽게 구성되는 강력한 UI를 구축하는 일이다. 그라디오(Gradio)는 사용자가 본인의 모델과 실시간으로 상호 작용할 수 있게 해주는 웹 기반 UI를 만들기 위한 도구를 제공한다. 

인셉션 V3 이미지 분류기 또는 MNIST 필적 인식 모델에 대한 입력 인터페이스와 같은 샘플 프로젝트가 여러 개 포함되어 있어서, 사용자는 본인의 프로젝트에 어떻게 그라디오를 활용할 수 있을지에 대한 아이디어를 얻을 수 있다.

H2O
세 번째 주요 개정판까지 등장한 H2O는 훈련에서부터 예측 제공에 이르기까지 인메모리 ML을 위한 전체 플랫폼을 제공한다. H2O의 알고리즘은 이를테면 이미지 분석보다는 사기 또는 동향 예측과 같은 비즈니스 프로세스를 위한 것이다. H2O는YARN 위에서, 맵리듀스에서 또는 아마존 EC2 인스턴스에서 직접 HDFS 스토어와 독립적인 방식으로 상호작용할 수 있다.

하둡 전문가들은 자바를 사용해 H2O와 상호작용할 수 있지만 이 프레임워크는 파이썬, R, 스칼라를 대상으로 한 결합도 제공한다. 즉, 해당 플랫폼에서 이용 가능한 모든 라이브러리와의 상호작용도 가능해진다. 또한, 거의 대부분의 파이프라인에 H2O를 통합시킬 수단으로서 REST 콜을 사용할 수도 있다.

오릭스
클라우데라 하둡 디스트리뷰션(Cloudera Hadoop Distribution(CHD))을 만든 사람들이 제공하는 오릭스(Oryx)는 아파치 스파크와 아파치 카프카(Apache Kafka)를 사용해 ML모델을 실시간 데이터에 실행한다. 

오릭스는 추천 엔진이나 실시간 이상 탐지와 같이 당장 의사결정이 필요한 프로젝트, 즉, 신규 데이터는 물론 과거 데이터로부터 정보를 제공받는 프로젝트를 구축하는 수단을 제공한다. 버전 2.0은 프로젝트를 거의 완벽하게 재설계한 것으로서, 그 구성 요소가 람다(lambda) 아키텍처에 느슨하게 결합되어 있다. 새로운 알고리즘과 그 알고리즘에 대한 새로운 추상화(예: 하이퍼파라미터 선택 목적)는 언제든지 추가할 수 있다.

파이토치 라이트닝
강력한 프로젝트가 인기를 얻게 되면, 그 프로젝트를 사용하기 수월하게 해 주는 써드파티 프로젝트들로 보완되는 경우가 많다. 파이토치 라이트닝(PyTorch Lightning)은 파이토치용 조직 래퍼(organizational wrapper for PyTorch)를 제공한다. 따라서, 프로젝트마다 상용구 코드를 작성하는 대신 중요한 코드에 집중할 수 있다.

라이트닝 프로젝트는 클래스 기반 구조를 사용한다. 따라서, 파이토치 프로젝트에 공통적인 각각의 단계는 클래스 메소드에 압축되어 있다. 훈련과 검증 루프는 반자동화 되어 있다. 따라서, 각 단계에 본인의 로직만 제공하면 된다. 또한, 훈련 결과를 여러 개의 GPU나 서로 다른 하드웨어 혼합체에서 설정하기가 더 쉽다. 왜냐하면 그렇게 하기 위한 명령이나 객체 참조가 중앙 집중화되어 있기 때문이다.

사이킷런
파이썬은 채택하기 쉽고 거의 모든 애플리케이션에 사용 가능한 라이브러리의 폭이 넓기 때문에 수학, 과학, 통계학 분야에서 믿고 찾는 프로그래밍 언어로 자리잡았다. 사이킷런(Scikit-learn)은 이러한 폭 넓음을 활용하기 위해 기존의 수학 및 과학 작업용 파이썬 패키지(예: 넘파이(NumPy), 사이파이, 맷플롯립(Matplotlib))를 바탕으로 구축된다. 

그 결과 생긴 라이브러리는 대화형 ‘워크벤치’ 애플리케이션에 사용되거나 다른 소프트웨어 내에 포함되어 재사용될 수 있다. 키트는 BSD 라이센스 하에서 사용할 수 있다. 따라서 완전히 개방적이고 재사용 가능하다.

쇼군
쇼군(Shogun)은 여기에 소개된 것 중에서 가장 오래 살아남은 프로젝트 가운데 하나이다. 1999년에 만들어졌고 C++로 작성되었지만 자바, 파이썬, C#, 루비(Ruby), R, 루아(Lua), 옥타브(Octave), 맷랩(Matlab)과 함께 사용 가능하다. 최신 주요 버전인 6.0.0은 마이크로소프트 윈도우와 스칼라 언어를 위한 네이티브 지원을 추가한다.

인기가 많고 범위도 넓지만 쇼군에게는 경쟁자가 있다. 또 다른 C++ 기반 ML 라이브러리인 mlpack이 등장한 것은 2011년에 불과하지만 경쟁 라이브러리보다 빠르고 (좀 더 완전한 API 세트를 통해) 작업하기 쉽다고 스스로 주장하고 있다.

스파크 MLlib
아파치 스파크와 아파치 하둡용 ML 라이브러리인 MLlib은 속도와 규모 있게 실행하도록 설계된 유용한 데이터 유형과 많은 일반 알고리즘을 자랑한다. MLlib에서의 작업에 기본 언어는 자바이지만, 파이썬 사용자는 MLlib를 넘파이 라이브러리와 연결할 수 있고, 스칼라 사용자는 MLlib에 대해 코드를 작성할 수 있으며, R 사용자들은 현재 버전 1.5의 스파크에 플러그인 할 수 있다. MLlib 버전 3은 (구형 RDD API 대신) 스파크의 데이터프레임 API 사용에 집중하며, 새로운 분류 및 평가 기능을 많이 제공한다.

또 다른 프로젝트인 MLbase는 MLlib 위에 구축되어 결과 도출을 수월하게 만들어 준다. 사용자는 코드를 작성하는 대신 SQL 풍의 선언형 언어를 통해 질의를 만든다.

웨카
와이카토 대학교 ML그룹에서 만든 웨카(Weka)는 ‘프로그래밍 없는 ML’이라고 일컬어진다. 일종의 GUI 워크벤치로서 데이터 랭글러로 하여금 코드를 작성할 필요 없이 예측 기능을 실행하고, 모델을 훈련시키고, ML파이프라인을 모을 수 있게 해 준다. 

웨카는 R, 아파치 스파크, 파이썬과 직접 연동되는데, 이 중에서 후자는 넘파이, 판다스, 사이파이, 사이킷런과 같은 일반적인 수치 라이브러리를 위한 인터페이스를 통하거나 직접적인 래퍼를 통해 연동된다. 웨카의 큰 장점은 패키지 관리, 사전 처리, 분류, 시각화 등 작업의 모든 측면에 브라우징 가능하고 친화적인 인터페이스를 제공한다는 점이다. ciokr@idg.co.kr

CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.