아파치 머하웃
"오늘의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.1 | 2009-04-07 | |
0.2 | 2009-11-18 | |
0.3 | 2010-03-17 | |
0.4 | 2010-10-31 | |
0.5 | 2011-05-27 | |
0.6 | 2012-02-06 | |
0.7 | 2012-05-16 | |
0.8 | 2013-07-25 | |
0.9 | 2014-02-01 | |
0.10.0 | 2015-04-11 | 삼사라 DSL(Samsara DSL) |
0.10.1 | 2015-05-31 | |
0.10.2 | 2015-08-06 | |
0.11.0 | 2015-08-07 | |
0.11.1 | 2015-11-06 | |
0.11.2 | 2016-03-11 | |
0.12.0 | 2016-04-11 | 아파치 플링크 엔진 추가 |
0.12.1 | 2016-05-19 | |
0.12.2 | 2016-06-13 | |
0.13.0 | 2017-04-17 | |
0.14.0 | 2019-03-07 | 소스 전용 (바이너리 없음) |
14.1 | 2020-10-07 |
3. 1. 맵리듀스에서 아파치 스파크로 전환
머하웃의 핵심 알고리즘인 클러스터링, 분류 및 배치 기반 협업 필터링은 맵/리듀스 패러다임을 사용하여 하둡 위에 구현되었다.[7][8][9] 하지만, 하둡 기반 구현에 대한 기여만 허용된 것은 아니며, 단일 노드 또는 비 하둡 클러스터에서 실행되는 기여도 허용되었다. 예를 들어, 머하웃의 'Taste' 협업 필터링 추천 구성 요소는 원래 별도의 프로젝트였으며 하둡 없이도 독립적으로 실행될 수 있었다.2014년부터 MapReduce 알고리즘에 대한 지원은 점진적으로 중단되기 시작했다.[10] 버전 0.10.0부터 "Samsara"라는 코드명으로, 백엔드 독립적인 프로그래밍 환경 구축에 초점을 맞추었다. 이 환경은 대수적 백엔드 독립적 최적화 도구와 인 메모리 및 분산 대수적 연산자를 통합하는 대수적 Scala DSL로 구성된다. 지원되는 대수적 플랫폼은 아파치 스파크 등이 있다.
3. 2. 출시 역사
wikitable버전 | 출시일 | 비고 |
---|---|---|
0.1 | 2009-04-07 | |
0.2 | 2009-11-18 | |
0.3 | 2010-03-17 | |
0.4 | 2010-10-31 | |
0.5 | 2011-05-27 | |
0.6 | 2012-02-06 | |
0.7 | 2012-05-16 | |
0.8 | 2013-07-25 | |
0.9 | 2014-02-01 | |
0.10.0 | 2015-04-11 | 삼사라 DSL(Samsara DSL) |
0.10.1 | 2015-05-31 | |
0.10.2 | 2015-08-06 | |
0.11.0 | 2015-08-07 | |
0.11.1 | 2015-11-06 | |
0.11.2 | 2016-03-11 | |
0.12.0 | 2016-04-11 | 아파치 플링크(Apache Flink) 엔진 추가 |
0.12.1 | 2016-05-19 | |
0.12.2 | 2016-06-13 | |
0.13.0 | 2017-04-17 | |
0.14.0 | 2019-03-07 | 소스 전용 (바이너리 없음) |
14.1 | 2020-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