Проект 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/!
Обзор
Manta — это простой способ окунуться в Ocean Protocol, включающий интерактивные учебные пособия, демонстрации и фрагменты кода, в которых используются новейшие компоненты от команды наших разработчиков.
Manta работает на JupyterHub, облачном сервере, позволяющем создавать персональные экземпляры JupyterLab с предварительно настроенным Ocean Protocol, которые работают в вашем браузере. JupyterLab — это интерфейс интерактивной оболочки IPython, часто используемый специалистами по обработке и анализу данных, который набирает популярность среди компаний и учреждений.
В этом посте я сначала опишу инфраструктуру, а затем представлю несколько виртуальных «блокнотов», иллюстрирующих фундаментальные взаимодействия с блокчейном Ocean Protocol и другими компонентами, каждый из которых симулируется в облаке с использованием системы Kubernetes.
Данная статья является первой в серии публикаций о проекте Manta Ray, которые будут посвящены:
- Описанию инфраструктуры и основных «блокнотов» (эта статья).
- Демонстрации всех стадий работы с данными в Ocean: поиск набора данных, приобретение доступа к активу, обучение вашей модели и публикация вашей модели обратно в Ocean.
- Демонстрации более сложных функций и тому, как 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 можно узнать из нашей недавней публикации в блоге.
От образа к экземпляру
Полученный образ загружается с использованием облачного экземпляра, который можно выбрать в соответствии с вашими потребностями. Доступные экземпляры могут включать в себя экземпляры с одноядерным процессором и маленьким объёмом оперативной памяти для тестирования, или с GPU и многоядерным процессором для моделей «глубокого обучения». После загрузки машины «блокноты» Jupyter можно запускать, изменять или скачивать в браузере.
От экземпляра к Ocean Protocol
Ваш сервер Jupyter Notebook не дрейфует в «океане» в одиночку. Фактически основные компоненты, входящие в сеть Ocean Protocol, также работают в облаке и выступают в качестве конечных точек для взаимодействия!
Центральным компонентом является сервисный блокчейн-узел, на котором работает виртуальная машина Ethereum и наши смарт-контракты. Таким образом осуществляется внедрение бизнес-логики соглашений на выполнение услуг (SEA).
Среда Python в JupyterLab
После входа и аутентификации JupyterHub создает персональный однопользовательский сервер «блокнота». На левой панели будет представлена структура папок. Перейдите в папку mantaray_jupyter и запустите «блокнот» 00 Welcome. Остальные «блокноты» будут запускаться последовательно.
JupyterLab использует концепцию ядер. Они представляют собой виртуальные среды и указывают, какая версия Python (или другого языка программирования) используется для исполнения ячеек. Единственным установленным ядром является базовое ядро Python 3, в котором уже установлен API Ocean.
«Блокнот» 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 и подписывайтесь на нашу рассылку, чтобы узнавать о новостях раньше других.