Apache Mahout - Apache Mahout
Разработчики) | Фонд программного обеспечения Apache |
---|---|
изначальный выпуск | 7 апреля 2009 г.[1] |
Стабильный выпуск | 14.1 / 7 октября 2020[2] |
Репозиторий | Репозиторий Mahout |
Написано в | Ява, Scala |
Операционная система | Кроссплатформенность |
Тип | Машинное обучение |
Лицензия | Лицензия Apache 2.0 |
Интернет сайт | погонщик |
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.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 | 2018-05-04 | |
0.14.0 | 2019-03-07 | Только исходный код (без двоичных файлов) |
14.1 | 2020-10-07 |
Рекомендации
- ^ «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. Получено 13 сентября 2011.
- ^ "ViennaCL".
- ^ "Справочник DSL по линейной алгебре Махаута-Самсары".
- ^ "Справочник DSL по распределенной линейной алгебре Махаута-Самсары".
- ^ «Mahout 0.10.x: первая версия Mahout как среда программирования». www.weatheringthroughtechdays.com. Архивировано из оригинал 9 октября 2016 г.. Получено 29 февраля 2016.
- ^ "MAHOUT-1510 (" Прощай, MapReduce ")".