Sobre a Arquitetura
A arquitetura envolve uma solução multicloud com o Google Cloud e a OCI, em que a GKE orquestra o processo geral de treinamento e inferência, enquanto transfere a parte computacionalmente intensiva para a OCI AI Infrastructure sob demanda. Os dados são transferidos entre as duas nuvens e os resultados são retornados ao GKE para processamento adicional.
O diagrama a seguir ilustra a arquitetura de referência:
Componentes da Arquitetura
Essa arquitetura contém estes componentes:
- Cluster GKE (Google Kubernetes Engine)
O Cluster GKE gerencia jobs de treinamento de modelo em contêineres e envia jobs de treinamento para o cluster do Kubernetes.
- Definição do Cargo de Treinamento do Modelo
A Definição do Job de Treinamento do Modelo especifica o script de treinamento, o local de dados (Armazenamento em Nuvem), os parâmetros do modelo e o número desejado de nós de trabalho.
- Script de Treinamento em Contêineres
Um Script de Treinamento em Contêiner é executado nos nós de trabalho, executando o treinamento do modelo real usando o modelo em execução no OCI AI Infrastructure.
- Operador do Kubernetes (Opcional)
O Kubernetes Operator é um parâmetro opcional que automatiza a implantação e o gerenciamento de jobs de treinamento no GKE.
- Cloud Storage
O Cloud Storage armazena os artefatos de dados e modelo de treinamento.
- Monitoramento em Nuvem (Opcional)
O Cloud Monitoring é um componente opcional que monitora o status do job, a utilização de recursos e as métricas de treinamento.
- Resultados do Modelo
Os resultados do modelo são enviados de volta ao GKE para avaliação, armazenamento ou implantação.
- Domínio de disponibilidade
Domínios de disponibilidade são data centers stand-alone e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou refrigeração ou a rede interna do domínio de disponibilidade. Portanto, uma falha em um domínio de disponibilidade não deve afetar os outros domínios de disponibilidade na região.
- FastConnect
O Oracle Cloud Infrastructure FastConnect fornece uma maneira fácil de criar uma conexão privada dedicada entre o seu data center e o Oracle Cloud Infrastructure. O FastConnect fornece opções de largura de banda maior e uma experiência de rede mais confiável quando comparado com conexões baseadas na internet.
- Região
Região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominada domínios de disponibilidade. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou até mesmo continentes).
- Rede virtual na nuvem (VCN) e sub-rede
Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após a criação da VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.
- Computação
O serviço Oracle Cloud Infrastructure Compute permite provisionar e gerenciar hosts de computação na nuvem. Você pode iniciar instâncias de computação com formas que atendam aos seus requisitos de recursos para CPU, memória, largura de banda de rede e armazenamento. Depois de criar uma instância de computação, você pode acessá-la com segurança, reiniciá-la, anexar e desconectar volumes e encerrá-la quando não precisar mais dela.
- Container Engine para Kubernetes
O Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) é um serviço totalmente gerenciado, escalável e altamente disponível que você pode usar para implantar seus aplicativos de contêineres na nuvem. Você especifica os recursos de computação necessários para os seus aplicativos, e o Container Engine for Kubernetes provisiona-os no Oracle Cloud Infrastructure em uma tenancy existente. O Container Engine for Kubernetes usa o Kubernetes para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos conteinerizados em clusters de hosts.
- Oracle Interconnect for Google Cloud
O Oracle Interconnect for Google Cloud é um serviço de interconexão privado dedicado que combina conexões de parceiros FastConnect da OCI e Interconexões de Parceiros do Google Cloud que ajuda os clientes multicloud a inovar em duas nuvens e aplicar ferramentas existentes e familiares para suportar cargas de trabalho.
Fluxo de Comunicação
Nesta arquitetura, o tráfego de dados flui assim:
- Os clientes enviam uma definição de job de treinamento de modelo por meio do GKE.
- A definição do job especifica o script de treinamento conteinerizado, o local dos dados e os nós de trabalho desejados.
- Os nós de trabalho extraem o script de treinamento e os dados do Cloud Storage. O script de treinamento aproveita as GPUs em execução na OCI AI Infrastructure para treinar o modelo.
- Os resultados do treinamento são carregados no Cloud Storage ou enviados de volta ao GKE para processamento adicional.
- O Cloud Monitoring opcional coleta métricas do job de treinamento para análise de desempenho.
Casos de Uso de Inferência Adicional
Além do caso de uso descrito acima, essa arquitetura também suporta dois casos de uso de inferência:
- Inferência em tempo real com requisitos de baixa latência.
- Inferência de lote para conjuntos de dados grandes.
Inferência em tempo real com requisitos de baixa latência
Nesse caso de uso, os clientes exigem respostas imediatas do modelo LLM para aplicativos como chatbots, assistentes virtuais ou tradução em tempo real. A solução projeta o seguinte fluxo de dados:
- A entrada do usuário é enviada para o ambiente GKE em execução no GCP.
- O GKE orquestra a solicitação para a Infraestrutura de IA do OCI.
- A OCI AI Infrastructure processa a entrada usando o modelo de LLM implantado.
- Os resultados de inferência são retornados para GKE.
- O GKE formata e envia a resposta ao usuário.
- Ele fornece inferência de baixa latência devido ao Oracle Interconnect for Google Cloud, o que reduz a proximidade da infraestrutura de inferência com o aplicativo.
- Ele tem escalabilidade suficiente para lidar com cargas de inferência variadas por meio dos recursos elásticos da OCI AI Infrastructure.
- Ele oferece economia de custos potencial ao otimizar hardware e software de inferência.
Inferência de lote para grandes conjuntos de dados
Nesse caso, os clientes precisam processar grandes volumes de dados por meio do modelo LLM em um modo batch, como análise de sentimento em um conjunto de dados massivo ou geração de resumos para um grande corpus de documentos. Você pode resolver esse caso implementando este fluxo de dados:
- Os dados são preparados e armazenados em um bucket de armazenamento do Google Cloud.
- Uma tarefa em batch é iniciada no GKE, acionada por um Cloud Scheduler ou Cloud Functions.
- O GKE orquestra a transferência de dados para a OCI AI Infrastructure.
- A OCI AI Infrastructure processa os dados em lotes usando o modelo LLM.
- Os resultados de inferência são armazenados em um bucket de armazenamento do Google Cloud.
- O pós-processamento, se necessário, é executado no GKE.
- Ele fornece processamento econômico de grandes conjuntos de dados, aproveitando o poder de computação da OCI AI Infrastructure.
- Ele fornece melhor desempenho em comparação com a execução de inferência apenas no GKE.
- Ele tem a capacidade de lidar com diversos formatos e tamanhos de dados.