Jump to content

Апач SystemDS

(Перенаправлено с Apache SystemML )
Апач SystemDS
Разработчик(и) Фонд программного обеспечения Apache , IBM
Первоначальный выпуск 2 ноября 2015 г .; 8 лет назад ( 2015-11-02 )
Стабильная версия
3.0.0 / 5 июля 2022 г .; 23 месяца назад ( 05.07.2022 )
Репозиторий Репозиторий SystemDS
Написано в Java , Python , DML , C
Операционная система Linux , MacOS , Windows
Тип Машинное обучение , Глубокое обучение , Наука о данных
Лицензия Лицензия Апач 2.0
Веб-сайт системные файлы .apache .org

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

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

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

История [ править ]

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

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

Ключевые технологии [ править ]

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

Примеры [ править ]

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

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

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

Скрипт вызова [ править ]

spark-submit SystemDS.jar -f PCA.dml -nvargs INPUT=INPUT_DIR/pca-1000x1000 \  OUTPUT=OUTPUT_DIR/pca-1000x1000-model PROJDATA=1 ЦЕНТР=1 МАСШТАБ=1 

Функции базы данных [ править ]

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

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

Улучшения [ править ]

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

  • Новый механизм для DML (уровень сценария) builtin функций, а также множество новых встроенных функций для предварительной обработки данных, включая методы очистки, увеличения и проектирования функций, новые алгоритмы машинного обучения и отладку моделей.
  • Было реализовано несколько методов очистки данных, включая множественное вменение с многомерным вменением с помощью цепных уравнений (MICE) и другие методы, SMOTE, метод передискретизации для дисбаланса классов, прямое и обратное заполнение NA, очистку с использованием информации о схеме и длине, поддержку обнаружения выбросов. использование стандартного отклонения и межквартильного диапазона, а также обнаружение функциональных зависимостей.
  • Полная платформа для отслеживания происхождения и повторного использования, включая поддержку дедупликации циклов, полного и частичного повторного использования, повторного использования с помощью компилятора, а также несколько новых перезаписей для облегчения повторного использования.
  • Новый интегрированный бэкэнд среды выполнения, включая поддержку объединенных матриц и кадров. builtinс ( transform-encode, decode и т. д.).
  • Рефакторинг пакета сжатия и добавление функций, включая квантование для сжатия с потерями, операции с двоичными ячейками, умножение левой матрицы. [экспериментальный]
  • Новые привязки Python с поддержкой нескольких builtins, матричные операции, объединенные тензоры и трассировки происхождения.
  • Cuda реализация кумулятивных агрегатных операторов ( cumsum, cumprod и т. д.)
  • Новая техника отладки модели с поиском срезов.
  • Новая тензорная модель данных (базовые тензоры разных типов значений, тензоры данных со схемой) [экспериментальный]
  • Сценарии облачного развертывания для AWS и сценарии для настройки и запуска федеративных операций.
  • Улучшение производительности с parallel sort, gpu cum agg, append cbind и т. д.
  • Различные улучшения компилятора и среды выполнения, включая новые и улучшенные перезаписи, сокращение создания контекста Spark, новые eval framework, операции со списками, обновленные собственные библиотеки ядра и многое другое.
  • Новое устройство чтения/записи данных для json рамки и поддержка sql в качестве источника данных.
  • Различные улучшения: улучшенная документация, лучшее тестирование, сценарии запуска/выпуска, улучшенная упаковка, контейнер Docker для systemds, поддержка лямбда-выражений, исправления ошибок.
  • Удален компилятор MapReduce и серверная часть среды выполнения, pydml парсер, платформа Java-UDF, отладчик уровня скрипта.
  • Устарело ./scripts/algorithms, поскольку эти алгоритмы постепенно станут частью SystemDS builtinс.

[2]

Взносы [ править ]

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

См. также [ править ]

Ссылки [ править ]

  1. ^ Apache SystemDS , Apache Software Foundation, 24 февраля 2022 г. , получено 6 марта 2022 г.
  2. ^ СистемДС, Апач. «Примечания к выпуску SystemML 1.2.0» . systemds.apache.org . Проверено 26 февраля 2021 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 28c043fd3eec88d42905d211eca54a9d__1705158180
URL1:https://arc.ask3.ru/arc/aa/28/9d/28c043fd3eec88d42905d211eca54a9d.html
Заголовок, (Title) документа по адресу, URL1:
Apache SystemDS - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)