Apache Mahout - Apache Mahout
![]() | |
Vývojáři | Softwarová nadace Apache |
---|---|
První vydání | 7. dubna 2009[1] |
Stabilní uvolnění | 14.1 / 7. října 2020[2] |
Úložiště | Úložiště Mahout |
Napsáno | Jáva, Scala |
Operační systém | Cross-platform |
Typ | Strojové učení |
Licence | Licence Apache 2.0 |
webová stránka | mahout |
Apache Mahout je projektem Softwarová nadace Apache k výrobě volný, uvolnit implementace distribuováno nebo jinak škálovatelné strojové učení algoritmy zaměřené primárně na lineární algebra. V minulosti mnoho implementací používalo Apache Hadoop platforma, dnes je však primárně zaměřena na Apache Spark.[3][4] Mahout také poskytuje knihovny Java / Scala pro běžné matematické operace (zaměřené na lineární algebru a statistiku) a primitivní kolekce Java. Mahout je nedokončená práce; byla implementována řada algoritmů.[5]
Funkce
Samsara
Apache Mahout-Samsara označuje jazyk specifický pro doménu Scala (DSL), který umožňuje uživatelům používat syntaxi R-Like na rozdíl od tradiční syntaxe podobné Scale. To umožňuje uživateli stručně a jasně vyjádřit algoritmy.
val G = B %*% B.t - C - C.t + (ksi tečka ksi) * (s_q přejít s_q)
Backend Agnostic
Kód Apache Mahout abstrahuje jazyk specifický pro doménu z enginu, kde je kód spuštěn. Zatímco aktivní vývoj je prováděn s motorem Apache Spark, uživatelé mohou implementovat libovolný motor, který si zvolí - H2O a Apache Flink byly implementovány v minulosti a příklady existují v kódové základně.
GPU / CPU akcelerátory
JVM má notoricky pomalý výpočet, k vyřešení této situace byly přidány „nativní řešitelé“, které se pohybují v jádru, a rozšířením, distribuovány operace BLAS z JVM, vykládání do off-heap nebo GPU paměti pro zpracování přes více CPU a / nebo jádra CPU nebo GPU, pokud jsou postaveny proti knihovně ViennaCL.[6] „Rozšíření Mahout Samsara na GPU clustery“.. ViennaCL je vysoce optimalizovaná knihovna C ++ s operacemi BLAS implementovanými v OpenMP a OpenCL. Od vydání 14.1 je sestavení OpenMP považováno za stabilní a ponechání sestavení OpenCL je stále ve své experimentální fázi POC.
Doporučení
Apache Mahout obsahuje implementace Alternating Least Squares, Co-Occurrence a Correlated Co-Occurrence, což je algoritmus doporučující jedinečný Mahout, který rozšiřuje společný výskyt pro použití na více dimenzích dat.
Dějiny
Přechod z Map Reduce na Apache Spark
Zatímco Mahoutovy základní algoritmy pro shlukování, klasifikace a dávkové filtrování spolupráce byly implementovány nad Apache Hadoop pomocí zmapovat / zmenšit paradigma, neomezovala příspěvky k implementacím založeným na Hadoopu. Byly také vítány příspěvky, které běží na jednom uzlu nebo na klastru, který není Hadoop. Například doporučující komponenta „Ochutnat“ filtrující spolupráci v Mahoutu byla původně samostatným projektem a může běžet samostatně bez Hadoopu.
Počínaje vydáním 0.10.0 se projekt zaměřil na budování back-independent programovacího prostředí s kódovým označením „Samsara“.[7][8][9] Prostředí se skládá z algebraického backend nezávislého optimalizátoru a algebraického Scala DSL sjednocujícího v paměti a distribuovaných algebraických operátorů. Podporované algebraické platformy jsou Apache Spark, H2O a Apache Flink.[Citace je zapotřebí ] Podpora pro MapReduce algoritmy začaly být postupně vyřazovány v roce 2014.[10]
Historie vydání
Verze | Datum vydání | Poznámky |
---|---|---|
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 | 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 | Přidán modul Apache Flink |
0.12.1 | 2016-05-19 | |
0.12.2 | 2016-06-13 | |
0.13.0 | 2018-05-04 | |
0.14.0 | 2019-03-07 | Pouze zdroj (žádné binární soubory) |
14.1 | 2020-10-07 |
Reference
- ^ „Apache Mahout: První vydání 0,1 vydané“.
- ^ „Apache Mahout: Škálovatelné strojové učení a dolování dat“. Citováno 6. března 2019.
- ^ „Představujeme Apache Mahout“. ibm.com. 2011. Citováno 13. září 2011.
- ^ „InfoQ: Apache Mahout: Vysoce škálovatelné algoritmy strojového učení“. infoq.com. 2011. Citováno 13. září 2011.
- ^ „Algorithms - Apache Mahout - Apache Software Foundation“. cwiki.apache.org. 2011. Citováno 13. září 2011.
- ^ "ViennaCL".
- ^ „Referenční příručka lineární algebry DSL společnosti Mahout-Samsara“.
- ^ „Reference společnosti Mahout-Samsara pro distribuovanou lineární algebru DSL“.
- ^ „Mahout 0.10.x: první vydání Mahout jako programovací prostředí“. www.weatheringthroughtechdays.com. Archivovány od originál dne 9. října 2016. Citováno 29. února 2016.
- ^ „MAHOUT-1510 („ Good-bye MapReduce “)“.