Cluster e carga de trabalho do GKE de inferência pré-treinada de IA

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:

Um cluster conectado a um pool de nós na tela de design

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_locations está 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_visibility está definido como true. 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_endpoint está definido como false. private_cluster_config.enable_private_nodes é true. control_plane_endpoints_config.dns_endpoint_config.allow_external_traffic está definido como true. 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_channel está 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_count está definido como 0. autoscaling.max_node_count está definido como 3 (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_config está ativado com TIME_SHARING. max_shared_clients_per_gpu: está definido como 2. 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_type foi 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_scopes inclui https://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_boot está definido como true. 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.

  1. 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.

  2. Configure os componentes. Para ver mais informações, consulte os seguintes tópicos:

  3. Clique em Implantar. O aplicativo é implantado após vários minutos.

  4. No painel Detalhes do aplicativo, clique na guia Saídas.

  5. 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.

  1. 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.

  2. No campo Nome, insira um nome exclusivo para o aplicativo.

  3. Na área Destino de implantação do GKE, faça o seguinte:

    1. 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.

    2. Na lista Região, selecione a região em que você implantou o cluster do GKE.

    3. Na lista Clusters, selecione o cluster do GKE implantado.

    4. Na lista Namespace, insira o namespace em que você implantou o cluster do GKE. Se você não mudou o nome, insira default.

    5. Clique em Criar aplicativo.

    O aplicativo é criado e os arquivos de configuração são exibidos.

  4. No painel Gráfico do Helm, faça o seguinte:

    1. Revise os detalhes da configuração.

    2. Opcional: personalize a configuração para atender às suas necessidades exclusivas.

    3. 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