아파치 마호트

Apache Mahout
아파치 마호트
Apache Mahout logo.svg
개발자Apache 소프트웨어 재단
초기 릴리즈2009년 4월 7일, 13년 전(2009-04-07)[1]
안정된 릴리스
2020년 10월 7일, 21개월 전(2020-10-07)[2]
저장소Mahout 저장소
기입처자바, 스칼라
운영 체제크로스 플랫폼
유형기계 학습
면허증.Apache 라이센스 2.0
웹 사이트mahout.apache.org

Apache Mahout은 주로 선형 대수에 초점을 맞춘 분산 또는 확장 가능한 기계 학습 알고리즘을 무료로 구현하기 위한 Apache 소프트웨어 재단의 프로젝트입니다.과거에는 많은 구현이 Apache Hadoop 플랫폼을 사용했지만 현재는 주로 Apache [3][4]Spark에 초점을 맞추고 있습니다.Mahout은 또한 일반적인 수학 연산(선형 대수 및 통계에 초점을 맞춘)과 원시 자바 컬렉션을 위한 Java/Scala 라이브러리를 제공합니다.Mahout은 진행 중인 작업입니다. 많은 알고리즘이 [5]구현되어 있습니다.

특징들

삼사라

Apache Mahout-Samsara는 사용자가 기존의 Scala 유사 구문이 아닌 R-Like 구문을 사용할 수 있도록 하는 Scala Domain Specific Language(DSL; 도메인 고유 언어)를 말합니다.이를 통해 사용자는 알고리즘을 간결하고 명확하게 표현할 수 있습니다.

 G = B %*% B.t - C - C.t + (ksi  ksi) * (s_q 건너다 s_q) 

백엔드 어그노스틱

Apache Mahout의 코드는 코드가 실행되는 엔진에서 도메인별 언어를 추상화합니다.Apache Spark 엔진에서는 액티브한 개발이 이루어지지만 사용자는 원하는 엔진을 자유롭게 구현할 수 있습니다.H2O 및 Apache Flink는 과거에 구현된 적이 있으며 코드 베이스에는 예가 있습니다.

GPU/CPU 액셀러레이터

JVM은 계산이 느리기로 악명 높다.속도를 향상시키기 위해 "네이티브 솔버"가 추가되어 JVM 밖으로 이동하며 분산 BLAS 작업을 오프히프 또는 GPU 메모리로 오프로드하여 여러 CPU 및/또는 CPU 코어를 통해 처리하거나 ViennaCL [6]라이브러리를 기반으로 구축된 GPU를 통해 처리했습니다. ViennaCL은 OpenMP 및 OpenCL에서 구현된 BLAS 연산을 통해 고도로 최적화된 C++ 라이브러리입니다"Extending Mahout Samsara to GPU Clusters"..릴리스 14.1 현재 OpenMP 빌드는 안정적인 것으로 간주되며 OpenCL 빌드는 아직 실험적인 POC 단계에 있습니다.

추천자

Apache Mahout은 데이터의 여러 차원에 사용할 수 있도록 공존을 확장하는 고유한 Mahout 권장 알고리즘인 Alternating Lest Square, Co-Occurrence 및 Correlated Co-Occurrence 구현을 특징으로 합니다.

역사

지도 감소에서 Apache 스파크로 전환

Mahout의 클러스터링, 분류 및 배치 기반 협업 필터링을 위한 핵심 알고리즘은 맵/축소 패러다임을 사용하여 Apache Hadoop 위에 구현되었지만 Hadoop 기반 구현에 대한 기여는 제한되지 않았습니다.단일 노드 또는 비 Hadoop 클러스터에서 실행되는 기여도 환영했습니다.예를 들어, Mahout의 'Taste' 협업 필터링 추천 구성 요소는 원래 별도의 프로젝트였으며 Hadoop 없이도 독립적으로 실행할 수 있습니다.

릴리스 0.10.0부터 이 프로젝트는 백엔드에 의존하지 않는 프로그래밍 환경, 코드명 "삼사라"[7][8][9]를 구축하는 데 초점을 맞췄다.환경은 대수적 백엔드에 의존하지 않는 옵티마이저와 메모리 내 연산자와 분산 대수 연산자를 통합하는 대수적 스칼라 DSL로 구성됩니다.지원되는 대수 플랫폼은 Apache Spark, H2O 및 Apache Flink입니다.[citation needed]MapReduce 알고리즘 지원은 [10]2014년부터 단계적으로 중단되었습니다.

릴리스 이력

릴리스 이력
버전 발매일 메모들
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
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

개발자

Apache Mahout은 커뮤니티에 의해 개발되었습니다.이 프로젝트는 "프로젝트 관리 위원회"(PMC)라는 그룹에 의해 관리됩니다.현재 PMC는 Andrew Musselman, Andrew Palumbo, Drew Farris, Isabel Drost-Fromm, Jake Mannix, Pat Ferrel, Paritosh Ranjan, Trevor Grant, Robin Anil, Sebastian Selter, Stevo [11]Slaviach입니다.

레퍼런스

외부 링크