Апач-махут
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
![]() | |
Разработчик(и) | Фонд программного обеспечения Apache |
---|---|
Первоначальный выпуск | 7 апреля 2009 г [1] |
Стабильная версия | 14.1
/ 7 октября 2020 г [2] |
Репозиторий | Репозиторий Махут |
Написано в | Ява , Скала |
Операционная система | Кросс-платформенный |
Тип | Машинное обучение |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | погонщик |
Apache Mahout — это проект Apache Software Foundation по созданию бесплатных реализаций распределенных или иным образом масштабируемых алгоритмов машинного обучения , ориентированных в первую очередь на линейную алгебру . В прошлом многие реализации использовали платформу Apache Hadoop , однако сегодня она ориентирована в первую очередь на Apache Spark . [3] [4] Mahout также предоставляет библиотеки Java/Scala для распространенных математических операций (с упором на линейную алгебру и статистику) и примитивные коллекции Java. Mahout находится в стадии разработки; реализован ряд алгоритмов. [5]
Особенности [ править ]
Самсара [ править ]
Apache Mahout-Samsara относится к доменно-ориентированному языку Scala (DSL), который позволяет пользователям использовать синтаксис R-подобного типа в отличие от традиционного синтаксиса, подобного Scala. Это позволяет пользователю кратко и ясно выражать алгоритмы.
val G = B %*% B.t - C - C.t + (ksi dot ksi) * (s_q cross s_q)
Backend-агностик [ править ]
Код Apache Mahout абстрагирует язык предметной области от движка, на котором выполняется код. Хотя активная разработка ведется с использованием движка Apache Spark, пользователи могут реализовать любой движок по своему выбору: H2O и Apache Flink были реализованы в прошлом, и примеры существуют в базе кода.
Ускорители GPU/CPU [ править ]
JVM имеет общеизвестно медленные вычисления. Для повышения скорости были добавлены «родные решатели», которые перемещают внутриядерные и, как следствие, распределенные операции BLAS из JVM, выгружая их в память вне кучи или в память графического процессора для обработки с помощью нескольких процессоров и/или ядер процессора или графических процессоров, когда построен на базе библиотеки ViennaCL. [6] «Распространение Mahout Samsara на кластеры графических процессоров» . Архивировано из оригинала 3 ноября 2020 года . Проверено 29 октября 2020 г. . ViennaCL — это высокооптимизированная библиотека C++ с операциями BLAS, реализованными в OpenMP и OpenCL. Начиная с версии 14.1, сборка OpenMP считается стабильной, а сборка OpenCL все еще находится на экспериментальной стадии POC.
Рекомендатели [ править ]
Apache Mahout включает реализации чередующихся наименьших квадратов, совместного появления и коррелированного совместного появления, уникального рекомендательного алгоритма Mahout, который расширяет возможности совместного возникновения для использования в нескольких измерениях данных.
История [ править ]
Переход от Map Reduc к Apache Spark [ править ]
Хотя основные алгоритмы Mahout для кластеризации , классификации и пакетной совместной фильтрации были реализованы поверх Apache Hadoop с использованием парадигмы сопоставления/сокращения , это не ограничивало вклад в реализации на основе Hadoop. Также приветствовались вклады, работающие на одном узле или в кластере, отличном от Hadoop. Например, рекомендательный компонент Mahout для совместной фильтрации «Taste» изначально был отдельным проектом и мог работать автономно без Hadoop.
Начиная с версии 0.10.0, проект сместил акцент на создание независимой от серверной части среды программирования под кодовым названием «Самсара». [7] [8] [9] Среда состоит из алгебраического оптимизатора, независимого от серверной части, и алгебраического Scala DSL, объединяющего алгебраические операторы в памяти и распределенные алгебраические операторы. Поддерживаемые алгебраические платформы — Apache Spark , H2O и Apache Flink . [ нужна ссылка ] Поддержка алгоритмов MapReduce начала постепенно прекращаться в 2014 году. [10]
История выпусков [ править ]
Версия | Дата выпуска | Примечания |
---|---|---|
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). Нынешний ЧВК - Эндрю Массельман, Эндрю Палумбо, Дрю Фаррис, Изабель Дрост-Фромм, Джейк Мэнникс, Пэт Феррел, Паритош Ранджан, Тревор Грант, Робин Анил, Себастьян Шелтер, Стево Славич. [11]
Ссылки [ править ]
- ^ «Apache Mahout: выпущен первый выпуск 0.1» .
- ^ «Apache Mahout: масштабируемое машинное обучение и интеллектуальный анализ данных» . Проверено 6 марта 2019 г.
- ^ «Представляем Apache Mahout» . IBM.com . 2011 . Проверено 13 сентября 2011 г.
- ^ «InfoQ: Apache Mahout: высокомасштабируемые алгоритмы машинного обучения» . infoq.com . 2011 . Проверено 13 сентября 2011 г.
- ^ «Алгоритмы — Apache Mahout — Apache Software Foundation» . cwiki.apache.org . 2011. Архивировано из оригинала 22 декабря 2013 года . Проверено 13 сентября 2011 г.
- ^ «ВенаCL» .
- ^ «Справочник по DSL встроенной линейной алгебры Махут-Самсары» . Архивировано из оригинала 2 августа 2016 года . Проверено 29 февраля 2016 г.
- ^ «Справочник по DSL по распределенной линейной алгебре Махут-Самсары» . Архивировано из оригинала 2 августа 2016 года . Проверено 29 февраля 2016 г.
- ^ «Mahout 0.10.x: первый выпуск Mahout как среды программирования» . www.weatheringthroughtechdays.com . Архивировано из оригинала 9 октября 2016 года . Проверено 29 февраля 2016 г.
- ^ «MAHOUT-1510 («Прощай MapReduce»)» .
- ^ «Информация о комитете Apache» .
Внешние ссылки [ править ]