Marvin é um ambicioso projeto de código aberto que se concentra em ajudar equipes a entregar soluções de machine learning de maneira ágil. A plataforma oferece uma arquitetura padronizada e agnóstica de linguagem, de alta escala e baixa latência enquanto simplifica o processo de exploração e modelagem de projetos de IA.
8. Marvin: Plataforma open source de Inteligência Artificial
Permite que equipes de ciência de
dados entreguem aplicativos de
IA, simplificando o processo
de exploração e modelagem.
10. Padronizando: DASFE pattern
Data Acquisition
and Cleaning
initial dataset
Training
Preparation
dataset
Model Training
model
Model Evaluation
metrics
Batch Actions
Prediction
Preparation
input message
Model Prediction
final prediction
Online Actions
Prediction
Feedback end
13. Abstraindo: principais componentes
● Toolbox - Conjunto de utilitários específicos por linguagem de
programação que auxilia em todo processo de exploração, desenvolvimento,
teste e deploy de uma engine (python-toolbox, scala-toolbox, r-toolbox etc).
● Engine - Projeto que contém o código fonte relacionado ao modelo, é
administrado pelo toolbox. Implementação do DASFE pattern.
● Engine Executor - Responsável por toda a abstração arquitetural em
torno da Engine (paralelismo, versionamento, APIs, disponibilidade etc).
● Artefatos - Binários persistidos e versionados no fim de cada ação batch
(initial dataset, dataset, model e metrics).
17. Abstraindo: marvin toolbox
● Python: github.com/marvin-ai/marvin-python-toolbox (v0.0.1)
○ notebook integrado
○ integração com spark, keras etc
○ integração contínua (git, gerenciamento de versão, test unitários, profiling, test funcional etc)
○ gerador de template
○ importação e sampling de dados do hive
○ marvin common classes (properties, logs, data etc)
○ ...
● Scala: github.com/marvin-ai/marvin-scala-toolbox (em construção)
● Java: github.com/marvin-ai/marvin-java-toolbox (vamos contruir?)
● R: github.com/marvin-ai/marvin-r-toolbox (vamos contruir?)
18. Abstraindo: Ambiente de desenvolvimento
O marvin toolbox é compatível com o ubuntu e macOS !!!
https://github.com/marvin-ai/marvin-python-toolbox/blob/master/README.md
...mas também é possível utilizar uma box do vagrant (muito fácil) !!!
https://github.com/marvin-ai/marvin-vagrant-dev/blob/master/README.md
19. Marvin Roadmap
● Jupyter extension to generate code
● Admin module
● Toolbox: Go, R, Java, Scala support
● Feedback server
● Artifacts persistence layer: S3 and local FS support
● Remote provisioning and deployment: Azure, AWS and GCP
● Automate feature engineering
● Hyper parameters support
● ML for no-data scientists
● ...