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

Para criar um aplicativo de IA, provisione um cluster seguro e particular do Google Kubernetes Engine (GKE) otimizado para cargas de trabalho de IA e implante sua 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 fundamental necessária para a veiculação de modelos de alta performance. Este modelo configura um cluster do GKE particular e seguro otimizado para inferência de IA.

  • Carga de trabalho do GKE de inferência pré-treinada de IA (prévia): implante um gráfico do Helm que inclui 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 serviço 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, você pode implantar os modelos de cluster e de 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 capacidade de processamento e baixa latência de transmissões de vídeo simultâneas.
Processamento especializado de documentos Uma seguradora precisa extrair automaticamente informações de milhares de formulários de sinistro diários, que tê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 do GKE Standard: um cluster seguro e particular em que sua carga de trabalho de IA é executada.

    A tabela a seguir descreve a configuração do cluster neste modelo:

    Configuração Finalidade
    node_locations, definida 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, definida como true. Permite a visibilidade do tráfego entre pods 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.
    O gateway_api_config é ativado usando {"channel":"CHANNEL_STANDARD"}. A API GKE Inference Gateway ajuda a gerenciar o tráfego de entrada para seus 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, definida como false. private_cluster_config.enable_private_nodes é true. control_plane_endpoints_config.dns_endpoint_config.allow_external_traffic é definido como true. Garante que os nós de trabalho em que seus modelos de IA são executados tenham endereços IP particulares. Isso isola seus nós da Internet pública. O plano de controle do GKE é configurado para ser acessível publicamente, permitindo que você gerencie o cluster fora da rede de nuvem privada virtual (VPC).
    release_channel, definida como {"channel":"REGULAR"}. Garante que seu cluster do GKE receba atualizações estáveis e previsíveis, oferecendo 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, definida como 0. autoscaling.max_node_count é 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, diminuindo os custos durante períodos inativos. O limite máximo do 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: é definido como "LATEST". O recurso gpu_sharing_config está ativado com TIME_SHARING. max_shared_clients_per_gpu: é 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 mudou 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 seus 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 amplo acesso aos serviços do Google Cloud , permitindo a interação da API para tarefas como geração de registros, monitoramento e extração de imagens de contêiner.
    node_config.shielded_instance_config.enable_secure_boot, definida 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 carregador de inicialização 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 implantação e escalonamento de 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 a OpenAI.
model.id: google/gemma-7b-it Define o modelo ajustado por instruções do Gemma 7B como o modelo a ser disponibilizado.
model.hfSecret: hf-secret Indica que o modelo requer 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 do GKE Standard equipados com GPUs NVIDIA L4, ideais para inferências econômicas e de alto desempenho.
hpa.enabled: true Ativa o escalonador automático de pods horizontal, que permite que o aplicativo dimensione automaticamente o número de pods (entre minReplicas: 1 e maxReplicas: 10) com base em targetCPUUtilizationPercentage: 80%. Garante o desempenho durante picos de carga e a eficiência de custos durante períodos de baixo uso.
tensorParallelSize: 1 Indica que o modelo não está dividido em várias GPUs em um único pod.
maxModelLen: 512 Controla o tamanho máximo da sequência que o modelo Gemma 7B pode processar.
service.type: ClusterIP O serviço é 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 seu modelo de IA permanece disponível durante interrupções voluntárias, como manutenção de nós.

Criar seu aplicativo de IA

Use os modelos Cluster e carga de trabalho do cluster do GKE de inferência pré-treinada de IA para implantar seu aplicativo de IA.

Implante sua infraestrutura de IA

Configure e implante o modelo Cluster do GKE de inferência pré-treinada de IA para criar a infraestrutura fundamental em que sua 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. A implantação do aplicativo leva alguns minutos.

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

  5. Identifique o cluster_id do seu aplicativo. Você vai usar essas informações ao implantar o gráfico do Helm.

Implante sua carga de trabalho de IA

Use o modelo Carga de trabalho do GKE de inferência pré-treinada de IA para implantar sua carga de trabalho de IA no cluster criado. Você vai implantar um gráfico do Helm que inclui a configuração da sua 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 aquele 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, digite default.

    5. Clique em Criar aplicativo.

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

  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 específicas.

    3. Para implantar o gráfico do Helm no cluster, clique em Implantar.

      Para conferir as etapas detalhadas, consulte Implantar aplicativos.

    Após alguns minutos, a configuração do gráfico do Helm é implantada no cluster do GKE.

A seguir