Проект Manta Ray — наука о данных на основе Ocean Protocol

Представляем Manta Ray — Ocean Protocol для ученых и инженеров, работающих с большими данными, а также для разработчиков на языке Python. Manta Ray предназначен для эффективного использования интерфейса программирования приложений (API) Ocean (именуемого squid-py), который позволяет применять методы поверхностного уровня для поиска, публикации и использования активов сети Ocean Protocol на более глубоком уровне. Вы уже знакомы с Jupyter Notebooks? Или только хотите погрузиться в их изучение? Начните использовать Ocean Protocol по ссылке https://datascience.oceanprotocol.com/!

Обзор

Манта может достигать 7 метров в длину! Изображение: Джон Хансон, Лондон, Великобритания — Flickr, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=665502

Manta — это простой способ окунуться в Ocean Protocol, включающий интерактивные учебные пособия, демонстрации и фрагменты кода, в которых используются новейшие компоненты от команды наших разработчиков.

Manta работает на JupyterHub, облачном сервере, позволяющем создавать персональные экземпляры JupyterLab с предварительно настроенным Ocean Protocol, которые работают в вашем браузере. JupyterLab — это интерфейс интерактивной оболочки IPython, часто используемый специалистами по обработке и анализу данных, который набирает популярность среди компаний и учреждений.

В этом посте я сначала опишу инфраструктуру, а затем представлю несколько виртуальных «блокнотов», иллюстрирующих фундаментальные взаимодействия с блокчейном Ocean Protocol и другими компонентами, каждый из которых симулируется в облаке с использованием системы Kubernetes.

Данная статья является первой в серии публикаций о проекте Manta Ray, которые будут посвящены:

  1. Описанию инфраструктуры и основных «блокнотов» (эта статья).
  2. Демонстрации всех стадий работы с данными в Ocean: поиск набора данных, приобретение доступа к активу, обучение вашей модели и публикация вашей модели обратно в Ocean.
  3. Демонстрации более сложных функций и тому, как Ocean может использоваться для организации более масштабных рабочих процессов, связанных с инженерией, а также прогнозированием/распоряжением данными.

Кроме того, мы объявим о нескольких баунти-кампаниях, направленных на привлечение большего количества участников экосистемы.

Облачная инфраструктура на основе Jupyter для работы с данными в Ocean Protocol

Код всех «блокнотов» сначала создается в регулярных выражениях на языке Python с использованием #%% в качестве комментария для описания ячейки кода. Затем эти скрипты преобразуются в формат Jupyter Notebook с помощью пакета, который называется nbconvert . Для «чистой» публикации на сервере эти «блокноты» помещаются в специальный репозиторий mantaray jupyter.

В следующих разделах я расскажу, как создать свой личный сервер Jupyter Notebook.

Всё начинается с образа диска …

Работа с JupyterHub начинается с базового контейнера, извлекаемого из набора контейнеров Jupyter на Dockerhub. Существуют контейнеры для TensorFlow, pyspark и других сред обработки данных; все они предварительно загружены и настроены. В этот базовый контейнер добавляется API Ocean Protocol. Затем копируется на диск репозиторий mantaray jupyter, содержащий последние «блокноты» и конечные точки конфигурации. В результате получается полностью загруженный и сконфигурированный образ, подходящий для демонстраций, обучения и даже комплексного тестирования в Ocean Protocol. Наш основной API называется Squid и поддерживает Python и JavaScript (а в скором времени и Java). Подробности о работе Squid можно узнать из нашей недавней публикации в блоге.

1) Компонуемые образы дисков

От образа к экземпляру

Полученный образ загружается с использованием облачного экземпляра, который можно выбрать в соответствии с вашими потребностями. Доступные экземпляры могут включать в себя экземпляры с одноядерным процессором и маленьким объёмом оперативной памяти для тестирования, или с GPU и многоядерным процессором для моделей «глубокого обучения». После загрузки машины «блокноты» Jupyter можно запускать, изменять или скачивать в браузере.

2) Компонуемые виртуальные вычислительные экземпляры

От экземпляра к Ocean Protocol

Ваш сервер Jupyter Notebook не дрейфует в «океане» в одиночку. Фактически основные компоненты, входящие в сеть Ocean Protocol, также работают в облаке и выступают в качестве конечных точек для взаимодействия!

Центральным компонентом является сервисный блокчейн-узел, на котором работает виртуальная машина Ethereum и наши смарт-контракты. Таким образом осуществляется внедрение бизнес-логики соглашений на выполнение услуг (SEA).

Среда Python в JupyterLab

Диспетчер файлов JupyterLab с клонированными файлами репозитория mantaray_jupyter.

После входа и аутентификации JupyterHub создает персональный однопользовательский сервер «блокнота». На левой панели будет представлена ​​структура папок. Перейдите в папку mantaray_jupyter и запустите «блокнот» 00 Welcome. Остальные «блокноты» будут запускаться последовательно.

JupyterLab использует концепцию ядер. Они представляют собой виртуальные среды и указывают, какая версия Python (или другого языка программирования) используется для исполнения ячеек. Единственным установленным ядром является базовое ядро ​​Python 3, в котором уже установлен API Ocean.

Ячейка JupyterLab, подключающаяся к Ocean Protocol

«Блокнот» Jupyter разделен на ячейки, которые исполняются в произвольном порядке. Весь код внутри ячейки выполняется, а результаты отображаются под ней. Существуют два основных типа ячеек: ячейки с кодом и отформатированные на языке Markdown ячейки для документации.

Попробуйте сами!

Мы надеемся, что эта статья поможет понять наш первоначальный подход к возможностям работы с данными с помощью сервисных конвейеров. Если вы хотите самостоятельно проверить все на практике, погрузитесь в Manta Ray по адресу datascience.oceanprotocol.com и привяжите свою учетную запись GitHub.

Обратите внимание, что на момент написания статьи Ocean Protocol находится на стадии альфа-релиза, поэтому если вы столкнетесь с какими-либо сложностями, сообщите нам о них в нашем чате Gitter или на GitHub. Также помните, что проект предназначен только для ознакомительных целей. Не сохраняйте важную информацию в экземплярах Notebook, поскольку мы будем регулярно (а, может, и нет) очищать все хранилище!

Следите за новостями!

В следующей публикации мы расскажем о других «блокнотах», позволяющих работать с данными, а также поведаем о других технологиях, описанных в нашем блоге https://blog.oceanprotocol.com/ !

Благодарности

Вдохновением для создания данной концепции послужила серия публикаций в блоге Netflix. Мы надеемся, что сможем узнать еще больше об использовании «блокнотов» для комплексного тестирования и разработки!

За пределами интерактивности: инновации в работе с «блокнотами» в Netflix

Мишель Аффорд, М. Пэйсер, Мэтью Сил и Кайл Келли
medium.com

Мы также благодарим команду разработчиков Ocean Protocol за создание базовых компонентов и API, а также наших разработчикам за управление кластером k8s!

Переведено Ocean Protocol Ambassador Valentina Bitcoin.


Готовы к погружению? Посетите oceanprotocol.com или Dev-Ocean, чтобы узнать над чем мы работаем, а также задавайте все свои вопросы в нашем Gitter-чате.

Следите за Ocean Protocol в Twitter, Telegram, LinkedIn, Reddit, GitHub и подписывайтесь на нашу рассылку, чтобы узнавать о новостях раньше других.