Utilizza i modelli di base generativi dell'IA in modalità VPC senza connettività Internet utilizzando Amazon SageMaker JumpStart | Servizi Web Amazon

Utilizza i modelli di base generativi dell'IA in modalità VPC senza connettività Internet utilizzando Amazon SageMaker JumpStart | Servizi Web Amazon

Con i recenti progressi in IA generativa, ci sono molte discussioni in corso su come utilizzare l'IA generativa in diversi settori per risolvere problemi aziendali specifici. L'IA generativa è un tipo di intelligenza artificiale in grado di creare nuovi contenuti e idee, tra cui conversazioni, storie, immagini, video e musica. È tutto supportato da modelli molto grandi che vengono preaddestrati su grandi quantità di dati e comunemente indicati come modelli di fondazione (FM). Questi FM possono eseguire un'ampia gamma di attività che abbracciano più domini, come scrivere post di blog, generare immagini, risolvere problemi di matematica, dialogare e rispondere a domande basate su un documento. Le dimensioni e la natura generica dei FM li rendono diversi dai modelli ML tradizionali, che in genere eseguono attività specifiche, come analizzare il testo per il sentiment, classificare le immagini e prevedere le tendenze.

Sebbene le organizzazioni stiano cercando di sfruttare la potenza di questi FM, desiderano anche che le soluzioni basate su FM vengano eseguite nei propri ambienti protetti. Le organizzazioni che operano in spazi fortemente regolamentati come i servizi finanziari globali, l'assistenza sanitaria e le scienze della vita hanno requisiti uditivi e di conformità per gestire il loro ambiente nei loro VPC. Infatti, molte volte, anche l'accesso diretto a Internet è disabilitato in questi ambienti per evitare l'esposizione a qualsiasi traffico indesiderato, sia in entrata che in uscita.

JumpStart di Amazon SageMaker è un hub ML che offre algoritmi, modelli e soluzioni ML. Con SageMaker JumpStart, i professionisti del machine learning possono scegliere da un elenco crescente di FM open source con le migliori prestazioni. Fornisce inoltre la possibilità di distribuire questi modelli nel proprio Cloud privato virtuale (VPC).

In questo post, dimostriamo come utilizzare JumpStart per distribuire a Flan-T5 XXL modello in un VPC senza connettività Internet. Discutiamo dei seguenti argomenti:

  • Come distribuire un modello di base utilizzando SageMaker JumpStart in un VPC senza accesso a Internet
  • Vantaggi dell'implementazione di FM tramite modelli SageMaker JumpStart in modalità VPC
  • Modi alternativi per personalizzare la distribuzione dei modelli di base tramite JumpStart

Oltre a FLAN-T5 XXL, JumpStart offre molti modelli di base diversi per varie attività. Per l'elenco completo, dai un'occhiata Iniziare con Amazon SageMaker JumpStart.

Panoramica della soluzione

Come parte della soluzione, copriamo i seguenti passaggi:

  1. Configura un VPC senza connessione a Internet.
  2. Impostare Amazon Sage Maker Studio utilizzando il VPC che abbiamo creato.
  3. Distribuisci il modello di base AI Flan T5-XXL generativo utilizzando JumpStart nel VPC senza accesso a Internet.

Di seguito è riportato un diagramma dell'architettura della soluzione.

sol-arco

Esaminiamo i diversi passaggi per implementare questa soluzione.

Prerequisiti

Per seguire questo post, è necessario quanto segue:

Configura un VPC senza connessione a Internet

Crea un nuovo stack CloudFormation tramite la configurazione di ricerca 01_rete.yaml modello. Questo modello crea un nuovo VPC e aggiunge due sottoreti private in due zone di disponibilità senza connettività Internet. Quindi distribuisce gli endpoint VPC del gateway per l'accesso Servizio di archiviazione semplice Amazon (Amazon S3) e interfaccia gli endpoint VPC per SageMaker e alcuni altri servizi per consentire alle risorse nel VPC di connettersi ai servizi AWS tramite Collegamento privato AWS.

Fornire un nome di stack, ad esempio No-Internete completare il processo di creazione dello stack.

input-stack-vpc

Questa soluzione non è a disponibilità elevata perché il modello CloudFormation crea endpoint VPC di interfaccia solo in una sottorete per ridurre i costi durante la procedura descritta in questo post.

Configura Studio utilizzando il VPC

Crea un altro stack CloudFormation utilizzando 02_sagemaker_studio.yaml, che crea un dominio di Studio, un profilo utente di Studio e risorse di supporto come i ruoli IAM. Scegli un nome per la pila; per questo post, usiamo il nome SageMaker-Studio-VPC-No-Internet. Fornisci il nome dello stack VPC che hai creato in precedenza (No-Internet) come il CoreNetworkingStackName parametro e lasciare tutto il resto come predefinito.

studio-cfn-stack-input

Attendi fino a quando AWS CloudFormation segnala che la creazione dello stack è stata completata. Puoi verificare che il dominio Studio sia disponibile per l'uso sulla console SageMaker.

dominio-home

Per verificare che l'utente del dominio di Studio non abbia accesso a Internet, avviare Studio utilizzando la console SageMaker. Scegliere Compila il , Newe terminal, quindi tenta di accedere a una risorsa Internet. Come mostrato nello screenshot seguente, il terminale continuerà ad attendere la risorsa e alla fine scadrà.

studio-terminale

Questo dimostra che Studio sta operando in un VPC che non ha accesso a Internet.

Implementa il modello di base dell'IA generativa Flan T5-XXL utilizzando JumpStart

Possiamo implementare questo modello tramite Studio e tramite API. JumpStart fornisce tutto il codice per distribuire il modello tramite un notebook SageMaker accessibile da Studio. Per questo post, presentiamo questa funzionalità di Studio.

  • Nella pagina di benvenuto di Studio, scegli inizio di salto sotto Soluzioni predefinite e automatizzate.

pagina-di-benvenuto-in-studio

  • Scegli il modello Flan-T5 XXL sotto Modelli di fondazione.

js-modello-hub

  • Per impostazione predefinita, apre il file Schierare scheda. Espandi il Configurazione di distribuzione sezione per modificare il hosting instance ed endpoint nameo aggiungi altri tag. C'è anche un'opzione per cambiare il S3 bucket location dove verrà archiviato l'artefatto del modello per la creazione dell'endpoint. Per questo post, lasciamo tutto ai suoi valori predefiniti. Prendere nota del nome dell'endpoint da utilizzare durante il richiamo dell'endpoint per effettuare previsioni.

deploy-js

  • espandere la Impostazioni di sicurezza sezione, dove è possibile specificare il IAM role per la creazione dell'endpoint. Puoi anche specificare il VPC configurations fornendo il subnets ed security groups. Gli ID della sottorete e gli ID del gruppo di sicurezza sono disponibili nella scheda Output dello stack VPC nella console AWS CloudFormation. SageMaker JumpStart richiede almeno due sottoreti come parte di questa configurazione. Le sottoreti e i gruppi di sicurezza controllano l'accesso da e verso il contenitore del modello.

js-deploy-impostazioni-di-sicurezza

NOTA: indipendentemente dal fatto che il modello SageMaker JumpStart sia distribuito o meno nel VPC, il modello viene sempre eseguito in modalità di isolamento della rete, che isola il contenitore del modello in modo che non possano essere effettuate chiamate di rete in entrata o in uscita da o verso il contenitore del modello. Poiché utilizziamo un VPC, SageMaker scarica l'artefatto del modello tramite il VPC specificato. L'esecuzione del contenitore del modello in isolamento di rete non impedisce all'endpoint SageMaker di rispondere alle richieste di inferenza. Un processo server viene eseguito insieme al contenitore del modello e gli inoltra le richieste di inferenza, ma il contenitore del modello non ha accesso alla rete.

  • Scegli Schierare per distribuire il modello. Possiamo vedere lo stato quasi in tempo reale della creazione dell'endpoint in corso. Il completamento della creazione dell'endpoint potrebbe richiedere da 5 a 10 minuti.

js-deploy-progress

Osservare il valore del campo Posizione dei dati del modello su questa pagina. Tutti i modelli SageMaker JumpStart sono ospitati su un bucket S3 gestito da SageMaker (s3://jumpstart-cache-prod-{region}). Pertanto, indipendentemente dal modello selezionato da JumpStart, il modello viene distribuito dal bucket SageMaker JumpStart S3 accessibile pubblicamente e il traffico non va mai alle API dello zoo del modello pubblico per scaricare il modello. Questo è il motivo per cui la creazione dell'endpoint del modello è iniziata correttamente anche quando stiamo creando l'endpoint in un VPC che non ha accesso diretto a Internet.

L'artefatto del modello può anche essere copiato in qualsiasi zoo modello privato o nel proprio bucket S3 per controllare e proteggere ulteriormente la posizione dell'origine del modello. È possibile utilizzare il seguente comando per scaricare il modello in locale utilizzando il file Interfaccia della riga di comando di 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 .
  • Dopo alcuni minuti, l'endpoint viene creato correttamente e mostra lo stato come In servizio. Scegliere Open Notebook nel Use Endpoint from Studio sezione. Questo è un notebook di esempio fornito come parte dell'esperienza JumpStart per testare rapidamente l'endpoint.

jumpstart-distribuzione-completa

  • Nel taccuino, scegli l'immagine come Scienza dei dati 3.0 e il kernel come Python 3. Quando il kernel è pronto, puoi eseguire le celle del notebook per fare previsioni sull'endpoint. Si noti che il notebook utilizza l'estensione richiamo_endpoint() API dal SDK AWS per Python per fare previsioni. In alternativa, puoi utilizzare il Predict() di SageMaker Python SDK metodo per ottenere lo stesso risultato.

esegui-distribuisci-notebook-jumpstart

Questo conclude i passaggi per distribuire il modello Flan-T5 XXL utilizzando JumpStart all'interno di un VPC senza accesso a Internet.

Vantaggi della distribuzione dei modelli SageMaker JumpStart in modalità VPC

Di seguito sono riportati alcuni dei vantaggi della distribuzione dei modelli SageMaker JumpStart in modalità VPC:

  • Poiché SageMaker JumpStart non scarica i modelli da uno zoo di modelli pubblici, può essere utilizzato anche in ambienti completamente bloccati dove non c'è accesso a Internet
  • Poiché l'accesso alla rete può essere limitato e ristretto per i modelli SageMaker JumpStart, questo aiuta i team a migliorare il livello di sicurezza dell'ambiente
  • A causa dei confini del VPC, l'accesso all'endpoint può anche essere limitato tramite sottoreti e gruppi di sicurezza, il che aggiunge un ulteriore livello di sicurezza

Modi alternativi per personalizzare la distribuzione dei modelli di base tramite SageMaker JumpStart

In questa sezione, condividiamo alcuni modi alternativi per distribuire il modello.

Utilizza le API JumpStart di SageMaker dal tuo IDE preferito

I modelli forniti da SageMaker JumpStart non richiedono l'accesso a Studio. Puoi distribuirli agli endpoint SageMaker da qualsiasi IDE, grazie al API JumpStart. Puoi saltare la fase di configurazione di Studio discussa in precedenza in questo post e utilizzare le API JumpStart per distribuire il modello. Queste API forniscono argomenti in cui è possibile fornire anche le configurazioni VPC. Le API fanno parte del SDK Python di SageMaker si. Per ulteriori informazioni, fare riferimento a Modelli pre-addestrati.

Usa i taccuini forniti da SageMaker JumpStart da SageMaker Studio

SageMaker JumpStart fornisce anche notebook per distribuire direttamente il modello. Nella pagina dei dettagli del modello, scegli Apra il taccuino per aprire un notebook di esempio contenente il codice per distribuire l'endpoint. Il taccuino usa API SageMaker JumpStart Industry che consentono di elencare e filtrare i modelli, recuperare gli artefatti e distribuire ed eseguire query sugli endpoint. Puoi anche modificare il codice del notebook in base ai requisiti specifici del tuo caso d'uso.

open-jumpstart-taccuino

Pulisci risorse

Guarda la PULIZIA.md file per trovare i passaggi dettagliati per eliminare Studio, VPC e altre risorse create come parte di questo post.

Troubleshooting

Se riscontri problemi nella creazione degli stack CloudFormation, fai riferimento a Risoluzione dei problemi di CloudFormation.

Conclusione

L'intelligenza artificiale generativa alimentata da modelli linguistici di grandi dimensioni sta cambiando il modo in cui le persone acquisiscono e applicano gli insight dalle informazioni. Tuttavia, le organizzazioni che operano in spazi fortemente regolamentati sono tenute a utilizzare le capacità di intelligenza artificiale generativa in un modo che consenta loro di innovare più rapidamente, ma anche di semplificare i modelli di accesso a tali capacità.

Ti invitiamo a provare l'approccio fornito in questo post per incorporare funzionalità di intelligenza artificiale generativa nel tuo ambiente esistente mantenendole comunque all'interno del tuo VPC senza accesso a Internet. Per ulteriori letture sui modelli base di SageMaker JumpStart, consulta quanto segue:


Circa gli autori

Utilizza modelli di base IA generativi in ​​modalità VPC senza connettività Internet utilizzando Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Vikesh Pandey è un Machine Learning Specialist Solutions Architect presso AWS, che aiuta i clienti del settore finanziario a progettare e creare soluzioni basate su AI e ML generativi. Al di fuori del lavoro, a Vikesh piace provare diverse cucine e praticare sport all'aria aperta.

Utilizza modelli di base IA generativi in ​​modalità VPC senza connettività Internet utilizzando Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai. Mehran Nico è Senior Solutions Architect presso AWS, lavora con le aziende di nativi digitali nel Regno Unito e le aiuta a raggiungere i loro obiettivi. Appassionato di applicare la sua esperienza di ingegneria del software al machine learning, è specializzato in machine learning end-to-end e pratiche MLOps.

Timestamp:

Di più da Apprendimento automatico di AWS