Schnellstart: Erstellen Sie eine SageMaker AI-Sandbox-Domain, um Amazon EMR-Cluster in Studio zu starten - Amazon SageMaker AI

Schnellstart: Erstellen Sie eine SageMaker AI-Sandbox-Domain, um Amazon EMR-Cluster in Studio zu starten

Dieser Abschnitt führt Sie durch die schnelle Einrichtung einer vollständigen Testumgebung in Amazon SageMaker Studio. Sie werden eine neue Studio-Domain erstellen, mit der Benutzer neue Amazon EMR-Cluster direkt von Studio aus starten können. Die Schritte stellen ein Beispiel-Notebook dar, das Sie mit einem Amazon EMR-Cluster verbinden können, um mit der Ausführung von Spark Workloads zu beginnen. Mit diesem Notebook erstellen Sie ein Retrieval Augmented Generation System (RAG) mithilfe der verteilten Verarbeitung von Amazon EMR Spark und der OpenSearch-Vektordatenbank.

Anmerkung

Melden Sie sich zunächst bei der AWS-Managementkonsole mit einem AWS Identity and Access Management-Benutzerkonto (IAM) mit Administratorberechtigungen an. Informationen darüber, wie Sie sich für ein AWS-Konto registrieren und einen Benutzer mit Administratorzugriff erstellen, finden Sie unter Voraussetzungen für Amazon SageMaker AI.

Schritt 1: Erstellen Sie eine SageMaker AI-Domain für den Start von Amazon EMR-Clustern in Studio

In den folgenden Schritten wenden Sie einen CloudFormation Stack an, um automatisch eine neue SageMaker AI-Domain zu erstellen. Der Stack erstellt auch ein Benutzerprofil und konfiguriert die erforderliche Umgebung und die erforderlichen Berechtigungen. Die SageMaker AI-Domain ist so konfiguriert, dass Sie Amazon EMR-Cluster direkt von Studio aus starten können. In diesem Beispiel werden die Amazon EMR-Cluster im selben AWS Konto wie SageMaker AI ohne Authentifizierung erstellt. Zusätzliche CloudFormation Stacks, die verschiedene Authentifizierungsmethoden wie Kerberos unterstützen, finden Sie im GitHub-Repository getting_started.

Anmerkung

SageMaker AI erlaubt standardmäßig 5 Studio-Domains pro AWS Konto. AWS-Region Stellen Sie sicher, dass Ihr Konto nicht mehr als 4 Domains in Ihrer Region hat, bevor Sie Ihren Stack erstellen.

Gehen Sie wie folgt vor, um eine SageMaker AI-Domain für den Start von Amazon EMR-Clustern aus Studio einzurichten.
  1. Laden Sie die Rohdatei dieser CloudFormationVorlage aus dem sagemaker-studio-emr GitHub-Repository herunter.

  2. Gehen Sie zur CloudFormation-Konsole: https://console.aws.amazon.com/cloudformation

  3. Wählen Sie Stack erstellen und dann Mit neuen Ressourcen aus dem Dropdown-Menü aus.

  4. In Schritt 1:

    1. Wählen Sie im Abschnitt Vorlage vorbereiten die Option Bestehende Vorlage auswählen aus.

    2. Wählen Sie im Abschnitt Specify template (Vorlage angeben) die Option Upload a template file (Vorlagendatei hochladen) aus.

    3. Laden Sie die heruntergeladene CloudFormation Vorlage hoch und wählen Sie Weiter.

  5. Geben Sie in Schritt 2 einen Stapelnamen und einen SageMakerDomainName ein und wählen Sie anschließend Weiter aus.

  6. Behalten Sie in Schritt 3 alle Standardwerte bei und wählen Sie Weiter.

  7. Markieren Sie in Schritt 4 das Kästchen zur Bestätigung der Ressourcenerstellung und wählen Sie Stapel erstellen aus. Dadurch wird eine Studio-Domain in Ihrem Konto und Ihrer Region erstellt.

Schritt 2: Starten Sie einen neuen Amazon EMR-Cluster über die Studio-Benutzeroberfläche

In den folgenden Schritten erstellen Sie einen neuen Amazon EMR-Cluster über die Studio-Benutzeroberfläche.

  1. Rufen Sie die SageMaker-AI-Konsole unter https://console.aws.amazon.com/sagemaker/ auf und wählen Sie im linken Menü Domains aus.

  2. Klicken Sie auf Ihren Domainnamen GenerativeAIDomain, um die Seite mit den Domaindetails zu öffnen.

  3. Starten Sie Studio vom Benutzerprofil ausgenai-user.

  4. Gehen Sie im linken Navigationsbereich zu Daten und dann zu Amazon EMR Clusters.

  5. Wählen Sie auf der Seite mit den Amazon-EMR-Clustern Erstellen aus. Wählen Sie die Vorlage SageMaker Studio Domain No Auth EMR aus, die vom CloudFormation Stack erstellt wurde, und klicken Sie dann auf Weiter.

  6. Geben Sie einen Namen für den neuen Amazon EMR-Cluster ein. Aktualisieren Sie optional andere Parameter wie den Instance-Typ der Core- und Master-Knoten, das Leerlauf-Timeout oder die Anzahl der Kernknoten.

  7. Wählen Sie Create resource aus, um den neuen Amazon EMR-Cluster zu starten.

    Nachdem Sie den Amazon EMR-Cluster erstellt haben, folgen Sie dem Status auf der Seite EMR-Cluster. Wenn sich der Status auf ändertRunning/Waiting, ist Ihr Amazon EMR-Cluster bereit, in Studio verwendet zu werden.

Schritt 3: Connect ein JupyterLab-Notebook mit dem Amazon EMR-Cluster

In den folgenden Schritten verbinden Sie ein Notebook in JupyterLab mit Ihrem laufenden Amazon EMR-Cluster. In diesem Beispiel importieren Sie ein Notebook, mit dem Sie mithilfe der verteilten Verarbeitung von Amazon EMR Spark und der OpenSearch-Vektordatenbank ein Retrieval Augmented Generation (RAG) -System erstellen können.

  1. Starten Sie JupyterLab

    Starten Sie in Studio die JupyterLab-Anwendung.

  2. Erstellen eines privaten Bereichs

    Wenn Sie noch keinen Bereich für Ihre JupyterLab-Anwendung erstellt haben, wählen Sie Create a JupyterLab Space. Geben Sie einen Namen für den Bereich ein und behalten Sie den Wert Privat für den Bereich bei. Belassen Sie alle anderen Einstellungen auf ihren Standardwerten und wählen Sie dann Bereich erstellen aus.

    Andernfalls führen Sie Ihren JupyterLab-Bereich aus, um eine JupyterLab-Anwendung zu starten.

  3. Stellen Sie Ihr LLM und Ihre Einbettungsmodelle für Inferenz bereit
    • Wählen Sie im oberen Menü Datei, Neu und dann Terminal aus.

    • Führen Sie im Terminal den folgenden Befehl aus.

      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

      Dadurch wird das Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb Notebook in Ihr lokales Verzeichnis abgerufen und drei PDF-Dateien in einen lokalen Ordner heruntergeladen. AWSGuides

    • Öffnen Sielab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb, behalten Sie den Python 3 (ipykernel) Kernel und führen Sie jede Zelle aus.

      Warnung

      Stellen Sie im Abschnitt Llama 2-Lizenzvereinbarung sicher, dass Sie die Llama2-EULA akzeptieren, bevor Sie fortfahren.

      Das Notebook verwendet zwei Modelle, Llama 2 und all-MiniLM-L6-v2 Models eines für Inferenzzwecke. ml.g5.2xlarge

      Die Bereitstellung der Modelle und die Erstellung der Endpunkte können einige Zeit in Anspruch nehmen.

  4. Öffnen Sie Ihr Haupt-Notebook

    Öffnen Sie in JupyterLab Ihr Terminal und führen Sie den folgenden Befehl aus.

    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

    Sie sollten das zusätzliche Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb Notebook im linken Bereich von JupyterLab sehen.

  5. Auswählen eines PySpark-Kernel

    Öffnen Sie Ihr Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb Notebook und stellen Sie sicher, dass Sie den Kernel verwenden. SparkMagic PySpark Sie können den Kernel oben rechts in Ihrem Notebook wechseln. Wählen Sie den aktuellen Kernelnamen, um ein Kernelauswahl-Modal zu öffnen, und wählen Sie dannSparkMagic PySpark.

  6. Verbinden Ihres Notebooks mit dem Cluster
    1. Wählen Sie oben rechts in Ihrem Notebook die Option Cluster aus. Diese Aktion öffnet ein modales Fenster, in dem alle laufenden Cluster aufgeführt werden, auf die Sie zugreifen dürfen

    2. Wählen Sie Ihren Cluster und dann Connect aus. Ein neues modales Fenster zur Auswahl des Anmeldeinformationstyps wird geöffnet.

    3. Wählen Sie Keine Anmeldeinformationen und anschließend Verbinden aus.

      Modal, das eine Auswahl von Amazon EMR-Anmeldeinformationen für JupyterLab-Notebooks zeigt.
    4. Eine Notebook-Zelle wird automatisch ausgefüllt und ausgeführt. Die Notebook-Zelle lädt die sagemaker_studio_analytics_extension.magics Erweiterung, die Funktionen für die Verbindung mit dem Amazon EMR-Cluster bereitstellt. Anschließend verwendet es den %sm_analytics magischen Befehl, um die Verbindung zu Ihrem Amazon EMR-Cluster und der Spark-Anwendung herzustellen.

      Anmerkung

      Stellen Sie sicher, dass für die Verbindungszeichenfolge zu Ihrem Amazon EMR-Cluster der Authentifizierungstyp auf None eingestellt ist. Dies wird durch den Wert --auth-type None im folgenden Beispiel veranschaulicht. Sie können das Feld bei Bedarf ändern.

      %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. Sobald Sie die Verbindung erfolgreich hergestellt haben, sollte Ihre Ausgabenachricht in der Verbindungszelle Ihre SparkSession Details wie Ihre Cluster-ID, YARN Anwendungs-ID und einen Link zur Spark Benutzeroberfläche zur Überwachung Ihrer Spark Jobs enthalten.

Sie sind bereit, das Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb Notebook zu verwenden. In diesem Beispiel-Notebook werden verteilte PySpark-Workloads zum Aufbau eines RAG-Systems mit LangChain und OpenSearch ausgeführt.

Schritt 4: Bereinigen Ihres CloudFormation -Stack

Wenn Sie fertig sind, stellen Sie sicher, dass Sie Ihre beiden Endgeräte beenden und Ihren CloudFormation Stack löschen, um weitere Gebühren zu vermeiden. Durch das Löschen des Stacks werden alle Ressourcen bereinigt, die vom Stack bereitgestellt wurden.

So löschen Sie Ihren CloudFormation Stapel, wenn Sie damit fertig sind
  1. Gehen Sie zur CloudFormation-Konsole: https://console.aws.amazon.com/cloudformation

  2. Wählen Sie den Stack aus, den Sie löschen möchten. Sie können nach Namen oder in der Liste der Stacks suchen.

  3. Klicken Sie auf die Schaltfläche Löschen, um das Löschen des Stacks abzuschließen, und klicken Sie dann erneut auf Löschen, um zu bestätigen, dass dadurch alle vom Stapel erstellten Ressourcen gelöscht werden.

    Warten Sie, bis der Stack gelöscht wurde. Dies kann einige Minuten dauern. CloudFormationbereinigt automatisch alle in der Stack-Vorlage definierten Ressourcen.

  4. Stellen Sie sicher, dass alle vom Stack erstellten Ressourcen gelöscht wurden. Suchen Sie beispielsweise nach übrig gebliebenen Amazon EMR-Clustern.

Um die API-Endpunkte für ein Modell zu entfernen
  1. Gehen Sie zur SageMaker-AI-Konsole: https://console.aws.amazon.com/sagemaker/.

  2. Wählen Sie im linken Navigationsbereich Inferenz und dann Endpunkte aus.

  3. Wählen Sie den Endpunkt aus hf-allminil6v2-embedding-ep und wählen Sie dann in der Dropdownliste Aktionen die Option Löschen aus. Wiederholen Sie den Schritt für den Endpunktmeta-llama2-7b-chat-tg-ep.