stringtranslate.com

Апачский погонщик

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

Функции

Сансара

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

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

Агностик бэкэнда

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

Ускорители графических процессоров/процессоров

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

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

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

История

Переход с MapReduce на Apache Spark

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

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

История релизов

Разработчики

Apache Mahout разрабатывается сообществом. Проектом управляет группа, называемая «Комитет по управлению проектами» (PMC). Текущий PMC — Эндрю Массельман, Эндрю Палумбо, Дрю Фаррис, Изабель Дрост-Фромм, Джейк Мэнникс, Пэт Феррел, Паритош Ранджан, Тревор Грант, Робин Анил, Себастьян Шелтер, Стево Славич. [11]

Ссылки

  1. ^ "Apache Mahout: Выпущен первый релиз 0.1".
  2. ^ "Apache Mahout: Масштабируемое машинное обучение и интеллектуальный анализ данных" . Получено 6 марта 2019 г.
  3. ^ «Представляем Apache Mahout». IBM.com . 2011 . Проверено 13 сентября 2011 г.
  4. ^ "InfoQ: Apache Mahout: высокомасштабируемые алгоритмы машинного обучения". infoq.com . 2011. Получено 13 сентября 2011 г.
  5. ^ "Алгоритмы - Apache Mahout - Apache Software Foundation". cwiki.apache.org . 2011. Архивировано из оригинала 22 декабря 2013 года . Получено 13 сентября 2011 года .
  6. ^ "Расширение Mahout Samsara на кластеры GPU". Архивировано из оригинала 3 ноября 2020 г. Получено 29 октября 2020 г.
  7. ^ "Mahout-Samsara's In-Core Linear Algebra DSL Reference". Архивировано из оригинала 2 августа 2016 года . Получено 29 февраля 2016 года .
  8. ^ "Mahout-Samsara's Distributed Linear Algebra DSL Reference". Архивировано из оригинала 2 августа 2016 года . Получено 29 февраля 2016 года .
  9. ^ "Mahout 0.10.x: первый выпуск Mahout как среды программирования". www.weatheringthroughtechdays.com . Архивировано из оригинала 9 октября 2016 г. Получено 29 февраля 2016 г.
  10. ^ "MAHOUT-1510 ("Прощай, MapReduce")".
  11. ^ «Информация комитета Apache».

Внешние ссылки