Desenvolver modelos de ML não precisa causar dor de cabeça. Com o OCI Data Science, a plataforma serverless e gerenciada pela Oracle Cloud Infrastructure, cientistas de dados podem focar no desenvolvimento de modelos, métodos e domínio. A infraestrutura fica por conta da nuvem!
A ideia é centralizar todo o ciclo de vida de ML dentro do OCI, com governança (via OCI IAM), computação (CPUs e GPUs NVIDIA) e integração nativa com os bancos de dados da Oracle.
Vamos ver como o OCI Data Science funciona passo a passo com pré-requisitos de IAM, redes, Jobs, Pipelines e Deployments.
Pré-requisitos do OCI Data Science
Antes de usar, seu administrador da tenancy deve configurar as redes, dynamic groups e políticas apropriadas!
Criando VCN e Sub-redes
Crie sua VCN e sub-redes com o Start VCN Wizard; ele irá automaticamente criar as dependências necessárias.
Criando Dynamic Group
Na tenancy, crie o dynamic group com as seguinte regras:
ALL {resource.type = 'datasciencenotebooksession', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaa...'}
ALL {resource.type='datasciencemodeldeployment', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaa...'}
ALL {resource.type='datasciencejobrun', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaa...'}
ALL {resource.type='datascienceschedule', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaa...'}
ALL {resource.type='dataflowrun', resource.compartment.id = 'ocid1.compartment.oc1..aaaaaa...'}
Dei o nome de datascience-dynamic-group no meu, mas pode ser qualquer nome.
Criando as Políticas
Crie uma política a nível de Tenancy com os seguintes statements:
Service Policies
allow service datascience to use virtual-network-family in tenancy
Non-Administrator User Policies
allow group datascience-dynamic-group to use virtual-network-family in tenancy
allow group datascience-dynamic-group to manage data-science-family in tenancy
Dynamic Group Policies
allow dynamic-group datascience-dynamic-group to manage data-science-family in tenancy
Nota: Embora essa política conceda controle total sobre os recursos do Data Science em si, ela não concede automaticamente permissão para o Data Science interagir com outros serviços da OCI. Para gerenciar tudo de verdade (por exemplo, fazer um Pipeline acessar um bucket no Object Storage), você precisará de políticas adicionais autorizando esses outros serviços.
Explorando Os Serviços do OCI Data Science
Para acessar os serviços disponíveis, basta ir Analytics & AI e clicar em Data Science, logo abaixo de Machine Learning.
Clique em Create Project e selecione o compartimento desejado. Dê a ele nome e descrição.
Uma vez no seu projeto, há várias opções para ver. Vamos explorar o que cada uma faz.
| Componente | Função Principal | Casos de Uso |
|---|---|---|
| Notebook Sessions | Ambiente JupyterLab gerenciado | Análise exploratória e prototipagem |
| Jobs | Execução de tarefas em lote (Batch) | Treinamento de modelos e processamento |
| Pipelines | Orquestração de MLOps de ponta a ponta | Workflows sequenciais ou paralelos |
| Model Catalog | Repositório central com controle de versão | Armazenamento de artefatos de ML |
| Model Deployments | Endpoints HTTP/REST para inferência | Servir predições em tempo real |
| Schedules | Automação temporal de tarefas | Agendamento via Cron ou iCal |
| Tags | Taggeamento de recursos no OCI | Auditoria e FinOps |
1. Notebook Sessions
Aqui você cria seus notebooks. Um notebook é um ambiente computacional interativo que combina, em um mesmo documento:
- Células de código executadas individualmente, com o resultado aparecendo logo abaixo.
- Células de texto (Markdown) para explicações, títulos, fórmulas matemáticas (LaTeX), imagens.
- Saídas visuais como gráficos, tabelas, imagens, áudio e texto.
Ou seja: é como se fosse um caderno digital onde você mistura código, documentação e resultados num só lugar.
Clique em Create Notebook Session para criar seu notebook.
Crie uma instância para hospedar seu notebook. O padrão de block storage em GBs é de 100.
Escolha qual rede e endpoint vai usar neste notebook.
Se o seu notebook vai interagir com arquivos já armazenados no OCI, escolha o seu armazenamento de arquivos ou bucket.
Basta clicar em criar para criar sua primeira sessão de notebook.
2. Jobs
Jobs são tarefas repetitivas e automatizáveis de ML, que podem ser preparadas e agendadas. A infraestrutura fica por conta da OCI, você só determina o que deve ser feito.
Ao clicar em Create Job, defina se a tarefa pode ser realizada por um único nodo ou muitos, dê um nome e descrição à sua tarefa.
Defina as configurações de ambiente customizado (se houver) e valor. Eles servem para gerenciar pacotes e dependências de forma isolada.
Defina o comando customizável (se houver). Também coloque um tempo entre 5 a 43200 minutos.
Selecione a infraestrutura (single node ou multi node, o que vai rodar esse job).
Selecione os recursos de rede e qualquer artefato necessário ao job.
Opcionalmente, você pode configurar um serviço de logs, usar seu próprio ambiente de configuração (usando imagens do container registry), utilizar serviços de storage e até uma sonda na inicialização do job.
3. Pipelines
A Pipeline é um conjunto de jobs, scripts, containers e aplicações DataFlow que realiza um fluxo de trabalho de ML de ponta a ponta, o famoso MLOps.
Com Add Pipeline Steps, você pode adicionar os jobs criados e outras etapas da Pipeline em sequência.
4. Models
Essa tela de Models é o catálogo onde você armazena, versiona e gerencia os modelos de IA/ML que você cria. Pense nela como um repositório para os seus modelos de Machine Learning dentro da OCI.
Quando você treina um modelo de IA (por exemplo, um modelo para prever vendas ou classificar imagens) em um notebook da OCI, você pode salvá-lo neste catálogo. Você também pode fazer o upload de um modelo que já treinou localmente ou em um notebook.
Os modelos armazenados aqui também podem ser implantados como endpoints HTTP. Isso significa que você pode transformar o seu modelo em uma API que outros sistemas (como um site ou um aplicativo) podem chamar para obter previsões em tempo real!
5. Model Group
- Create Model Group: Cria o agrupamento em si. Você escolhe quais modelos existentes no Model Store (a tela de Models) farão parte do grupo. O limite é de 500 modelos.
- Create Model Group Version History: Cria uma versão histórica do grupo. Isso é útil para rastrear a evolução do conjunto de modelos ao longo do tempo, adicionando ou removendo modelos conforme necessário.
Os grupos podem ser homogêneos, heterogêneos e stacked:
- Homogeneous: Modelos do mesmo tipo que compartilham o mesmo runtime.
- Heterogeneous: Modelos de frameworks diferentes (PyTorch, TensorFlow, ONNX) rodando juntos no mesmo ambiente.
- Stacked: Projetado para LLMs, onde você tem um modelo base e vários fine-tuned weights, permitindo alternar entre eles sem recarregar tudo do zero.
6. Model Deployments
O Model Deployment é simples: ele expõe seu modelo ou grupo de modelos a um endpoint HTTP. Em outras palavras, ele disponibiliza seu modelo para uso como uma API e provisiona a infraestrutura escalável e confiável.
Para expor o modelo como um endpoint, o serviço provisiona e gerencia automaticamente uma infraestrutura que inclui Load Balancer, Instâncias e Réplicas em memória.
Na hora de criar, você pode optar por diferentes estratégias de deploy. Você pode implantar um único modelo no endpoint, colocar vários modelos (até 500) em um único deploy ou usar uma pilha de modelos, que é útil para LLMs, onde você tem um modelo base e múltiplas variantes fine-tuned, permitindo alternar entre elas sem recarregar tudo.
Lembre-se que ele envolve infraestrutura dedicada e por isso é um recurso cobrado por hora de uso (de OCPU e largura de banda), diferente do armazenamento de modelos no catálogo!
7. Schedules
O Schedule do OCI Data Science agenda Jobs e Pipelines, permitindo que você os acione periodicamente sem precisar fazer isso manualmente.
Você pode configurar o agendamento de algumas formas:
- Interface de Formulário: Para frequências simples, como "diário" ou "a cada hora".
- Expressão Cron: Para agendamentos mais complexos, usando a sintaxe padrão de cron.
- Expressão iCal: Outra forma de definir recorrências.
- Janela Aleatória: Um horário aleatório dentro de um período que você define. Isso ajuda a distribuir a carga e evitar picos de uso.
8. Tags
Nunca subestime o poder do taggeamento de recursos para auditoria de FinOps.
FAQ
O que é o OCI Data Science?
O OCI Data Science é um serviço gerenciado da Oracle Cloud Infrastructure que permite criar, treinar e implantar modelos de machine learning usando infraestrutura serverless com integração ao ecossistema OCI.
Como funciona o custo do OCI Data Science?
O armazenamento de artefatos no Model Catalog utiliza tarifas padrão do OCI Object Storage. Já a execução de Notebook Sessions, Jobs e Model Deployments é cobrada por hora de uso das OCPUs/GPUs e recursos de rede alocados.
É possível utilizar GPUs para treinamento no OCI Data Science?
Sim, o serviço permite alocar instâncias e superclusters com GPUs NVIDIA tanto para Notebook Sessions interativas quanto para tarefas automatizadas via Jobs e Pipelines.
























Top comments (0)