Децентрализованное приложение недели #01 — Decentralized AI

Alexey
iExec Russian
Published in
4 min readMar 13, 2019

Прошло более 6 месяцев с тех пор, как были подготовлены инструменты и библиотеки для использования разработчиками. В январе iExec организовал DApp Challenge, и сегодня мы начинаем видеть первые выпуски приложений, построенных поверх iExec.

Эта новая серия статей под названием «Децентрализованное приложение недели» будет регулярно показывать их, чтобы продемонстрировать, что можно сделать с помощью iExec, и как вы уже можете запускать децентрализованные приложения, работающие в децентрализованном облаке.

Децентрализованное приложение недели #01 это приложение Decentralized AI, разработанное Benoît Courty, Matthew McAteer, Alexandre Moreau и Jeddi Mees.

Проект децентрализованного искусственного интеллекта

Глубокое обучение — это подраздел машинного обучения, технология, вдохновленная человеческим мозгом и его функциями.

Глубокое обучение уже широко используется в нескольких различных отраслях. Например, социальные сети используют его для курирования контента новостных лент в пользовательских лентах сообщений, Photoshop использует его для отделения объектов от фона.

Тем не менее, такие процессы трудно реализовать для программного обеспечения с открытым исходным кодом из-за 3 основных болевых точек:

  • Необходим доступ к огромному пулу ценных и точных данных
  • Необходим легкий доступ к крупномасштабным вычислениям
  • Демократизация использования искусственного интеллекта

Команда, стоящая за Decentralized AI, нацелена на решение этих проблем, позволяя любому вычислять алгоритмы глубокого обучения с наименьшим количеством знаний.

Decentralized AI — это задача семантической сегментации, которая выполняется децентрализованно. Семантическая сегментация выполняется проектом Mask R-CNN, обученным на наборе данных COCO.

От входного изображения к отображаемому выходному изображению семантической сегментации

Стек Decentralized AI состоит из двух частей:

  • Обучающая часть на Open Mined
  • Прогнозирующая часть на iExec

Прогнозы на iExec

Часть прогнозирования использует образ Docker, который выполняется в сети iExec каждый раз, когда пользователь запрашивает задачу Искусственного Интеллекта.

Инфраструктура iExec

iExec предлагает рынок облачных вычислений, позволяющий торговать облачными ресурсами как товаром. Это означает, что можно легко купить вычислительные ресурсы.

  • Поставщик вычислительной мощности называется «Работник».
  • Работники сгруппированы в «Рабочие пулы». Эти рабочие пулы могут представлять собой облачных провайдеров, которые хотят повысить рентабельность своих инвестиций за счет использования своих неиспользованных вычислительных мощностей, или частных лиц, которые хотят получить немного денег от своих домашних компьютеров.
  • Рынок iExec — это место, где работники продают свои мощности покупателям, точно так же, как на открытом рынке или бирже криптовалют. Это система с оплатой за задачу (pay-per-task), аналогичная облачному API-провайдеру.
  • Магазин децентрализованных приложений (DApp Store) — здесь вы можете найти упакованные приложения и готовые для работы в сети iExec.
  • Рынок данных — это место, где вы можете продавать или покупать наборы данных.

Архитектура

Decentralized AI построен поверх iExec, чтобы предложить простой способ запроса задачи машинного обучения.

Бэкенд

Был создан образ Docker в безголовом режиме(headless mode), включающий в себя Keras, Tensorflow, Python 3 и matplotlib, для отображения результата в файл.

Файл RCNN (Региональная сверточная нейронная сеть), обученный на наборе данных COCO, был добавлен к изображению.

Создан скрипт на Python, основанный на демонстрационной Jupyter Notebook от Matterport для Mask RCNN.

Образ Docker был развернут в DockerHub.

Это децентрализованное приложение было создано с использованием только что выпущенного iExec SDK V2 и развернуто на маркетплейсе iExec.

Результатом является приложение, готовое к вызову любым смарт-контрактом Ethereum. Контракт вызывает децентрализованное приложение с URL-адресом изображения для обработки.

Вычисление изображения делается офф-чейн и действует как Oracle.

Фронтенд

Слева пользователи могут загрузить свое изображение. Справа у них есть доступ к списку доступных работников и связанным с этим затратам на вычисления.

Разработчики Decentralized AI использовали NodeJS, Vue.JS, Vuetify, ETHjs, iExec front SDK, и IPFS-api.

Они использовали медийный протокол IPFS, чтобы позволить пользователю загружать изображение в IPFS. Однако этот процесс не является обязательным, поскольку пользователь также может скопировать и вставить URL-адрес из Интернета.

После этого пользователь оплачивает обработку данных в RLC и газ в ЕТН с помощью Metamask

Пользователь также может проверить все свои транзакции и загрузить результаты.

Более подробную информацию о том, как запустить приложение, можно найти на Github разработчиков.

Вы можете использовать Decentralized AI и выполнять семантическую сегментацию на собственных изображениях здесь: http://nrxubuntu.eastus2.cloudapp.azure.com/

Источник
[1] Benoît Courty, Matthew McAteer, Alexandre Moreau and Jeddi Mees (2018) Decentralized AI Whitepaper for Siraj’s Decentralized Apps
[2] Matterport (2018) Mask R-CNN for Object Detection and Segmentation

Присоединяйтесь к нам:

iExec 🇷🇺

Веб-СайтTelegramVKontakteInstagramTwitter • Facebook • YoutubeMediumGolos

iExec 🇺🇸

WebsiteMediumSlackTelegramRedditTwitterFacebookLinkedInYoutubeGithubKakaoInstagramSteemitKatacodaDocs

___________________________________________________________________

--

--