Este guia mostra como publicar um modelo de linguagem (conteúdo extenso) (MDI/CE) usando unidades de processamento tensor (TPUs) no Google Kubernetes Engine (GKE) com o JetStream através do PyTorch. Neste guia, transfere os pesos dos modelos para o Cloud Storage e implementa-os num cluster do GKE Autopilot ou Standard através de um contentor que executa o JetStream.
Se precisar da escalabilidade, da resiliência e da rentabilidade oferecidas pelas funcionalidades do Kubernetes ao implementar o seu modelo no JetStream, este guia é um bom ponto de partida.
Este guia destina-se a clientes de IA generativa que usam o PyTorch, utilizadores novos ou existentes do GKE, engenheiros de ML, engenheiros de MLOps (DevOps) ou administradores de plataformas que tenham interesse em usar capacidades de orquestração de contentores do Kubernetes para publicar LLMs.
Contexto
Ao publicar um MDG com TPUs no GKE com o JetStream, pode criar uma solução de publicação robusta e pronta para produção com todas as vantagens do Kubernetes gerido, incluindo rentabilidade, escalabilidade e maior disponibilidade. Esta secção descreve as tecnologias principais usadas neste tutorial.
Acerca das TPUs
As TPUs são circuitos integrados específicos da aplicação (ASICs) desenvolvidos pela Google e usados para acelerar a aprendizagem automática e os modelos de IA criados com frameworks como o TensorFlow, o PyTorch e o JAX.
Antes de usar as TPUs no GKE, recomendamos que conclua o seguinte percurso de aprendizagem:
- Saiba mais sobre a disponibilidade da versão atual da TPU com a arquitetura do sistema Cloud TPU.
- Saiba mais sobre as TPUs no GKE.
Este tutorial aborda a publicação de vários modelos de MDIs. O GKE implementa o modelo em nós TPUv5e de anfitrião único com topologias de TPU configuradas com base nos requisitos do modelo para publicar comandos com baixa latência.
Acerca do JetStream
O JetStream é uma framework de serviço de inferência de código aberto desenvolvida pela Google. O JetStream permite uma inferência de alto desempenho, com elevado débito e otimizada em função da memória em TPUs e GPUs. O JetStream oferece otimizações de desempenho avançadas, incluindo o processamento em lote contínuo, otimizações da cache KV e técnicas de quantização, para facilitar a implementação de LLMs. O JetStream permite a publicação de TPUs do PyTorch/XLA e JAX para alcançar um desempenho ótimo.
Criação de lotes contínua
O processamento em lote contínuo é uma técnica que agrupa dinamicamente os pedidos de inferência recebidos em lotes, reduzindo a latência e aumentando o débito.
Quantização da cache KV
A quantização da cache KV envolve a compressão da cache de chave-valor usada nos mecanismos de atenção, o que reduz os requisitos de memória.
Quantização de pesos Int8
A quantização de pesos Int8 reduz a precisão dos pesos do modelo de ponto flutuante de 32 bits para números inteiros de 8 bits, o que resulta num cálculo mais rápido e numa utilização de memória reduzida.
Para saber mais acerca destas otimizações, consulte os repositórios dos projetos JetStream PyTorch e JetStream MaxText.
Acerca do PyTorch
O PyTorch é uma framework de aprendizagem automática de código aberto desenvolvida pela Meta e agora parte da Linux Foundation. O PyTorch oferece funcionalidades de alto nível, como o cálculo de tensores e redes neurais profundas.