Apache Mahout

Apache Mahout es un proyecto de Apache Software Foundation para producir implementaciones gratuitas de algoritmos de aprendizaje automático distribuidos o escalables centrados principalmente en el álgebra lineal. En el pasado, muchas de las implementaciones usaban la plataforma Apache Hadoop, sin embargo, hoy en día se enfoca principalmente en Apache Spark. Mahout también proporciona bibliotecas Java/Scala para operaciones matemáticas comunes y colecciones primitivas de Java. Mahout es un trabajo en progreso; Se han implementado una serie de algoritmos. From Wikipedia, the free encyclopedia

Apache Mahout es un proyecto de Apache Software Foundation para producir implementaciones gratuitas de algoritmos de aprendizaje automático distribuidos o escalables centrados principalmente en el álgebra lineal. En el pasado, muchas de las implementaciones usaban la plataforma Apache Hadoop, sin embargo, hoy en día se enfoca principalmente en Apache Spark.[1][2] Mahout también proporciona bibliotecas Java/Scala para operaciones matemáticas comunes (centradas en álgebra lineal y estadísticas) y colecciones primitivas de Java. Mahout es un trabajo en progreso; Se han implementado una serie de algoritmos.

Samsara

Apache Mahout-Samsara se refiere a un lenguaje específico de dominio (DSL) de Scala que permite a los usuarios usar la sintaxis R-Like en lugar de la sintaxis tradicional similar a Scala. Esto permite al usuario expresar algoritmos de manera concisa y clara.

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

Agnóstico de back-end

El código de Apache Mahout abstrae el lenguaje específico del dominio del motor donde se ejecuta el código. Si bien el desarrollo activo se realiza con el motor Apache Spark, los usuarios son libres de implementar cualquier motor que elijan: H2O y Apache Flink se implementaron en el pasado y existen ejemplos en la base del código.

Aceleradores GPU/CPU

La JVM tiene un cálculo notoriamente lento. Para mejorar la velocidad, se agregaron "solucionadores nativos" que mueven operaciones de BLAS en el núcleo y, por extensión, distribuidas fuera de la JVM, descargándolas en memoria GPU o fuera del montón para el procesamiento a través de múltiples CPU y/o núcleos de CPU, o GPU cuando construido contra la biblioteca ViennaCL.[3] ViennaCL es una biblioteca de C++ altamente optimizada con operaciones BLAS implementadas en OpenMP y OpenCL. A partir de la versión 14.1, la compilación de OpenMP se consideró estable, por lo que la compilación de OpenCL aún se encuentra en su fase POC experimental.

Recomendadores

Apache Mahout presenta implementaciones de Alternating Least Squares, Co-Occurrence y Correlated Co-Occurrence, un algoritmo de recomendación exclusivo de Mahout que extiende la co-ocurrencia para usarse en múltiples dimensiones de datos.

Historia

Véase también

Referencias

Related Articles

Wikiwand AI