맨위로가기

아파치 머하웃

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

아파치 머하웃은 스칼라 기반의 도메인 특화 언어인 삼사라(Samsara)를 제공하여 R과 유사한 구문으로 알고리즘을 표현할 수 있게 해주는 오픈 소스 머신 러닝 라이브러리이다. 아파치 스파크를 사용하여 개발되었으며, GPU/CPU 가속을 지원하고, 추천 엔진을 포함한다. 2014년부터 MapReduce 알고리즘 지원을 중단하고, 백엔드 독립적인 프로그래밍 환경 구축에 초점을 맞추어 개발되었다.

더 읽어볼만한 페이지

  • 빅 데이터 제품 - 빅쿼리
    빅쿼리는 구글의 데이터 분석 서비스로, 드레멜을 기반으로 수조 행의 데이터에 대한 빠른 쿼리를 가능하게 하며, 데이터 관리, 쿼리 실행, 서비스 통합, 접근 제어, 기계 학습 기능을 제공한다.
  • 빅 데이터 제품 - SAP HANA
    SAP HANA는 SAP SE에서 개발한 인메모리, 컬럼 지향 데이터베이스 관리 시스템으로, 빠른 데이터 처리 속도를 기반으로 온라인 트랜잭션 처리와 온라인 분석 처리를 단일 플랫폼에서 지원하며, SAP S/4HANA 등 다양한 SAP 애플리케이션 실행에 사용되고 클라우드 및 온프레미스 환경에 배포 가능하다.
  • 하둡 - 아파치 하둡
    아파치 하둡은 대용량 데이터를 분산 처리하기 위한 자바 기반의 오픈 소스 프레임워크로, HDFS, 맵리듀스, YARN 등의 모듈로 구성되어 클라우드 환경에서도 사용된다.
  • 하둡 - 맵리듀스
    맵리듀스는 대용량 데이터 처리를 위해 구글에서 개발한 프로그래밍 모델이자 프레임워크로, Map과 Reduce 함수를 사용하여 데이터를 병렬 처리하며 하둡 등의 오픈 소스 구현을 통해 널리 쓰인다.
  • 기계 학습 및 데이터 마이닝 소프트웨어 - GNU 옥타브
    GNU 옥타브는 MATLAB과 높은 호환성을 가지며 수치 해석 계산을 위해 사용되는 자유-오픈 소스 소프트웨어이다.
  • 기계 학습 및 데이터 마이닝 소프트웨어 - SAS (소프트웨어)
    SAS는 통계 분석, 데이터 마이닝, 예측 모델링 기능을 제공하는 소프트웨어 제품군으로, 농업 데이터 분석을 위해 개발되어 다양한 산업 분야에서 활용되고 있으며 인공지능 및 머신러닝 분야로 투자를 확대하고 있다.
아파치 머하웃 - [IT 관련 정보]에 관한 문서
기본 정보
아파치 머하웃 로고
개발자아파치 소프트웨어 재단
최신 릴리스 버전14.1
최신 릴리스 날짜2020년 10월 7일
저장소Mahout Repository
운영체제크로스 플랫폼
프로그래밍 언어자바, 스칼라
장르기계 학습
라이선스아파치 라이선스 2.0
웹사이트아파치 머하웃 웹사이트
출시일2009년 4월 7일
개요
설명확장 가능한 기계 학습 및 데이터 마이닝
추가 정보
참고 자료Introducing Apache Mahout
InfoQ: Apache Mahout: Highly Scalable Machine Learning Algorithms
Algorithms - Apache Mahout - Apache Software Foundation

2. 특징

2. 1. 삼사라(Samsara)

아파치 머하웃-삼사라는 사용자가 기존의 스칼라 방식의 구문 대신 R과 유사한 구문을 사용할 수 있게 해주는 스칼라 도메인 특화 언어(DSL)이다. 이를 통해 사용자는 알고리즘을 간결하고 명확하게 표현할 수 있다.

```scala

val G = B %*% B.t - C - C.t + (ksi dot ksi) * (s_q cross s_q)

2. 2. 백엔드 독립성(Backend Agnostic)

아파치 머하웃의 코드는 실행 엔진으로부터 도메인 특화 언어를 추상화한다. 활발한 개발은 아파치 스파크 엔진을 사용하여 이루어지지만, 사용자는 자신이 선택한 어떠한 엔진이라도 자유롭게 구현할 수 있다. 과거에는 H2O와 아파치 플링크가 구현되었으며, 코드 베이스에 예시가 존재한다.

2. 3. GPU/CPU 가속

JVM은 계산 속도가 느리기로 악명이 높다.[6] 속도 향상을 위해 "네이티브 솔버"가 추가되었으며, 이를 통해 코어 내, 더 나아가 분산 BLAS 연산을 JVM 외부로 이동시켜 여러 CPU 및/또는 CPU 코어, 또는 [https://viennacl.sourceforge.net ViennaCL] 라이브러리에 맞춰 빌드된 경우 GPU를 통해 처리하기 위해 힙 외부 또는 GPU 메모리에 오프로딩한다.[6] ViennaCL은 OpenMP와 OpenCL로 구현된 BLAS 연산을 갖춘 고도로 최적화된 C++ 라이브러리이다.[6] 릴리스 14.1부터 OpenMP 빌드는 안정적인 것으로 간주되며, OpenCL 빌드는 여전히 실험적인 POC 단계에 있다.[6]

2. 4. 추천 엔진

아파치 머하웃은 교대 최소 제곱, 동시 발생, 상관 동시 발생 알고리즘을 구현한다. 머하웃 고유의 추천 알고리즘으로, 동시 발생을 확장하여 데이터의 여러 차원에서 사용할 수 있도록 한 기능을 제공한다.

3. 역사

wikitable

아파치 머하웃 출시 역사
버전출시일비고
0.12009-04-07
0.22009-11-18
0.32010-03-17
0.42010-10-31
0.52011-05-27
0.62012-02-06
0.72012-05-16
0.82013-07-25
0.92014-02-01
0.10.02015-04-11삼사라 DSL(Samsara DSL)
0.10.12015-05-31
0.10.22015-08-06
0.11.02015-08-07
0.11.12015-11-06
0.11.22016-03-11
0.12.02016-04-11아파치 플링크 엔진 추가
0.12.12016-05-19
0.12.22016-06-13
0.13.02017-04-17
0.14.02019-03-07소스 전용 (바이너리 없음)
14.12020-10-07


3. 1. 맵리듀스에서 아파치 스파크로 전환

머하웃의 핵심 알고리즘인 클러스터링, 분류 및 배치 기반 협업 필터링은 맵/리듀스 패러다임을 사용하여 하둡 위에 구현되었다.[7][8][9] 하지만, 하둡 기반 구현에 대한 기여만 허용된 것은 아니며, 단일 노드 또는 비 하둡 클러스터에서 실행되는 기여도 허용되었다. 예를 들어, 머하웃의 'Taste' 협업 필터링 추천 구성 요소는 원래 별도의 프로젝트였으며 하둡 없이도 독립적으로 실행될 수 있었다.

2014년부터 MapReduce 알고리즘에 대한 지원은 점진적으로 중단되기 시작했다.[10] 버전 0.10.0부터 "Samsara"라는 코드명으로, 백엔드 독립적인 프로그래밍 환경 구축에 초점을 맞추었다. 이 환경은 대수적 백엔드 독립적 최적화 도구와 인 메모리 및 분산 대수적 연산자를 통합하는 대수적 Scala DSL로 구성된다. 지원되는 대수적 플랫폼은 아파치 스파크 등이 있다.

3. 2. 출시 역사

wikitable

아파치 머하웃 출시 역사
버전출시일비고
0.12009-04-07
0.22009-11-18
0.32010-03-17
0.42010-10-31
0.52011-05-27
0.62012-02-06
0.72012-05-16
0.82013-07-25
0.92014-02-01
0.10.02015-04-11삼사라 DSL(Samsara DSL)
0.10.12015-05-31
0.10.22015-08-06
0.11.02015-08-07
0.11.12015-11-06
0.11.22016-03-11
0.12.02016-04-11아파치 플링크(Apache Flink) 엔진 추가
0.12.12016-05-19
0.12.22016-06-13
0.13.02017-04-17
0.14.02019-03-07소스 전용 (바이너리 없음)
14.12020-10-07


3. 3. 개발자

아파치 머하웃은 커뮤니티에 의해 개발된다. 이 프로젝트는 "프로젝트 관리 위원회(PMC)"라는 그룹에 의해 관리된다. 현재 PMC는 앤드루 머스먼, 앤드루 팔룸보, 드류 패리스, 이자벨 드로스트-프롬, 제이크 매닉스, 팻 페렐, 파리토시 란잔, 트레버 그랜트, 로빈 아닐, 세바스찬 쉘터, 스테보 슬라비치이다.

참조

[1] 웹사이트 Apache Mahout: Scalable machine learning and data mining https://mahout.apach[...] 2019-03-06
[2] 웹사이트 Apache Mahout: First release 0.1 released http://mail-archives[...]
[3] 웹사이트 Introducing Apache Mahout http://www.ibm.com/d[...] 2011-09-13
[4] 웹사이트 InfoQ: Apache Mahout: Highly Scalable Machine Learning Algorithms http://www.infoq.com[...] 2011-09-13
[5] 웹사이트 Algorithms - Apache Mahout - Apache Software Foundation https://web.archive.[...] 2011-09-13
[6] 웹사이트 Extending Mahout Samsara to GPU Clusters https://web.archive.[...] 2020-10-29
[7] 웹사이트 Mahout-Samsara's In-Core Linear Algebra DSL Reference https://web.archive.[...] 2016-02-29
[8] 웹사이트 Mahout-Samsara's Distributed Linear Algebra DSL Reference https://web.archive.[...] 2016-02-29
[9] 웹사이트 Mahout 0.10.x: first Mahout release as a programming environment https://web.archive.[...] 2016-02-29
[10] 웹사이트 MAHOUT-1510 ("Good-bye MapReduce") https://issues.apach[...]
[11] 웹사이트 Apache Committee Information https://projects.apa[...]
[12] 웹사이트 Introducing Apache Mahout http://www.ibm.com/d[...] 2011-09-13
[13] 웹사이트 InfoQ: Apache Mahout: Highly Scalable Machine Learning Algorithms http://www.infoq.com[...] 2011-09-13
[14] 웹사이트 Algorithms - Apache Mahout - Apache Software Foundation https://cwiki.apache[...] 2011-09-13
[15] 웹인용 Apache Mahout: Scalable machine learning and data mining https://mahout.apach[...] 2019-03-06
[16] 웹인용 Introducing Apache Mahout http://www.ibm.com/d[...] 2011-09-13
[17] 웹인용 InfoQ: Apache Mahout: Highly Scalable Machine Learning Algorithms http://www.infoq.com[...] 2011-09-13
[18] 웹인용 mahout : 네이버 영어사전 http://endic.naver.c[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com