Einen SageMaker Clarif-Verarbeitungsjob konfigurieren - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einen SageMaker Clarif-Verarbeitungsjob konfigurieren

Um Ihre Daten und Modelle mit SageMaker Clarify auf Verzerrungen und Erklärbarkeit zu analysieren, müssen Sie einen SageMaker Clarif-Verarbeitungsjob konfigurieren. Diese Anleitung zeigt, wie Sie den Namen des Eingabedatensatzes, den Namen der Analysekonfigurationsdatei und den Ausgabespeicherort für einen Verarbeitungsauftrag angeben. Um den Verarbeitungscontainer, die Auftragseingaben, -ausgaben, Ressourcen und andere Parameter zu konfigurieren, haben Sie zwei Möglichkeiten. Sie können entweder die SageMaker KI CreateProcessingJob API oder die SageMaker KI Python verwenden SDK APISageMaker ClarifyProcessor,

Informationen zu Parametern, die allen Verarbeitungsaufträgen gemeinsam sind, finden Sie unter Amazon SageMaker API Reference.

Die folgenden Anweisungen zeigen, wie Sie jeden Teil der SageMaker Clarify-spezifischen Konfiguration mithilfe von bereitstellen CreateProcessingJobAPI.

  1. Geben Sie den Uniform Research Identifier (URI) eines SageMaker Clarif-Container-Images in den AppSpecification Parameter ein, wie im folgenden Codebeispiel gezeigt.

    { "ImageUri": "the-clarify-container-image-uri" }
    Anmerkung

    Der URI muss ein vorgefertigtes SageMaker Clarify-Container-Image identifizieren. ContainerEntrypointund ContainerArguments werden nicht unterstützt. Weitere Informationen zu SageMaker Clarif-Container-Images finden Sie unterVorgefertigte SageMaker Clarify-Container.

  2. Geben Sie im Parameter sowohl die Konfiguration für Ihre Analyse als auch die ProcessingInputs Parameter für Ihren Eingabedatensatz an.

    1. Geben Sie den Speicherort der JSON Analysekonfigurationsdatei an, die die Parameter für die Verzerrungsanalyse und die Erklärbarkeitsanalyse enthält. Der InputName Parameter des ProcessingInput Objekts muss analysis_config wie im folgenden Codebeispiel dargestellt sein.

      { "InputName": "analysis_config", "S3Input": { "S3Uri": "s3://your-bucket/analysis_config.json", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/config" } }

      Weitere Hinweise zum Schema der Analysekonfigurationsdatei finden Sie unter. Konfigurationsdateien für die Analyse

    2. Geben Sie den Speicherort des Eingabedatensatzes an. Der InputName Parameter des ProcessingInput Objekts muss dataset sein. Dieser Parameter ist optional, wenn Sie den „dataset_uri“ in der Analysekonfigurationsdatei angegeben haben. Die folgenden Werte sind in der S3Input Konfiguration erforderlich.

      1. S3Urikann entweder ein Amazon S3-Objekt oder ein S3-Präfix sein.

      2. S3InputMode muss vom Typ File sein.

      3. S3CompressionType muss vom Typ None sein (der Standardwert).

      4. S3DataDistributionType muss vom Typ FullyReplicated sein (der Standardwert).

      5. S3DataType kann S3Prefix oder ManifestFile sein. Zur Verwendung ManifestFile muss der S3Uri Parameter den Speicherort einer Manifestdatei angeben, die dem Schema aus dem SageMaker API Referenzabschnitt S3Uri folgt. Diese Manifestdatei muss die S3-Objekte auflisten, die die Eingabedaten für den Auftrag enthalten.

      Der folgende Code zeigt ein Beispiel für eine Eingabekonfiguration.

      { "InputName": "dataset", "S3Input": { "S3Uri": "s3://your-bucket/your-dataset.csv", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/data" } }
  3. Geben Sie die Konfiguration für die Ausgabe des Verarbeitungsauftrag im ProcessingOutputConfig Parameter an. In der Outputs Konfiguration ist ein einzelnes ProcessingOutput Objekt erforderlich. Folgendes ist für die Ausgabekonfiguration erforderlich:

    1. OutputName muss analysis_result sein.

    2. S3Urimuss ein S3-Präfix für den Ausgabespeicherort sein.

    3. muss S3UploadMode auf EndOfJob festgelegt sein.

    Die folgende Ausgabe des Befehls zeigt ein Beispiel dieses Zustands:

    { "Outputs": [{ "OutputName": "analysis_result", "S3Output": { "S3Uri": "s3://your-bucket/result/", "S3UploadMode": "EndOfJob", "LocalPath": "/opt/ml/processing/output" } }] }
  4. Geben Sie im ProcessingResources Parameter die Konfiguration ClusterConfig für die Ressourcen an, die Sie in Ihrem Verarbeitungsjob verwenden. Die folgenden Parameter sind innerhalb des ClusterConfig Objekts erforderlich.

    1. InstanceCount gibt die Anzahl der Rechen-Instances im Cluster an, der den Verarbeitungsauftrag ausführt. Geben Sie einen Wert größer als 1 an, um die verteilte Verarbeitung zu aktivieren.

    2. InstanceType bezieht sich auf die Ressourcen, die Ihren Verarbeitungsauftrag ausführen. Da SageMaker SHAP KI-Analysen rechenintensiv sind, sollte die Verwendung eines Instanztyps, der für die Datenverarbeitung optimiert ist, die Laufzeit für die Analyse verbessern. Der Verarbeitungsjob SageMaker Clarify verwendet nicht. GPUs

    In der folgenden Abbildung sehen Sie ein Beispiel für die Registerkarte Configuration (Konfiguration).

    { "ClusterConfig": { "InstanceCount": 1, "InstanceType": "ml.m5.xlarge", "VolumeSizeInGB": 20 } }
  5. Geben Sie die Konfiguration des Netzwerks, das Sie für Ihren Verarbeitungsauftrag verwenden, innerhalb des NetworkConfig Objekts an. Die folgenden Werte sind für die Konfiguration erforderlich.

    1. EnableNetworkIsolationmuss auf False (Standard) gesetzt sein, damit SageMaker Clarify bei Bedarf einen Endpunkt für Vorhersagen aufrufen kann.

    2. Wenn sich das Modell oder der Endpunkt, den Sie für den SageMaker Clarif-Job bereitgestellt haben, in einer Amazon Virtual Private Cloud (AmazonVPC) befindet, muss SageMaker sich der Clarif-Job ebenfalls in derselben befindenVPC. Geben Sie die VPC Verwendung an VpcConfig. Darüber hinaus VPC müssen sie über Endpunkte für einen Amazon S3 S3-Bucket, einen SageMaker KI-Service und einen SageMaker AI Runtime-Service verfügen.

      Wenn die verteilte Verarbeitung aktiviert ist, müssen Sie auch die Kommunikation zwischen verschiedenen Instances im selben Verarbeitungsjob zulassen. Konfigurieren Sie dazu eine Regel für Ihre Sicherheitsgruppe, mit der eingehende Verbindungen zwischen Mitgliedern derselben Sicherheitsgruppe zugelassen werden. Weitere Informationen finden Sie unter Gewähren Sie Amazon SageMaker Clarify Jobs Zugriff auf Ressourcen in Ihrem Amazon VPC.

    Der folgende Code gibt ein Beispiel für eine Netzwerkkonfiguration.

    { "EnableNetworkIsolation": False, "VpcConfig": { ... } }
  6. Legen Sie mithilfe des StoppingCondition Parameters die maximale Zeit fest, für die der Auftrag ausgeführt werden soll. Die längste Zeit, die ein SageMaker Clarif-Job ausgeführt werden kann, dauert 7 Tage oder 604800 Sekunden. Wenn der Auftrag nicht innerhalb dieser Frist abgeschlossen werden kann, wird er gestoppt und es werden keine Analyseergebnisse bereitgestellt. Die folgende Konfiguration begrenzt beispielsweise die maximale Zeit, für die der Auftrag ausgeführt werden kann, auf 3600 Sekunden.

    { "MaxRuntimeInSeconds": 3600 }
  7. Geben Sie eine IAM Rolle für den RoleArn Parameter an. Die Rolle muss ein Vertrauensverhältnis mit Amazon SageMaker AI haben. Es kann verwendet werden, um die in der folgenden Tabelle aufgeführten SageMaker API Operationen auszuführen. Wir empfehlen die Verwendung der von Amazon SageMaker AIFullAccess verwalteten Richtlinie, die vollen Zugriff auf SageMaker KI gewährt. Weitere Informationen zu dieser Richtlinie finden Sie unterAWS verwaltete Richtlinie: AmazonSageMakerFullAccess. Wenn Sie Bedenken haben, Vollzugriff zu gewähren, hängen die erforderlichen Mindestberechtigungen davon ab, ob Sie einen Modell- oder einen Endpunktnamen angeben. Die Verwendung eines Endpunktnamens ermöglicht es, SageMaker KI weniger Berechtigungen zu gewähren.

    Die folgende Tabelle enthält die vom SageMaker Clarify-Verarbeitungsauftrag verwendeten API Operationen. XUnter Modellname und Endpunktname wird der API Vorgang vermerkt, der für jede Eingabe erforderlich ist.

    APIVorgang Modellname Endpoint name (Endpunktname) Wofür wird sie verwendet

    ListTags

    X

    Die Tags des Auftrages werden auf den Schattenendpunkt angewendet.

    CreateEndpointConfig

    X

    Erstellen Sie die Endpunktkonfiguration mit dem von Ihnen angegebenen Modellnamen

    CreateEndpoint

    X

    Erstellen Sie einen Schattenendpunkt mithilfe der Endpunktkonfiguration.

    DescribeEndpoint

    X

    X

    Beschreiben Sie den Status des Endpunkts. Der Endpunkt muss für die Bearbeitung von Anfragen vorgesehen sein InService .

    InvokeEndpoint

    X

    X

    Rufen Sie den Endpunkt für Vorhersagen auf.

    Weitere Informationen zu erforderlichen Berechtigungen finden Sie unter Amazon SageMaker API KI-Berechtigungen: Referenz zu Aktionen, Berechtigungen und Ressourcen.

    Weitere Informationen zur Übertragung von Rollen an SageMaker KI finden Sie unterRollen weitergeben.

    Nachdem Sie die einzelnen Teile der Konfiguration des Verarbeitungsauftrags erstellt haben, kombinieren Sie sie, um den Auftrag zu konfigurieren.

Das folgende Codebeispiel zeigt, wie ein SageMaker Clarif-Verarbeitungsjob mit AWS SDKfor Python gestartet wird.

sagemaker_client.create_processing_job( ProcessingJobName="your-clarify-job-name", AppSpecification={ "ImageUri": "the-clarify-container-image-uri", }, ProcessingInputs=[{ "InputName": "analysis_config", "S3Input": { "S3Uri": "s3://your-bucket/analysis_config.json", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/config", }, }, { "InputName": "dataset", "S3Input": { "S3Uri": "s3://your-bucket/your-dataset.csv", "S3DataType": "S3Prefix", "S3InputMode": "File", "LocalPath": "/opt/ml/processing/input/data", }, }, ], ProcessingOutputConfig={ "Outputs": [{ "OutputName": "analysis_result", "S3Output": { "S3Uri": "s3://your-bucket/result/", "S3UploadMode": "EndOfJob", "LocalPath": "/opt/ml/processing/output", }, }], }, ProcessingResources={ "ClusterConfig": { "InstanceCount": 1, "InstanceType": "ml.m5.xlarge", "VolumeSizeInGB": 20, }, }, NetworkConfig={ "EnableNetworkIsolation": False, "VpcConfig": { ... }, }, StoppingCondition={ "MaxRuntimeInSeconds": 3600, }, RoleArn="arn:aws:iam::<your-account-id>:role/service-role/AmazonSageMaker-ExecutionRole", )

Ein Beispiel-Notizbuch mit Anweisungen zum Ausführen eines SageMaker Clarif-Verarbeitungsjobs AWS SDK für Python finden Sie unter Fairness and Explainability with SageMaker Clarify using for Python. AWS SDK Jeder im Notebook verwendete S3-Bucket muss sich in derselben AWS Region befinden wie die Notebook-Instanz, die darauf zugreift.

Sie können einen SageMaker Clarif-Verarbeitungsjob auch mithilfe von SageMaker ClarifyProcessorin SageMaker Python konfigurieren SDKAPI. Weitere Informationen finden Sie unter Führen Sie SageMaker Clarify Processing Jobs für Verzerrungsanalyse und Erklärbarkeit aus.