Avvio rapido: creazione di un dominio sandbox SageMaker AI per avviare i cluster Amazon EMR in Studio - Amazon SageMaker AI

Avvio rapido: creazione di un dominio sandbox SageMaker AI per avviare i cluster Amazon EMR in Studio

Questa sezione illustra la configurazione rapida di un ambiente di test completo in Amazon SageMaker Studio. Creerai un nuovo dominio Studio che consentirà agli utenti di avviare nuovi cluster Amazon EMR direttamente da Studio. Nella procedura è riportato un notebook di esempio che puoi connettere a un cluster Amazon EMR per iniziare a eseguire i carichi di lavoro Spark. Con questo notebook, creerai un sistema di generazione potenziata da recupero dati (RAG) utilizzando l’elaborazione distribuita Amazon EMR Spark e il database vettoriale OpenSearch.

Nota

Per iniziare, accedi alla Console di gestione AWS con un account utente AWS Identity and Access Management (IAM) con autorizzazioni di amministratore. Per informazioni su come registrare un account AWS e creare un utente con accesso amministrativo, consulta Prerequisiti completi per Amazon SageMaker AI.

Fase 1. Crea un dominio SageMaker AI per avviare i cluster Amazon EMR in Studio

Nelle fasi seguenti, applicherai uno stack CloudFormation per creare automaticamente un nuovo dominio SageMaker AI. Lo stack crea anche un profilo utente e configura l’ambiente e le autorizzazioni necessari. Il dominio SageMaker AI è configurato per consentirti di avviare direttamente i cluster Amazon EMR da Studio. In questo esempio, i cluster Amazon EMR vengono creati nello stesso account AWS di SageMaker AI senza autenticazione. Puoi trovare stack CloudFormation aggiuntivi che supportano vari metodi di autenticazione come Kerberos nel repository GitHub getting_started.

Nota

Per impostazione predefinita, SageMaker AI consente 5 domini Studio per ogni account AWS e per ogni Regione AWS. Prima di creare lo stack, verifica che l’account non abbia più di 4 domini nella tua Regione.

Segui questa procedura per configurare un dominio SageMaker AI per l’avvio di cluster Amazon EMR da Studio.
  1. Scarica il file non elaborato di questo modello CloudFormation dal repository GitHub sagemaker-studio-emr.

  2. Vai alla console CloudFormation all’indirizzo https://console.aws.amazon.com/cloudformation.

  3. Scegli Crea stack e seleziona Con nuove risorse (standard) dal menu a discesa.

  4. Nella Fase 1:

    1. Nella sezione Prepara modello, seleziona Scegli un modello esistente.

    2. Nella sezione Specify template(Specifica il modello) scegliere Upload a template file (Carica un file modello).

    3. Carica il modello CloudFormation scaricato e scegli Avanti.

  5. Nella Fase 2, inserisci un nome per lo stack e SageMakerDomainName, quindi scegli Avanti.

  6. Nella Fase 3, mantieni tutti i valori predefiniti e scegli Avanti.

  7. Nella Fase 4, seleziona la casella per confermare la creazione della risorsa e scegli Crea stack. Questo crea un dominio Studio nel tuo account e nella tua Regione.

Fase 2. Avvia un nuovo cluster Amazon EMR dall’interfaccia utente di Studio

Nelle fasi seguenti, creerai un nuovo cluster Amazon EMR dall’interfaccia utente di Studio.

  1. Accedi alla console di SageMaker AI all’indirizzo https://console.aws.amazon.com/sagemaker/ e scegli Domini nel menu a sinistra.

  2. Fai clic sul nome del tuo dominio GenerativeAIDomain per aprire la pagina Dettagli del dominio.

  3. Avvia Studio dal profilo utente genai-user.

  4. Nel riquadro di navigazione a sinistra, vai su Dati, quindi scegli Cluster Amazon EMR.

  5. Nella pagina dei cluster Amazon EMR, scegli Crea. Seleziona il modello SageMaker Studio Domain No Auth EMR creato dallo stack CloudFormation, quindi scegli Avanti.

  6. Immetti un nome per il nuovo cluster Amazon EMR. Aggiorna facoltativamente altri parametri come il tipo di istanza dei nodi core e principali, il timeout di inattività o il numero di nodi core.

  7. Scegli Crea risorsa per avviare il nuovo cluster Amazon EMR.

    Dopo aver creato il cluster Amazon EMR, osservane lo stato nella pagina Cluster EMR. Quando lo stato cambia in Running/Waiting, il cluster Amazon EMR è pronto per essere utilizzato in Studio.

Fase 3. Connetti un notebook JupyterLab al cluster Amazon EMR

Nelle fasi seguenti, connetterai un notebook in JupyterLab al cluster Amazon EMR in esecuzione. Per questo esempio, importi un notebook per creare un sistema di generazione potenziata da recupero dati (RAG) utilizzando l’elaborazione distribuita Amazon EMR Spark e il database vettoriale OpenSearch.

  1. Avvia JupyterLab

    Da Studio, avvia l’applicazione JupyterLab.

  2. Crea uno spazio privato

    Se non hai creato uno spazio per l’applicazione JupyterLab, scegli Crea uno spazio JupyterLab. Inserisci un nome per lo spazio e mantieni l’impostazione Privato. Lascia i valori predefiniti in tutte le altre impostazioni, quindi seleziona Crea spazio.

    In alternativa, esegui lo spazio JupyterLab per avviare un’applicazione JupyterLab.

  3. Implementa i tuoi modelli di LLM e di embedding per l’inferenza
    • Nel menu in alto, scegli File, Nuovo e Terminale.

    • Utilizza il comando seguente nel terminale.

      wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb mkdir AWSGuides cd AWSGuides wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/AmazonSageMakerDeveloperGuide.pdf wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/EC2DeveloperGuide.pdf wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/S3DeveloperGuide.pdf

      Il comando recupera il notebook Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb nella cartella locale e scarica tre file PDF in una cartella locale AWSGuides.

    • Apri lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb, mantieni il kernel Python 3 (ipykernel) ed esegui ogni cella.

      avvertimento

      Nella sezione Contratto di licenza di Llama 2, assicurati di accettare l’EULA di Llama2 prima di continuare.

      Il notebook implementa due modelli, Llama 2 e all-MiniLM-L6-v2 Models, in ml.g5.2xlarge per l’inferenza.

      L’implementazione dei modelli e la creazione degli endpoint possono richiedere un po’ di tempo.

  4. Apri il tuo notebook principale

    In JupyterLab, apri il terminale e utilizza il comando seguente.

    cd .. wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb

    Dovresti vedere il notebook Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb aggiuntivo nel pannello sinistro di JupyterLab.

  5. Scegli un kernel PySpark

    Apri il notebook Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb e assicurati di utilizzare il kernel SparkMagic PySpark. Puoi cambiare il kernel in alto a destra nel notebook. Scegli il nome del kernel corrente per aprire una finestra modale di selezione del kernel, quindi scegli SparkMagic PySpark.

  6. Connetti il notebook al cluster
    1. Scegli Cluster in alto a destra nel notebook. Si apre una finestra modale che elenca tutti i cluster in esecuzione a cui hai accesso.

    2. Seleziona il tuo cluster, quindi scegli Connetti. Si apre una nuova finestra modale di selezione del tipo di credenziale.

    3. Scegli Nessuna credenziale, quindi Connetti.

      Finestra modale che mostra una selezione di credenziali Amazon EMR per i notebook JupyterLab.
    4. Una cella del notebook viene compilata ed eseguita automaticamente. La cella del notebook carica l’estensione sagemaker_studio_analytics_extension.magics, che fornisce funzionalità per la connessione al cluster Amazon EMR. Quindi utilizza il comando magic %sm_analytics per avviare la connessione al cluster Amazon EMR e all’applicazione Spark.

      Nota

      Verifica che il tipo di autenticazione della stringa di connessione al cluster Amazon EMR sia impostato su None. Questa informazione è rappresentata dal valore --auth-type None nell’esempio seguente. Puoi modificare il campo, se necessario.

      %load_ext sagemaker_studio_analytics_extension.magics %sm_analytics emr connect --verify-certificate False --cluster-id your-cluster-id --auth-type None --language python
    5. Una volta stabilita correttamente la connessione, il messaggio di output della cella di connessione dovrebbe mostrare i dettagli di SparkSession, tra cui l’ID del cluster, l’ID dell’applicazione YARN e un link all’interfaccia utente di Spark per il monitoraggio dei processi Spark.

Puoi iniziare a utilizzare il notebook Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb. Questo notebook di esempio esegue carichi di lavoro PySpark distribuiti per la creazione di un sistema RAG con LangChain e OpenSearch.

Fase 4. Pulisci lo stack CloudFormation

Al termine, assicurati di terminare i due endpoint ed eliminare lo stack CloudFormation per evitare addebiti continuativi. L’eliminazione dello stack rimuove tutte le risorse allocate dallo stack.

Per eliminare lo stack CloudFormation quando hai finito di utilizzarlo
  1. Vai alla console CloudFormation all’indirizzo https://console.aws.amazon.com/cloudformation.

  2. Seleziona lo stack che intendi eliminare. Puoi effettuare una ricerca di base al nome o individuarlo nell’elenco degli stack.

  3. Fai clic sul pulsante Elimina per completare l’eliminazione dello stack, quindi fai di nuovo clic su Elimina per confermare l’eliminazione di tutte le risorse create dallo stack.

    Attendi il completamento del processo di eliminazione dello stack. Questa operazione può richiedere alcuni minuti. CloudFormation pulisce automaticamente tutte le risorse definite nel modello dello stack.

  4. Verifica che tutte le risorse create dallo stack siano state eliminate. Ad esempio, verifica la presenza di eventuali cluster Amazon EMR rimanenti.

Per rimuovere gli endpoint API per un modello
  1. Vai alla console SageMaker AI all’indirizzo https://console.aws.amazon.com/sagemaker/.

  2. Nel riquadro di navigazione di sinistra, apri Inferenza e scegli Endpoint.

  3. Seleziona l’endpoint hf-allminil6v2-embedding-ep, quindi scegli Elimina nell’elenco a discesa Azioni. Ripeti il passaggio per l’endpoint meta-llama2-7b-chat-tg-ep.