Verwenden Sie generative KI-Grundlagenmodelle im VPC-Modus ohne Internetverbindung mit Amazon SageMaker JumpStart | Amazon Web Services

Verwenden Sie generative KI-Grundlagenmodelle im VPC-Modus ohne Internetverbindung mit Amazon SageMaker JumpStart | Amazon Web Services

Mit den jüngsten Fortschritten in generative KIDerzeit wird viel darüber diskutiert, wie generative KI branchenübergreifend zur Lösung spezifischer Geschäftsprobleme eingesetzt werden kann. Generative KI ist eine Art von KI, die neue Inhalte und Ideen erstellen kann, darunter Gespräche, Geschichten, Bilder, Videos und Musik. All dies wird durch sehr große Modelle gestützt, die auf riesigen Datenmengen vorab trainiert wurden und allgemein als „ Fundamentmodelle (FMs). Diese FMs können eine breite Palette von Aufgaben ausführen, die sich über mehrere Bereiche erstrecken, z. B. das Schreiben von Blogbeiträgen, das Generieren von Bildern, das Lösen mathematischer Probleme, die Teilnahme an Dialogen und die Beantwortung von Fragen auf der Grundlage eines Dokuments. Die Größe und der allgemeine Zweck von FMs unterscheiden sie von herkömmlichen ML-Modellen, die typischerweise bestimmte Aufgaben ausführen, wie z. B. die Analyse von Texten auf Stimmung, die Klassifizierung von Bildern und die Prognose von Trends.

Während Unternehmen die Leistungsfähigkeit dieser FMs nutzen möchten, möchten sie auch, dass die FM-basierten Lösungen in ihren eigenen geschützten Umgebungen ausgeführt werden. Organisationen, die in stark regulierten Bereichen wie globalen Finanzdienstleistungen sowie im Gesundheitswesen und in den Biowissenschaften tätig sind, haben Audit- und Compliance-Anforderungen, um ihre Umgebung in ihren VPCs zu betreiben. Tatsächlich wird in diesen Umgebungen oft sogar der direkte Internetzugang deaktiviert, um zu vermeiden, dass Sie unbeabsichtigtem Datenverkehr ausgesetzt werden, sowohl ein- als auch ausgehend.

Amazon SageMaker-JumpStart ist ein ML-Hub, der Algorithmen, Modelle und ML-Lösungen anbietet. Mit SageMaker JumpStart können ML-Praktiker aus einer wachsenden Liste der leistungsstärksten Open-Source-FMs wählen. Es bietet auch die Möglichkeit, diese Modelle in Ihrem eigenen System bereitzustellen Virtuelle private Cloud (VPC).

In diesem Beitrag zeigen wir, wie Sie JumpStart zum Bereitstellen eines verwenden Flan-T5 XXL Modell in einer VPC ohne Internetverbindung. Wir besprechen folgende Themen:

  • So stellen Sie ein Foundation-Modell mit SageMaker JumpStart in einer VPC ohne Internetzugang bereit
  • Vorteile der Bereitstellung von FMs über SageMaker JumpStart-Modelle im VPC-Modus
  • Alternative Möglichkeiten zur individuellen Bereitstellung von Foundation-Modellen über JumpStart

Neben FLAN-T5 XXL bietet JumpStart viele verschiedene Fundamentmodelle für verschiedene Aufgaben an. Die vollständige Liste finden Sie hier Erste Schritte mit Amazon SageMaker JumpStart.

Lösungsüberblick

Im Rahmen der Lösung decken wir folgende Schritte ab:

  1. Richten Sie eine VPC ohne Internetverbindung ein.
  2. Einrichten Amazon SageMaker-Studio unter Verwendung der von uns erstellten VPC.
  3. Stellen Sie das generative AI Flan T5-XXL-Grundlagenmodell mit JumpStart in der VPC ohne Internetzugang bereit.

Das Folgende ist ein Architekturdiagramm der Lösung.

Sol-Bogen

Lassen Sie uns die verschiedenen Schritte zur Implementierung dieser Lösung durchgehen.

Voraussetzungen:

Um diesem Beitrag folgen zu können, benötigen Sie Folgendes:

Richten Sie eine VPC ohne Internetverbindung ein

Erstellen Sie einen neuen CloudFormation-Stack mit dem 01_networking.yaml Vorlage. Diese Vorlage erstellt eine neue VPC und fügt zwei private Subnetze über zwei Availability Zones ohne Internetverbindung hinzu. Anschließend werden Gateway-VPC-Endpunkte für den Zugriff bereitgestellt Amazon Simple Storage-Service (Amazon S3) und Schnittstellen-VPC-Endpunkte für SageMaker und einige andere Dienste, damit die Ressourcen in der VPC über eine Verbindung zu AWS-Diensten herstellen können AWS PrivateLink.

Geben Sie einen Stack-Namen an, z No-Internet, und schließen Sie den Stapelerstellungsprozess ab.

vpc-stack-input

Diese Lösung ist nicht hochverfügbar, da die CloudFormation-Vorlage Schnittstellen-VPC-Endpunkte nur in einem Subnetz erstellt, um die Kosten zu senken, wenn Sie die Schritte in diesem Beitrag befolgen.

Richten Sie Studio mithilfe der VPC ein

Erstellen Sie einen weiteren CloudFormation-Stack mit 02_sagemaker_studio.yaml, wodurch eine Studio-Domäne, ein Studio-Benutzerprofil und unterstützende Ressourcen wie IAM-Rollen erstellt werden. Wählen Sie einen Namen für den Stapel; Für diesen Beitrag verwenden wir den Namen SageMaker-Studio-VPC-No-Internet. Geben Sie den Namen des VPC-Stacks an, den Sie zuvor erstellt haben (No-Internet) als die CoreNetworkingStackName Parameter und belassen Sie alles andere als Standard.

studio-cfn-stack-input

Warten Sie, bis AWS CloudFormation meldet, dass die Stack-Erstellung abgeschlossen ist. Sie können bestätigen, dass die Studio-Domäne zur Verwendung auf der SageMaker-Konsole verfügbar ist.

Domain-Home

Um sicherzustellen, dass der Studio-Domänenbenutzer keinen Internetzugang hat, Starten Sie Studio über die SageMaker-Konsole. Wählen Sie Reichen Sie das, Neu und Terminal, und versuchen Sie dann, auf eine Internetressource zuzugreifen. Wie im folgenden Screenshot gezeigt, wartet das Terminal weiterhin auf die Ressource und es kommt schließlich zu einer Zeitüberschreitung.

Studio-Terminal

Dies beweist, dass Studio in einer VPC betrieben wird, die keinen Internetzugang hat.

Stellen Sie das generative KI-Grundlagenmodell Flan T5-XXL mit JumpStart bereit

Wir können dieses Modell sowohl über Studio als auch über die API bereitstellen. JumpStart stellt den gesamten Code zum Bereitstellen des Modells über ein SageMaker-Notizbuch bereit, auf das von Studio aus zugegriffen werden kann. In diesem Beitrag stellen wir diese Funktion des Studios vor.

  • Wählen Sie auf der Begrüßungsseite von Studio die Option Starthilfe unter Vorgefertigte und automatisierte Lösungen.

Studio-Willkommensseite

  • Wählen Sie unten das Modell Flan-T5 XXL Fundamentmodelle.

js-Modell-Hub

  • Standardmäßig wird die geöffnet Deploy Tab. Erweitere das Bereitstellungskonfiguration Abschnitt, um die zu ändern hosting instance und endpoint name, oder fügen Sie zusätzliche Tags hinzu. Es besteht auch die Möglichkeit, das zu ändern S3 bucket location wo das Modellartefakt zum Erstellen des Endpunkts gespeichert wird. Für diesen Beitrag belassen wir alles auf seinen Standardwerten. Notieren Sie sich den Endpunktnamen, der beim Aufrufen des Endpunkts zum Erstellen von Vorhersagen verwendet werden soll.

Deploy-js

  • Erweitern Sie die Security Settings Abschnitt, in dem Sie angeben können IAM role zum Erstellen des Endpunkts. Sie können auch die angeben VPC configurations durch die Bereitstellung der subnets und security groups. Die Subnetz-IDs und Sicherheitsgruppen-IDs finden Sie auf der Registerkarte „Ausgaben“ des VPC-Stacks in der AWS CloudFormation-Konsole. SageMaker JumpStart erfordert im Rahmen dieser Konfiguration mindestens zwei Subnetze. Die Subnetze und Sicherheitsgruppen steuern den Zugriff auf und vom Modellcontainer.

js-deploy-security-settings

HINWEIS: Unabhängig davon, ob das SageMaker JumpStart-Modell in der VPC bereitgestellt wird oder nicht, wird das Modell immer im Netzwerkisolationsmodus ausgeführt, der den Modellcontainer isoliert, sodass keine eingehenden oder ausgehenden Netzwerkaufrufe an oder von dem Modellcontainer getätigt werden können. Da wir eine VPC verwenden, lädt SageMaker das Modellartefakt über unsere angegebene VPC herunter. Das Ausführen des Modellcontainers in Netzwerkisolation hindert Ihren SageMaker-Endpunkt nicht daran, auf Inferenzanfragen zu reagieren. Ein Serverprozess läuft neben dem Modellcontainer und leitet ihm die Inferenzanforderungen weiter, aber der Modellcontainer hat keinen Netzwerkzugriff.

  • Auswählen Deploy um das Modell bereitzustellen. Wir können den Status der laufenden Endpunkterstellung nahezu in Echtzeit sehen. Die Endpunkterstellung kann 5–10 Minuten dauern.

js-deploy-fortschritt

Beobachten Sie den Wert des Feldes Speicherort der Modelldaten auf dieser Seite. Alle SageMaker JumpStart-Modelle werden auf einem von SageMaker verwalteten S3-Bucket gehostet (s3://jumpstart-cache-prod-{region}). Unabhängig davon, welches Modell von JumpStart ausgewählt wird, wird das Modell daher aus dem öffentlich zugänglichen SageMaker JumpStart S3-Bucket bereitgestellt und der Datenverkehr wird niemals an die APIs des öffentlichen Modellzoos weitergeleitet, um das Modell herunterzuladen. Aus diesem Grund wurde die Modellendpunkterstellung auch dann erfolgreich gestartet, wenn wir den Endpunkt in einer VPC erstellen, die keinen direkten Internetzugang hat.

Das Modellartefakt kann auch in einen beliebigen privaten Modellzoo oder Ihren eigenen S3-Bucket kopiert werden, um den Standort der Modellquelle weiter zu kontrollieren und zu sichern. Mit dem folgenden Befehl können Sie das Modell lokal herunterladen AWS-Befehlszeilenschnittstelle (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 .
  • Nach einigen Minuten wird der Endpunkt erfolgreich erstellt und zeigt den Status als an Im Dienst. Wählen Sie Open Notebook der Use Endpoint from Studio Abschnitt. Dies ist ein Beispielnotizbuch, das im Rahmen der JumpStart-Erfahrung bereitgestellt wird, um den Endpunkt schnell zu testen.

Jumpstart-Deploy-Complete

  • Wählen Sie im Notizbuch das Bild als aus Datenwissenschaft 3.0 und der Kernel als Python 3. Wenn der Kernel bereit ist, können Sie die Notebook-Zellen ausführen, um Vorhersagen für den Endpunkt zu treffen. Beachten Sie, dass das Notebook das verwendet invoke_endpoint() API von der AWS SDK für Python Vorhersagen zu treffen. Alternativ können Sie die verwenden Predict() des SageMaker Python SDKs Methode, um das gleiche Ergebnis zu erzielen.

run-deploy-notebook-jumpstart

Damit sind die Schritte zur Bereitstellung des Flan-T5 XXL-Modells mithilfe von JumpStart in einer VPC ohne Internetzugang abgeschlossen.

Vorteile der Bereitstellung von SageMaker JumpStart-Modellen im VPC-Modus

Im Folgenden sind einige der Vorteile der Bereitstellung von SageMaker JumpStart-Modellen im VPC-Modus aufgeführt:

  • Da SageMaker JumpStart die Modelle nicht aus einem öffentlichen Modellzoo herunterlädt, kann es auch in vollständig gesperrten Umgebungen verwendet werden, in denen kein Internetzugang besteht
  • Da der Netzwerkzugriff für SageMaker JumpStart-Modelle eingeschränkt und eingeschränkt werden kann, hilft dies Teams, die Sicherheitslage der Umgebung zu verbessern
  • Aufgrund der VPC-Grenzen kann der Zugriff auf den Endpunkt auch über Subnetze und Sicherheitsgruppen eingeschränkt werden, was eine zusätzliche Sicherheitsebene bietet

Alternative Möglichkeiten zur individuellen Bereitstellung von Foundation-Modellen über SageMaker JumpStart

In diesem Abschnitt stellen wir einige alternative Möglichkeiten zur Bereitstellung des Modells vor.

Verwenden Sie die SageMaker JumpStart-APIs Ihrer bevorzugten IDE

Für die von SageMaker JumpStart bereitgestellten Modelle ist kein Zugriff auf Studio erforderlich. Dank der können Sie sie von jeder IDE aus auf SageMaker-Endpunkten bereitstellen JumpStart-APIs. Sie können den zuvor in diesem Beitrag besprochenen Studio-Einrichtungsschritt überspringen und die JumpStart-APIs verwenden, um das Modell bereitzustellen. Diese APIs stellen Argumente bereit, mit denen auch VPC-Konfigurationen bereitgestellt werden können. Die APIs sind Teil der SageMaker Python-SDK selbst. Weitere Informationen finden Sie unter Vortrainierte Modelle.

Verwenden Sie Notizbücher, die von SageMaker JumpStart aus SageMaker Studio bereitgestellt werden

SageMaker JumpStart bietet außerdem Notebooks zur direkten Bereitstellung des Modells. Wählen Sie auf der Modelldetailseite die Option aus Notizbuch öffnen , um ein Beispielnotizbuch zu öffnen, das den Code zum Bereitstellen des Endpunkts enthält. Das Notebook verwendet SageMaker JumpStart-Branchen-APIs Damit können Sie die Modelle auflisten und filtern, die Artefakte abrufen sowie die Endpunkte bereitstellen und abfragen. Sie können den Notebook-Code auch entsprechend Ihren anwendungsfallspezifischen Anforderungen bearbeiten.

Open-Jumpstart-Notebook

Ressourcen bereinigen

Probieren Sie auch die CLEANUP.md In der Datei finden Sie detaillierte Schritte zum Löschen von Studio, VPC und anderen Ressourcen, die im Rahmen dieses Beitrags erstellt wurden.

Problemlösung

Wenn beim Erstellen der CloudFormation-Stacks Probleme auftreten, lesen Sie Fehlerbehebung bei CloudFormation.

Zusammenfassung

Generative KI, die auf großen Sprachmodellen basiert, verändert die Art und Weise, wie Menschen Erkenntnisse aus Informationen gewinnen und anwenden. Allerdings müssen Organisationen, die in stark regulierten Bereichen tätig sind, die generativen KI-Funktionen so nutzen, dass sie schneller Innovationen ermöglichen, aber auch die Zugriffsmuster auf solche Funktionen vereinfachen.

Wir empfehlen Ihnen, den in diesem Beitrag vorgestellten Ansatz auszuprobieren, um generative KI-Funktionen in Ihre bestehende Umgebung einzubetten und diese dennoch in Ihrer eigenen VPC ohne Internetzugang zu belassen. Weitere Informationen zu SageMaker JumpStart-Grundlagenmodellen finden Sie hier:


Über die Autoren

Verwenden Sie generative KI-Grundlagenmodelle im VPC-Modus ohne Internetverbindung mit Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Vikesh Pandey ist ein auf maschinelles Lernen spezialisierter Lösungsarchitekt bei AWS und unterstützt Kunden aus der Finanzbranche beim Entwerfen und Erstellen von Lösungen für generative KI und ML. Außerhalb der Arbeit probiert Vikesh gerne verschiedene Küchen aus und betreibt Sport im Freien.

Verwenden Sie generative KI-Grundlagenmodelle im VPC-Modus ohne Internetverbindung mit Amazon SageMaker JumpStart | Amazon Web Services PlatoBlockchain Data Intelligence. Vertikale Suche. Ai. Mehran Nikoo ist Senior Solutions Architect bei AWS, arbeitet mit Digital Native-Unternehmen in Großbritannien zusammen und hilft ihnen, ihre Ziele zu erreichen. Er setzt seine Erfahrung in der Softwareentwicklung leidenschaftlich gerne auf maschinelles Lernen ein und ist auf End-to-End-Maschinenlernen und MLOps-Praktiken spezialisiert.

Zeitstempel:

Mehr von AWS Maschinelles Lernen