Apache Mahout - Apache Mahout

Apache Mahout
Логотип Apache Mahout
Разработчики)Фонд программного обеспечения Apache
изначальный выпуск7 апреля 2009 г.; 11 лет назад (2009-04-07)[1]
Стабильный выпуск
14.1 / 7 октября 2020; 2 месяца назад (2020-10-07)[2]
РепозиторийРепозиторий Mahout
Написано вЯва, Scala
Операционная системаКроссплатформенность
ТипМашинное обучение
ЛицензияЛицензия Apache 2.0
Интернет сайтпогонщик.apache.org

Apache Mahout это проект Фонд программного обеспечения Apache производить свободный реализации распределен или иным образом масштабируемый машинное обучение алгоритмы ориентированы в первую очередь на линейная алгебра. В прошлом многие реализации использовали Apache Hadoop платформа, однако сегодня она в первую очередь ориентирована на Apache Spark.[3][4] Mahout также предоставляет библиотеки Java / Scala для общих математических операций (ориентированных на линейную алгебру и статистику) и примитивных коллекций Java. Mahout находится в стадии разработки; реализован ряд алгоритмов.[5]

Функции

Самсара

Apache Mahout-Samsara относится к предметно-ориентированному языку Scala (DSL), который позволяет пользователям использовать R-подобный синтаксис в отличие от традиционного Scala-подобного синтаксиса. Это позволяет пользователю кратко и ясно излагать алгоритмы.


вал грамм = B %*% B.т - C - C.т + (ksi точка ksi) * (s_q Пересекать s_q)


Backend Agnostic

Код Apache Mahout абстрагирует язык предметной области от механизма, на котором выполняется код. Хотя активная разработка ведется с движком Apache Spark, пользователи могут реализовать любой движок по своему выбору - H2O и Apache Flink были реализованы в прошлом, и примеры существуют в базе кода.

Ускорители GPU / CPU

JVM имеет печально известную медленную скорость вычислений, для решения этой проблемы были добавлены «собственные решатели», которые перемещаются в ядре, и, соответственно, распределенные операции BLAS из JVM, выгружаются в память вне кучи или GPU для обработки через несколько процессоров и / или ядра ЦП, или графические процессоры, если они созданы на основе библиотеки ViennaCL.[6] «Расширение Mahout Samsara на кластеры GPU».. ViennaCL - это оптимизированная библиотека C ++ с операциями BLAS, реализованными в OpenMP и OpenCL. Начиная с версии 14.1, сборка OpenMP считается стабильной, а сборка OpenCL все еще находится в экспериментальной фазе POC.

Рекомендатели

В Apache Mahout реализованы реализации альтернативных наименьших квадратов, совпадения и коррелированного совпадения, уникального рекомендательного алгоритма для Mahout, который расширяет совместное вхождение для использования в нескольких измерениях данных.

История

Переход от Map Reduce к Apache Spark

Хотя основные алгоритмы Mahout для кластеризация, классификация и совместная фильтрация на основе пакетов были реализованы поверх Apache Hadoop с использованием уменьшение карты парадигмы, он не ограничивал вклад в реализации на основе Hadoop. Также приветствовались материалы, которые выполняются на одном узле или в кластере, отличном от Hadoop. Например, рекомендательный компонент совместной фильтрации «Вкус» в Mahout изначально был отдельным проектом и может работать автономно без Hadoop.

Начиная с версии 0.10.0, проект переместил свое внимание на создание независимой от серверной части среды программирования под кодовым названием «Samsara».[7][8][9] Среда состоит из алгебраического оптимизатора, не зависящего от серверной части, и алгебраического DSL Scala, объединяющего операторы оперативной памяти и распределенные алгебраические операторы. Поддерживаемые алгебраические платформы: Apache Spark, H2O и Apache Flink.[нужна цитата ] Поддержка для Уменьшение карты В 2014 году начали постепенно отказываться от алгоритмов.[10]


История выпуска

История выпуска
ВерсияДата выходаПримечания
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
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.02018-05-04
0.14.02019-03-07Только исходный код (без двоичных файлов)
14.12020-10-07



Рекомендации

внешняя ссылка