Para criar um aplicativo de IA, provisione um cluster do Google Kubernetes Engine (GKE) seguro e particular otimizado para cargas de trabalho de IA e implante a carga de trabalho usando um gráfico do Helm. Este guia descreve os seguintes modelos, que podem ser personalizados para implantar um aplicativo de IA:
Cluster do GKE de inferência pré-treinada de IA: crie a infraestrutura básica necessária para a disponibilização de modelos de alta performance. Esse modelo configura um cluster do GKE seguro e particular otimizado para inferência de IA.
Carga de trabalho do GKE de inferência pré-treinada de IA (visualização): implante um gráfico do Helm que inclua a configuração de uma carga de trabalho de IA. Use o gráfico do Helm para implantar um modelo Gemma pré-treinado usando o mecanismo de disponibilização do vLLM. A carga de trabalho é configurada para solicitações eficientes de recursos de GPU e um Escalonador automático horizontal de pods (HPA) para escalonar com base no uso do cache da GPU.
Por exemplo, é possível implantar os modelos de cluster e carga de trabalho para atender às seguintes necessidades comerciais:
| Exemplo | Necessidade comercial | Implementação |
|---|---|---|
| Análise de vídeo em tempo real | Uma empresa de segurança precisa processar streams de vídeo de centenas de câmeras para detectar anomalias ou objetos específicos em tempo real. | Implante modelos de processamento de vídeo no pool de nós ativado para GPU. As GPUs podem processar as demandas de alta taxa de transferência e baixa latência de streams de vídeo simultâneos. |
| Processamento especializado de documentos | Uma seguradora precisa extrair informações automaticamente de milhares de formulários de sinistro diários, que contêm layouts e caligrafias variados. | Use o cluster do GKE para hospedar modelos personalizados e garantir que os dados nunca saiam do ambiente seguro durante o processamento. |
| Mecanismo de recomendação de alto volume | Uma plataforma de e-commerce precisa disponibilizar recomendações de produtos personalizadas para os usuários durante os eventos de compras de fim de ano. | Use a API Gateway do Google Kubernetes Engine para rotear grandes volumes de tráfego de usuários para os modelos de recomendação. A API Gateway pode lidar com picos repentinos de tráfego sem degradação da latência. |
Arquitetura
A imagem a seguir mostra os componentes e as conexões no modelo:
A seguir, descrevemos as configurações de componentes neste modelo:
Cluster padrão do GKE: um cluster seguro e particular em que a carga de trabalho de IA é executada.
A tabela a seguir descreve a configuração do cluster neste modelo:
Configuração Finalidade node_locationsestá definido como["us-central1-a", "us-central1-b", "us-central1-c"].Garante alta disponibilidade e resiliência ao distribuir os nós do cluster em três zonas na região us-central1.enable_intranode_visibilityestá definido comotrue.Ativa a visibilidade do tráfego de pod para pod no mesmo nó nos registros de fluxo de VPC. Essa visibilidade é necessária para monitoramento de rede, solução de problemas e análise de segurança. gateway_api_configé ativado usando{"channel":"CHANNEL_STANDARD"}.A API GKE Inference Gateway ajuda a gerenciar o tráfego de entrada para os serviços do Kubernetes. A API ajuda a configurar o roteamento refinado, o balanceamento de carga avançado e a vinculação de políticas centralizada. private_cluster_config.enable_private_endpointestá definido comofalse.private_cluster_config.enable_private_nodesétrue.control_plane_endpoints_config.dns_endpoint_config.allow_external_trafficestá definido comotrue.Garante que os nós de trabalho em que os modelos de IA são executados tenham endereços IP particulares. Isso isola os nós da Internet pública. O plano de controle do GKE está configurado para ser acessível publicamente, permitindo que você gerencie o cluster fora da rede da nuvem privada virtual (VPC). release_channelestá definido como{"channel":"REGULAR"}.Garante que o cluster do GKE receba atualizações estáveis e previsíveis, proporcionando um equilíbrio entre novos recursos e confiabilidade. Pool de nós do GKE: um grupo de nós de trabalho que executam os contêineres do aplicativo.
A tabela a seguir descreve as configurações do pool de nós neste modelo:
Configuração Finalidade autoscaling.min_node_countestá definido como0.autoscaling.max_node_countestá definido como3(o padrão é100).O pool de nós pode reduzir escala vertical completamente quando não há cargas de trabalho de IA em execução, reduzindo os custos durante períodos de inatividade. O limite superior para escalonamento ajuda a controlar os custos e o consumo de recursos. O parâmetro node_config.guest_acceleratoré adicionado.gpu_driver_installation_config.gpu_driver_version:está definido como"LATEST".gpu_sharing_configestá ativado comTIME_SHARING.max_shared_clients_per_gpu:está definido como2.Especifica o uso de GPUs NVIDIA L4 para tarefas de inferência de IA. Os drivers de GPU necessários são instalados automaticamente. Várias cargas de trabalho menores podem compartilhar uma única GPU. node_config.machine_typefoi alterado para"g2-standard-8".O tipo de máquina foi projetado especificamente para complementar as GPUs L4. As vCPUs (8) e a memória (32 GB) são criadas para oferecer suporte à GPU e executar aplicativos de inferência de IA. node_config.oauth_scopesincluihttps://www.googleapis.com/auth/cloud-platform.A conta de serviço do nó tem acesso amplo aos Google Cloud serviços, permitindo a interação da API para tarefas como registro, monitoramento e extração de imagens de contêiner. node_config.shielded_instance_config.enable_secure_bootestá definido comotrue.A inicialização segura ajuda a proteger os nós contra malware no nível da inicialização, verificando as assinaturas criptográficas do bootloader e do kernel antes da execução.
Configuração do gráfico do Helm
A tabela a seguir lista as configurações do gráfico do Helm, que foram personalizadas para implantar e escalonar um serviço de inferência de IA no GKE.
| Configuração | Finalidade |
|---|---|
replicaCount: 1 |
Cria uma única réplica inicial. |
image.repository: vllm/vllm-openai |
Usa uma imagem vLLM, uma biblioteca otimizada para inferência de modelos de linguagem grandes (LLMs), exposta usando uma API compatível com o OpenAI. |
model.id: google/gemma-7b-it |
Define o modelo ajustado para instruções Gemma 7B como o modelo a ser disponibilizado. |
model.hfSecret: hf-secret |
Indica que o modelo exige autenticação usando um Secret do Kubernetes para gerenciamento seguro de credenciais. |
resources.limits e requests para nvidia.com/gpu: "1" |
Garante que cada pod receba uma GPU dedicada. |
nodeSelector.cloud.google.com/gke-accelerator: nvidia-l4 |
Garante que os pods do modelo de IA sejam programados exclusivamente em nós GKE Standard equipados com GPUs NVIDIA L4, que são ideais para inferência econômica e de alta performance. |
hpa.enabled: true |
Ativa o escalonador automático de pods horizontal, que permite que o aplicativo escalone automaticamente o número de pods (entre minReplicas: 1 e maxReplicas: 10) com base em targetCPUUtilizationPercentage: 80%. Garante a performance durante picos de carga e a eficiência de custos durante o uso baixo. |
tensorParallelSize: 1 |
Indica que o modelo não está dividido em várias GPUs em um único pod. |
maxModelLen: 512 |
Controla o comprimento máximo da sequência que o modelo Gemma 7B pode processar. |
service.type: ClusterIP |
O serviço está configurado para acesso interno no cluster. |
pdb.enabled: true e minAvailable: 1 |
Um orçamento de interrupção de pods está ativado para garantir alta disponibilidade. Pelo menos uma réplica do modelo de IA permanece disponível durante interrupções voluntárias, como a manutenção de nós. |
Criar seu aplicativo de IA
Use os modelos Cluster do GKE de inferência pré-treinada de IA e carga de trabalho para implantar o aplicativo de IA.
Implantar sua infraestrutura de IA
Configure e implante o modelo Cluster do GKE de inferência pré-treinada de IA para criar a infraestrutura básica em que a carga de trabalho de IA é executada.
Duplique e implante o modelo Cluster do GKE de inferência pré-treinada de IA como um aplicativo.
Um cluster do GKE é criado no projeto de implantação escolhido.
Configure os componentes. Para ver mais informações, consulte os seguintes tópicos:
Clique em Implantar. O aplicativo é implantado após vários minutos.
No painel Detalhes do aplicativo, clique na guia Saídas.
Identifique o cluster_id do aplicativo. Você vai usar essas informações ao implantar o gráfico do Helm.
Implantar sua carga de trabalho de IA
Use o modelo Carga de trabalho do GKE de inferência pré-treinada de IA para implantar a carga de trabalho de IA no cluster criado. Você vai implantar um gráfico do Helm que inclui a configuração da carga de trabalho de IA.
Na página Catálogo do Google, no modelo Carga de trabalho do GKE de inferência pré-treinada de IA, clique em Criar novo aplicativo.
No campo Nome, insira um nome exclusivo para o aplicativo.
Na área Destino de implantação do GKE, faça o seguinte:
Na lista de projetos, selecione o projeto em que você implantou o cluster do GKE no aplicativo Cluster do GKE de inferência pré-treinada de IA.
Na lista Região, selecione a região em que você implantou o cluster do GKE.
Na lista Clusters, selecione o cluster do GKE implantado.
Na lista Namespace, insira o namespace em que você implantou o cluster do GKE. Se você não mudou o nome, insira
default.Clique em Criar aplicativo.
O aplicativo é criado e os arquivos de configuração são exibidos.
No painel Gráfico do Helm, faça o seguinte:
Revise os detalhes da configuração.
Opcional: personalize a configuração para atender às suas necessidades exclusivas.
Para implantar o gráfico do Helm no cluster, clique em Implantar.
Para conferir as etapas detalhadas, consulte Implantar aplicativos.
Após vários minutos, a configuração do gráfico do Helm será implantada no cluster do GKE.
A seguir
- Duplique e personalize esse modelo criando modelos do Google.
- Defina suas próprias configurações criando modelos de aplicativos.
- Identifique as práticas recomendadas de arquitetura geral com o Google Cloud Framework de arquitetura.