Por que motivo usar o GKE para a inferência de IA/ML

Este documento é a primeira parte de uma série destinada a engenheiros de aprendizagem automática (AA) que estão a usar o GKE pela primeira vez e querem começar a executar cargas de trabalho de inferência no GKE o mais rapidamente possível.

Nesta série, não vamos tentar ensinar-lhe todas as opções do GKE disponíveis. Em alternativa, fornecemos-lhe as informações básicas de que precisa para executar as suas cargas de trabalho no GKE. Esta série inclui os seguintes documentos:

Como profissional de IA/AA, pode usar o Google Kubernetes Engine (GKE) ( GKE) para ajudar a gerir as implementações de modelos. O GKE é um serviço que lhe permite automatizar a implementação, o dimensionamento e a monitorização das suas cargas de trabalho de inferência baseadas no Kubernetes e na infraestrutura de computação em que as suas cargas de trabalho são executadas. Este documento aborda algumas das principais vantagens da utilização do GKE para a inferência de modelos, incluindo o seguinte:

Antes de começar

Antes de ler este documento, deve conhecer o seguinte:

Empacote os seus modelos para um desempenho consistente

A inferência de modelos consistente e fiável é crucial para a sua aplicação de IA e o GKE pode reduzir a complexidade operacional da gestão da inferência em grande escala. Ao agrupar o modelo preparado, o servidor de inferência e todas as dependências num contentor, cria um artefacto padronizado e portátil que é executado de forma consistente no GKE. A contentorização ajuda a reduzir os erros causados por dependências incompatíveis ou ambientes inconsistentes. O GKE implementa e gere automaticamente estes contentores. Processa tarefas como reiniciar cargas de trabalho com falhas ou reaprovisionar recursos para ajudar a estabilizar o desempenho das suas cargas de trabalho de IA/ML.

Use GPUs e TPUs para reduzir a latência da publicação

A latência é um problema para as cargas de trabalho de inferência e alguns modelos complexos dependem de aceleradores de hardware, como GPUs e TPUs, para acelerar o serviço de inferência. O GKE simplifica o processo de utilização de GPUs ou TPUs para as suas cargas de trabalho de inferência sensíveis à latência. Escolhe as configurações de hardware específicas que melhor se adequam aos seus requisitos de desempenho e custo, e o GKE aprovisiona e gere automaticamente o hardware que escolher. Por exemplo, o GKE automatiza a instalação de controladores NVIDIA, o que é um passo que normalmente requer configuração manual no Kubernetes.

O GKE também oferece capacidades de gestão de recursos para que possa usar os recursos de TPU e GPU de forma mais eficiente para a publicação de inferências. Por exemplo, pode usar o GKE para agendar ou partilhar pools de GPUs ou TPUs em vários modelos, ou pode usar aceleradores com VMs Spot para aumentar a rentabilidade dos custos para cargas de trabalho de inferência tolerantes a falhas. Estas capacidades ajudam a maximizar a utilização dos recursos do acelerador, ao mesmo tempo que otimizam a latência de publicação e o custo.

Lidar automaticamente com padrões de tráfego flutuantes

O tráfego e a carga de trabalho de inferência em tempo real podem ser imprevisíveis e dinâmicos. Um pico na procura pode levar a um aumento da latência e a uma redução do desempenho. O GKE oferece uma abordagem de várias camadas à escala automática para que possa adicionar ou remover recursos automaticamente para satisfazer a procura de inferência variável. Por exemplo, pode usar o Horizontal Pod Autoscaler (HPA) para ajustar automaticamente o número de pods numa implementação ou o cluster autoscaler para ajustar automaticamente o número de nós num conjunto de nós existente. Ao usar as capacidades de dimensionamento automático do GKE, pode fazer corresponder de forma eficiente a quantidade de recursos de que a sua carga de trabalho de inferência precisa à quantidade de procura da aplicação.

Monitorize o estado e o desempenho da sua carga de trabalho de inferência

O GKE está integrado com o Google Cloud conjunto de observabilidade (Cloud Logging e Cloud Monitoring) e pode usar funcionalidades de observabilidade incorporadas para monitorizar o estado e o desempenho das suas cargas de trabalho de inferência. Estas funcionalidades de observabilidade dão-lhe estatísticas e visibilidade sobre o desempenho da sua carga de trabalho após a implementação. Por exemplo, pode questionar-se se o seu modelo está a funcionar como esperado ou se a sua carga de trabalho cumpre os requisitos de latência e precisão.

O GKE comunica automaticamente métricas de infraestrutura, como a utilização da CPU, da memória e do acelerador. Para responder a perguntas sobre o desempenho específico do modelo, pode usar o serviço gerido do Google Cloud para Prometheus ou enviar métricas personalizadas da sua aplicação de inferência para o Cloud Monitoring. Por exemplo, pode configurar a monitorização automática de aplicações e monitorizar as principais métricas de inferência, como pedidos por segundo (RPS); monitorizar a variação de conceitos analisando métricas específicas do modelo, como a distribuição de dados de entrada; e depurar problemas através da análise do histórico de registos.

Use o GKE para portabilidade e flexibilidade

Ao usar normas abertas, como contentores, e tecnologias de código aberto, como o Kubernetes, o GKE dá-lhe a liberdade de mover as suas cargas de trabalho de serviço de inferência para diferentes localizações e usar diferentes recursos e ferramentas à medida que os seus requisitos mudam. Por exemplo, pode desenvolver e testar a sua aplicação de inferência no GKE e, em seguida, implementar essa mesma aplicação contentorizada no seu ambiente no local para produção.

Em conclusão, pode usar o GKE para simplificar a forma como move os seus modelos de IA/ML do desenvolvimento para a produção. O GKE processa muitas complexidades envolvidas na gestão da infraestrutura, o que significa que pode concentrar-se na execução das suas cargas de trabalho de inferência num ambiente de alto desempenho, escalável e observável. À medida que avança nesta série, vai aprender como pode usar o GKE para transformar os seus modelos de IA/ML em aplicações poderosas prontas para produção.

O que se segue?