Use modelos básicos de IA generativos no modo VPC sem conectividade com a Internet usando o Amazon SageMaker JumpStart | Amazon Web Services

Use modelos básicos de IA generativos no modo VPC sem conectividade com a Internet usando o Amazon SageMaker JumpStart | Amazon Web Services

Com os recentes avanços em IA generativa, há muitas discussões acontecendo sobre como usar IA generativa em diferentes setores para resolver problemas de negócios específicos. IA generativa é um tipo de IA que pode criar novos conteúdos e ideias, incluindo conversas, histórias, imagens, vídeos e música. Tudo é apoiado por modelos muito grandes que são pré-treinados em grandes quantidades de dados e comumente referidos como modelos de fundação (FMs). Esses FMs podem executar uma ampla gama de tarefas que abrangem vários domínios, como escrever postagens de blog, gerar imagens, resolver problemas de matemática, dialogar e responder a perguntas com base em um documento. O tamanho e a natureza de uso geral dos FMs os tornam diferentes dos modelos tradicionais de ML, que normalmente executam tarefas específicas, como análise de texto para sentimento, classificação de imagens e previsão de tendências.

Enquanto as organizações procuram usar o poder desses FMs, elas também querem que as soluções baseadas em FM sejam executadas em seus próprios ambientes protegidos. As organizações que operam em espaços fortemente regulamentados, como serviços financeiros globais e saúde e ciências biológicas, têm requisitos de auditoria e conformidade para executar seu ambiente em seus VPCs. Na verdade, muitas vezes, até mesmo o acesso direto à Internet é desativado nesses ambientes para evitar a exposição a qualquer tráfego não intencional, tanto de entrada quanto de saída.

JumpStart do Amazon SageMaker é um hub de ML que oferece algoritmos, modelos e soluções de ML. Com o SageMaker JumpStart, os profissionais de ML podem escolher entre uma lista crescente de FMs de código aberto com melhor desempenho. Ele também fornece a capacidade de implantar esses modelos em seu próprio Nuvem privada virtual (VPC).

Nesta postagem, demonstramos como usar o JumpStart para implantar um Flan-T5 XXL modelo em uma VPC sem conectividade com a Internet. Discutimos os seguintes tópicos:

  • Como implantar um modelo de base usando o SageMaker JumpStart em uma VPC sem acesso à Internet
  • Vantagens de implantar FMs por meio de modelos SageMaker JumpStart no modo VPC
  • Maneiras alternativas de personalizar a implantação de modelos de fundação por meio do JumpStart

Além do FLAN-T5 XXL, o JumpStart oferece muitos modelos de base diferentes para várias tarefas. Para a lista completa, confira Conceitos básicos do Amazon SageMaker JumpStart.

Visão geral da solução

Como parte da solução, cobrimos as seguintes etapas:

  1. Configure uma VPC sem conexão com a Internet.
  2. Estabelecer Estúdio Amazon SageMaker usando a VPC que criamos.
  3. Implante o modelo de fundação generativo AI Flan T5-XXL usando o JumpStart no VPC sem acesso à Internet.

Veja a seguir um diagrama de arquitetura da solução.

arco sol

Vamos percorrer as diferentes etapas para implementar esta solução.

Pré-requisitos

Para acompanhar este post, você precisa do seguinte:

Configurar uma VPC sem conexão com a Internet

Crie uma nova pilha do CloudFormation usando o 01_networking.yaml modelo. Este modelo cria uma nova VPC e adiciona duas sub-redes privadas em duas zonas de disponibilidade sem conectividade com a Internet. Em seguida, ele implanta VPC endpoints de gateway para acessar Serviço de armazenamento simples da Amazon (Amazon S3) e VPC endpoints de interface para SageMaker e alguns outros serviços para permitir que os recursos no VPC se conectem aos serviços da AWS por meio de AWS PrivateLink.

Forneça um nome de pilha, como No-Internete conclua o processo de criação da pilha.

entrada de pilha vpc

Esta solução não está altamente disponível porque o modelo CloudFormation cria VPC endpoints de interface apenas em uma sub-rede para reduzir custos ao seguir as etapas desta postagem.

Configurar o Studio usando o VPC

Crie outra pilha do CloudFormation usando 02_sagemaker_studio.yaml, que cria um domínio do Studio, um perfil de usuário do Studio e recursos de suporte como funções do IAM. Escolha um nome para a pilha; para esta postagem, usamos o nome SageMaker-Studio-VPC-No-Internet. Forneça o nome da pilha VPC que você criou anteriormente (No-Internet) Enquanto o CoreNetworkingStackName parâmetro e deixe todo o resto como padrão.

entrada de pilha de estúdio-cfn

Aguarde até que o AWS CloudFormation informe que a criação da pilha foi concluída. Você pode confirmar se o domínio do Studio está disponível para uso no console do SageMaker.

domínio-home

Para verificar se o usuário do domínio do Studio não tem acesso à Internet, iniciar o Studio usando o console do SageMaker. Escolher Envie o, Novo e terminal, em seguida, tente acessar um recurso da Internet. Conforme mostrado na captura de tela a seguir, o terminal continuará aguardando o recurso e, eventualmente, atingirá o tempo limite.

terminal de estúdio

Isso prova que o Studio está operando em uma VPC que não tem acesso à internet.

Implante o modelo de base de IA generativa Flan T5-XXL usando o JumpStart

Podemos implantar esse modelo via Studio, bem como via API. O JumpStart fornece todo o código para implantar o modelo por meio de um notebook SageMaker acessível no Studio. Para esta postagem, mostramos esse recurso do Studio.

  • Na página de boas-vindas do Studio, escolha Acelerador em Soluções pré-construídas e automatizadas.

página de boas-vindas do estúdio

  • Escolha o modelo Flan-T5 XXL em Modelos de Fundação.

js-model-hub

  • Por padrão, ele abre o Implantação aba. Expandir o Configuração de implantação seção para alterar o hosting instance e endpoint nameou adicione tags adicionais. Há também a opção de alterar o S3 bucket location onde o artefato do modelo será armazenado para criar o terminal. Para esta postagem, deixamos tudo em seus valores padrão. Anote o nome do endpoint a ser usado ao chamar o endpoint para fazer previsões.

implantar-js

  • Expandir o Configurações de segurança seção, onde você pode especificar o IAM role para criar o ponto de extremidade. Você também pode especificar o VPC configurations fornecendo o subnets e security groups. Os IDs de sub-rede e IDs de grupo de segurança podem ser encontrados na guia Saídas da pilha de VPC no console do AWS CloudFormation. O SageMaker JumpStart requer pelo menos duas sub-redes como parte dessa configuração. As sub-redes e grupos de segurança controlam o acesso de e para o contêiner de modelo.

js-deploy-security-settings

NOTA: independentemente de o modelo SageMaker JumpStart ser implantado na VPC ou não, o modelo sempre é executado no modo de isolamento de rede, que isola o contêiner do modelo para que nenhuma chamada de rede de entrada ou saída possa ser feita de ou para o contêiner do modelo. Como estamos usando uma VPC, o SageMaker baixa o artefato de modelo por meio de nossa VPC especificada. A execução do contêiner de modelo em isolamento de rede não impede que o endpoint do SageMaker responda a solicitações de inferência. Um processo do servidor é executado ao lado do contêiner do modelo e encaminha as solicitações de inferência, mas o contêiner do modelo não tem acesso à rede.

  • Escolha Implantação para implantar o modelo. Podemos ver o status quase em tempo real da criação do terminal em andamento. A criação do terminal pode levar de 5 a 10 minutos para ser concluída.

js-deploy-progresso

Observe o valor do campo Localização dos dados do modelo nesta página. Todos os modelos SageMaker JumpStart são hospedados em um bucket S3 gerenciado pelo SageMaker (s3://jumpstart-cache-prod-{region}). Portanto, independentemente de qual modelo é escolhido no JumpStart, o modelo é implantado a partir do bucket SageMaker JumpStart S3 acessível ao público e o tráfego nunca vai para as APIs do zoológico de modelo público para fazer o download do modelo. É por isso que a criação do endpoint do modelo foi iniciada com sucesso, mesmo quando estamos criando o endpoint em uma VPC que não tem acesso direto à Internet.

O artefato de modelo também pode ser copiado para qualquer zoológico de modelo privado ou para seu próprio bucket S3 para controlar e proteger ainda mais a localização de origem do modelo. Você pode usar o seguinte comando para baixar o modelo localmente usando o Interface de linha de comando da AWS (AWS CLI):

aws s3 cp s3://jumpstart-cache-prod-eu-west-1/huggingface-infer/prepack/v1.0.2/infer-prepack-huggingface-text2text-flan-t5-xxl.tar.gz .
  • Após alguns minutos, o endpoint é criado com sucesso e mostra o status como Em serviço. Escolher Open Notebook no Use Endpoint from Studio seção. Este é um notebook de exemplo fornecido como parte da experiência JumpStart para testar rapidamente o terminal.

jumpstart-deploy-completo

  • No notebook, escolha a imagem como Ciência de Dados 3.0 e o kernel como Python 3. Quando o kernel estiver pronto, você poderá executar as células do notebook para fazer previsões no endpoint. Observe que o notebook usa o invoca_endpoint() API do AWS SDK para Python para fazer previsões. Alternativamente, você pode usar o SageMaker Python SDK's predict() método para obter o mesmo resultado.

executar-implantar-notebook-jumpstart

Isso conclui as etapas para implantar o modelo Flan-T5 XXL usando o JumpStart em uma VPC sem acesso à Internet.

Vantagens de implantar modelos SageMaker JumpStart no modo VPC

A seguir estão algumas das vantagens de implantar modelos SageMaker JumpStart no modo VPC:

  • Como o SageMaker JumpStart não baixa os modelos de um zoológico de modelo público, ele também pode ser usado em ambientes totalmente bloqueados onde não há acesso à Internet
  • Como o acesso à rede pode ser limitado e com escopo reduzido para modelos SageMaker JumpStart, isso ajuda as equipes a melhorar a postura de segurança do ambiente
  • Devido aos limites do VPC, o acesso ao endpoint também pode ser limitado por meio de sub-redes e grupos de segurança, o que adiciona uma camada extra de segurança

Maneiras alternativas de personalizar a implantação de modelos de fundação por meio do SageMaker JumpStart

Nesta seção, compartilhamos algumas formas alternativas de implantar o modelo.

Use as APIs JumpStart do SageMaker no seu IDE preferido

Os modelos fornecidos pelo SageMaker JumpStart não exigem que você acesse o Studio. Você pode implantá-los nos endpoints do SageMaker a partir de qualquer IDE, graças ao APIs JumpStart. Você pode pular a etapa de configuração do Studio discutida anteriormente neste post e usar as APIs JumpStart para implantar o modelo. Essas APIs fornecem argumentos em que as configurações de VPC também podem ser fornecidas. As APIs fazem parte do SDK Python do SageMaker em si. Para mais informações, consulte Modelos pré-treinados.

Use blocos de anotações fornecidos pelo SageMaker JumpStart do SageMaker Studio

O SageMaker JumpStart também fornece notebooks para implantar o modelo diretamente. Na página de detalhes do modelo, escolha Caderno aberto para abrir um notebook de amostra contendo o código para implantar o terminal. O caderno usa APIs da indústria SageMaker JumpStart que permitem listar e filtrar os modelos, recuperar os artefatos e implantar e consultar os terminais. Você também pode editar o código do notebook de acordo com os requisitos específicos do caso de uso.

open-jumpstart-notebook

Limpe os recursos

Confira o LIMPEZA.md arquivo para encontrar etapas detalhadas para excluir o Studio, VPC e outros recursos criados como parte desta postagem.

guia de solução de problemas

Se você encontrar algum problema ao criar as pilhas do CloudFormation, consulte Solução de problemas do CloudFormation.

Conclusão

A IA generativa alimentada por grandes modelos de linguagem está mudando a forma como as pessoas adquirem e aplicam insights de informações. No entanto, as organizações que operam em espaços fortemente regulamentados são obrigadas a usar os recursos generativos de IA de uma forma que lhes permita inovar mais rapidamente, mas também simplificar os padrões de acesso a esses recursos.

Incentivamos você a experimentar a abordagem fornecida nesta postagem para incorporar recursos generativos de IA em seu ambiente existente, mantendo-o dentro de seu próprio VPC sem acesso à Internet. Para ler mais sobre os modelos de fundação SageMaker JumpStart, confira o seguinte:


Sobre os autores

Use modelos generativos de base de IA no modo VPC sem conectividade com a Internet usando o Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Pandey Vikesh é arquiteto de soluções especialista em aprendizado de máquina na AWS, ajudando clientes de setores financeiros a projetar e criar soluções em IA e ML generativas. Fora do trabalho, Vikesh gosta de experimentar diferentes cozinhas e praticar esportes ao ar livre.

Use modelos generativos de base de IA no modo VPC sem conectividade com a Internet usando o Amazon SageMaker JumpStart | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai. Mehran Nikoo é Arquiteto de Soluções Sênior na AWS, trabalhando com empresas Nativas Digitais no Reino Unido e ajudando-as a atingir seus objetivos. Apaixonado por aplicar sua experiência em engenharia de software ao aprendizado de máquina, ele se especializou em aprendizado de máquina de ponta a ponta e práticas de MLOps.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS