В чем разница между sparkML и systemML? - PullRequest
1 голос
/ 21 апреля 2020

В чем разница между искрой ML и системой ML? Существует проблема, решаемая как системой ml, так и spark ml в apache spark engine на IBM, хотите узнать, в чем главное отличие?

1 Ответ

0 голосов
/ 21 апреля 2020

Apache Spark - это распределенная параллельная структура данных с богатыми примитивами, такими как map, reduction, join, filter и т. Д. c. Кроме того, он поддерживает стек «библиотек», включая SQL и DataFrames, MLlib для машинного обучения, GraphX ​​и Spark Streaming.

Apache SystemML - это гибкая, масштабируемая система машинного обучения (ML), Возможность настройки алгоритма и автоматическая оптимизация c. Отличительными характеристиками SystemML являются:

Возможность настройки алгоритма с помощью R-подобных и Python -подобных языков. Несколько режимов выполнения, включая Spark MLContext, Spark Batch, Had oop Batch, Standalone и JML C. Автоматизация c оптимизация на основе данных и характеристик кластера для обеспечения как эффективности, так и масштабируемости. Более полезным было бы сравнение Spark с MLLib и SystemML:

Как и MLLib, SystemML может работать поверх Apache Spark [пакетный режим или программный c -api]. Но в отличие от MLLib (который имеет фиксированный план времени выполнения), SystemML имеет оптимизатор, который адаптирует план времени выполнения на основе входных данных и характеристик кластера. И MLLib, и SystemML могут принимать входные данные как DataFrame Spark. Алгоритмы MLLib написаны в Scala с использованием примитивов Spark. На высоком уровне два пользователя MLLib: (1) Опытные разработчики, которые реализуют свой алгоритм в Scala и имеют глубокое понимание ядра Spark. (2) Неопытные ученые, которые хотят использовать MLLib в качестве черного ящика и настраивать гиперпараметры. Оба эти пользователя в значительной степени полагаются на исходные предположения о входных данных и характеристиках кластера. Если эти предположения не действительны для данного варианта использования в производстве, пользователь может получить низкую производительность или даже OOM. Алгоритмы SystemML реализованы с использованием высокоуровневого (дружественного к линейной алгебре) языка, и его оптимизатор динамически компилирует план выполнения на основе входных данных и характеристик кластера. Чтобы упростить использование, SystemML поставляется с набором предварительно реализованных алгоритмов вместе с MLLib-подобными обертками. В отличие от MLLib, алгоритм SystemML может использоваться в других бэкэндах: таких как Apache Had oop, встроенная память, графический процессор и может быть в будущем Apache Flink. Примеры систем машинного обучения с оптимизатором затрат (по аналогии с SystemML): Mahout Samsara, Tupleware, Cumulon, Dma c и Sim SQL. Примеры библиотек машинного обучения с фиксированным планом (аналогично MLLib): Mahout MR, MADlib, ORE, Revolution R и HP Distributed R. Примеры распределенных систем с доменом, заданным c языками (аналогично Apache Spark): Apache Flink, REEF и GraphLab.

...