stringtranslate.com

Apache SystemDS

Apache SystemDS (ранее Apache SystemML) — это система машинного обучения с открытым исходным кодом для сквозного жизненного цикла науки о данных.

Отличительные характеристики SystemDS:

  1. Возможность настройки алгоритма с помощью языков типа R и Python.
  2. Несколько режимов выполнения, включая Standalone, Spark Batch, Spark MLContext, Hadoop Batch и JMLC.
  3. Автоматическая оптимизация на основе данных и характеристик кластера для обеспечения эффективности и масштабируемости.

История

SystemML был создан в 2010 году исследователями из исследовательского центра IBM Almaden под руководством сотрудника IBM Шивакумара Вайтьянатана. Было замечено, что специалисты по данным пишут алгоритмы машинного обучения на таких языках, как R и Python, для небольших данных. Когда наступало время масштабирования для больших данных, требовался системный программист для масштабирования алгоритма на таком языке, как Scala . Этот процесс обычно занимал дни или недели на итерацию, и при переводе алгоритмов для работы с большими данными возникали ошибки. SystemML стремится упростить этот процесс. Основной целью SystemML является автоматическое масштабирование алгоритма, написанного на языке, похожем на R или Python, для работы с большими данными, генерируя тот же ответ без подверженного ошибкам многоитеративного подхода к переводу.

15 июня 2015 года на саммите Spark в Сан-Франциско Бет Смит, генеральный менеджер IBM Analytics, объявила, что IBM открывает исходный код SystemML в рамках основных обязательств IBM по Apache Spark и связанным со Spark проектам. SystemML стал общедоступным на GitHub 27 августа 2015 года и стал проектом Apache Incubator 2 ноября 2015 года. 17 мая 2017 года совет Apache Software Foundation одобрил выпуск Apache SystemML в качестве проекта Apache Top Level Project.

Ключевые технологии

Ниже приведены некоторые технологии, встроенные в движок SystemDS.

Примеры

Анализ главных компонент

Следующий фрагмент кода [1] выполняет анализ главных компонентов входной матрицы , который возвращает и .

# PCA.dml# Ссылка: https://github.com/apache/systemds/blob/master/scripts/algorithms/PCA.dml#L61N = nrow ( A );  D = ncol ( A );  # выполнить z-оценку (центрирование и масштабирование)A = масштаб ( A , центр == 1 , масштаб == 1 );    # матрица ковариацииmu = colSums ( A ) / N ;  C = ( t ( A ) %*% A ) / ( N -1 ) - ( N / ( N -1 )) * t ( mu ) %*% mu ;        # вычислить собственные векторы и значения[ значения , эвекторы ] = собственные ( C );   

Скрипт вызова

spark-submit SystemDS.jar -f PCA.dml -nvargs ВХОД=КАТАЛОГ_ВХОДА/pca-1000x1000 \  ВЫХОД=КАТАЛОГ_ВХОДА/pca-1000x1000-model ДАННЫЕ_ПРОЕКТА=1 ЦЕНТР=1 МАСШТАБ=1

Функции базы данных

Алгоритм кластеризации DBSCAN с евклидовым расстоянием .

X = rand ( строки = 1780 , столбцы = 180 , мин = 1 , макс = 20 )      [ индексы , модель ] = dbscan ( X = X , eps = 2.5 , minPts = 360 )           

Улучшения

SystemDS 2.0.0 — первый крупный релиз под новым названием. Этот релиз содержит крупный рефакторинг, несколько крупных функций, большое количество улучшений и исправлений, а также несколько экспериментальных функций для лучшей поддержки сквозного жизненного цикла науки о данных. Кроме того, этот релиз также удаляет несколько функций, которые не являются актуальными и устаревшими.

[2]

Вклады

Apache SystemDS приветствует вклад в виде кода, вопросов и ответов, создания сообщества или распространения информации. Руководство для участников доступно по адресу https://github.com/apache/systemds/blob/main/CONTRIBUTING.md

Смотрите также

Ссылки

  1. ^ Apache SystemDS, Apache Software Foundation, 2022-02-24 , получено 2022-03-06
  2. ^ SystemDS, Apache. "SystemML 1.2.0 Release Notes". systemds.apache.org . Получено 2021-02-26 .

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