Простое Машинное Обучение
Алгоритмы машинного обучения стали ключевыми компонентами во многих приложениях для работы с большими данными. Однако, потенциал машинного обучения всё ещё далёк от реализации, поскольку использование алгоритмов машинного обучения затруднительно, особенно на распределённых платформах, таких как Hadoop и Spark. Основные препятствия связаны не только с реализацией самих алгоритмов, но и с обработкой данных для их применения в реальных приложениях, которые часто включают несколько этапов и различные алгоритмы.
Наша платформа Простое Машинное Обучение (Easy Machine Learning) представляет собой универсальную систему на основе потока данных, которая упрощает процесс применения алгоритмов машинного обучения к задачам реального мира. В системе учебная задача формулируется в виде направленного ациклического графа (DAG), где каждый узел представляет операцию (например, алгоритм машинного обучения), а каждое ребро представляет поток данных от одного узла к его потомкам. Задача может быть определена вручную или клонирована из существующих задач/шаблонов. После отправки задачи в облако, каждый узел будет автоматически запланирован для выполнения в соответствии с DAG.
Графический пользовательский интерфейс реализован для того, чтобы пользователи могли создавать, настраивать, отправлять и отслеживать задачу в режиме drag-and-drop. Преимущества системы включают:
Система состоит из трёх основных компонентов:
Скачайте весь проект и подготовьте необходимые среды и некоторые утилиты для разработки. Следуйте шагам в Quick-start.md, и вы сможете создать нашу систему на своём компьютере.
После запуска Easy ML, вы можете войти через http://localhost:18080/EMLStudio.html
с нашим официальным аккаунтом bdaict@hotmail.com
и паролем bdaict
. Для наилучшего пользовательского опыта рекомендуется использовать Chrome.
Как показано на следующем рисунке, пользователи могут создать задачу машинного обучения (DAG потока данных) с алгоритмами и наборами данных, перечисленными в левой панели страницы. Они могут выбирать алгоритмы и наборы данных, перечисленные в панелях «Программа» и «Данные». Также они могут нажать на панель «Задание», выбрать существующую задачу, клонировать её и внести необходимые изменения. Пользователи могут настроить информацию о задаче и значения параметров каждого узла. Текст запроса:
in the right panel. The nodes in the task could corresponds to either a stand-alone Linux program or a distributed program running on Spark or Hadoop Map-Reduce.
The task is submitted to run on the cloud after clicking the submit button. The status of each node is indicated with different colors, as shown in the following figure.
Users could right click on the green output port of finished executing node to preview the output data. One could check the stdout and stderr logs from the right click menu of each finished executing node as well.
The users may check the outputs of a node by right clicking the corresponding output ports. The standard output and standard error information printed during the execution can be checked through right clicking the corresponding nodes and selects the menu Show STDOUT and Show STDERR.
A finished (either success or not) task can be further modified and resubmitted to run, as shown in the following figure. Our system will only schedule the influenced nodes to run. The outputs of uninfluenced nodes are directly reused to save the running time and system resources.
The users can upload their own algorithm packages and data sets for creating their own tasks or shared with other users. By clicking the upload program button, the popup window allows the users to specify the necessary information of the algorithm package, including the name, the category, the description, and the command line pattern string etc, as shown in the following figure. The most important thing is to write the command line pattern string with the predefined format. It defined the input ports, output ports, and parameter settings of a node. We developed a tool in the panel for helping users to write the command line string patterns. By clicking the upload data button, users can upload a data set in the similar way as that of uploading a algorithms package.
We apply an online service for you to experience our system. You can register your own account or use our official account to login the system. The website of the system is as belows:
If you have any advice or problems when you expericen our system, welcome to contact us! You can leave us a message or give a email to bdaict@hotmail.com
, thank you for your advice!
The following people contributed to the development of the EasyML project:
Перевод текста на русский язык:
В правой панели. Узлы в задаче могут соответствовать либо автономной программе Linux, либо распределённой программе, работающей на Spark или Hadoop Map-Reduce.
Задача отправляется для выполнения в облаке после нажатия кнопки «Отправить». Статус каждого узла отображается разными цветами, как показано на следующем рисунке.
Пользователи могут щёлкнуть правой кнопкой мыши по зелёному выходному порту завершённого исполняемого узла, чтобы просмотреть выходные данные. Также можно проверить журналы stdout и stderr из контекстного меню каждого завершённого выполняемого узла.
Пользователи могут проверить выходные данные узла, щёлкнув правой кнопкой мыши соответствующие выходные порты. Стандартную информацию о выводе и стандартную информацию об ошибках, напечатанную во время выполнения, можно проверить, щёлкнув соответствующие узлы правой кнопкой мыши и выбрав меню «Показать STDOUT» и «Показать STDERR».
Задачу, которая была успешно выполнена или нет, можно дополнительно изменить и отправить повторно, как показано на следующем рисунке. Наша система будет планировать только те узлы, на которые повлияли изменения. Выходы незатронутых узлов напрямую используются повторно для экономии времени выполнения и системных ресурсов.
Пользователи могут загружать свои собственные пакеты алгоритмов и наборы данных для создания собственных задач или делиться ими с другими пользователями. Нажав кнопку «Загрузить программу», всплывающее окно позволяет пользователям указать необходимую информацию о пакете алгоритма, включая имя, категорию, описание и строку шаблона командной строки и т. д., как показано на следующем рисунке. Самое главное — написать строку шаблона командной строки в предопределённом формате. Она определяет входные порты, выходные порты и параметры настройки узла. Мы разработали инструмент на панели, который помогает пользователям писать шаблоны строк командной строки. Нажав кнопку «Загрузить данные», пользователи могут загрузить набор данных аналогичным образом, как при загрузке пакета алгоритмов.
Как испытать нашу систему Мы предоставляем онлайн-сервис, позволяющий вам испытать нашу систему. Вы можете зарегистрировать свою учётную запись или использовать нашу официальную учётную запись для входа в систему. Веб-сайт системы находится ниже:
— За пределами ИКТ вы можете посетить: http://159.226.40.104:18080/dev/. — Внутри ИКТ вы можете посетить: http://10.60.0.50:18080/dev/.
Если у вас есть какие-либо советы или проблемы при использовании нашей системы, обращайтесь к нам! Вы можете оставить нам сообщение или отправить электронное письмо на адрес bdaict@hotmail.com, спасибо за ваши советы!
Статьи и презентации
Благодарности Следующие люди внесли свой вклад в разработку проекта EasyML:
Цзюнь Сюй, Школа информации, Жэньминьский университет Китая. Домашняя страница: http://info.ruc.edu.cn/academic_professor.php?teacher_id=169. Сяохуэй Янь. Домашняя страница: http://xiaohuiyan.github.io/. Синцзе Чен, Институт вычислительной техники. Чжохуэй Ли, Институт вычислительных технологий Китайской академии наук.
Тянью Го, Sougou Inc.
Цзяньпэн Хоу, Google China.
Пин Ли, Tencent Wechat.
Цзяшо Цао, Чэндуский университет информационных технологий.
Дун Хуан, Университет Китайской академии наук.
Сюэци Чэн, Институт вычислительных технологий Китайской академии наук. Домашняя страница: http://www.bigdatalab.ac.cn/~cxq/.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )