0 / 0
Zurück zur englischen Version der Dokumentation
Amazon SageMaker-Frameworks
Letzte Aktualisierung: 12. Dez. 2024
Amazon SageMaker-Frameworks

Sie können Amazon SageMaker verwenden, um Nutzlast- und Feedbackdaten zu protokollieren und die Leistungsgenauigkeit, die Erkennung von Verzerrungen, die Erklärbarkeit und die Auto-Debias-Funktion für Modellevaluierungen zu messen.

Die folgenden Amazon SageMaker Frameworks werden für Modellevaluierungen unterstützt:

Tabelle 1. Details der Frameworkunterstützung

Details der Frameworkunterstützung
Framework Problemtyp Datentyp
Nativ Klassifikation Strukturiert
Nativ Regression1 Strukturiert

1Die Unterstützung für Regressionsmodelle umfasst nicht das Ausmaß der Drift.

Hinzufügen von Amazon SageMaker

Sie können Modellauswertungen für die Verwendung mit Amazon SageMaker konfigurieren, indem Sie eine der folgenden Methoden verwenden:

  • Wenn Sie zum ersten Mal einen Machine Learning-Anbieter hinzufügen, können Sie die Konfigurationsschnittstelle verwenden. Weitere Informationen hierzu finden Sie im Abschnitt Amazon SageMaker-Instanz angeben.
  • Sie können Ihren Machine-Learning-Provider auch mithilfe des Python-SDK hinzufügen. Diese Methode müssen Sie verwenden, wenn mehrere Provider zur Verfügung stehen sollen. Weitere Informationen finden Sie unter Amazon SageMaker-Engine für maschinelles Lernen hinzufügen.

Beispielnotebooks

In den folgenden Notebooks wird gezeigt, wie Sie mit Amazon SageMaker arbeiten:

Amazon SageMaker ML-Serviceinstanz angeben

Ihr erster Schritt zum Konfigurieren von Modellauswertungen besteht darin, eine Amazon SageMaker Serviceinstanz anzugeben. In Ihrer Amazon SageMaker-Serviceinstanz speichern Sie Ihre KI-Modelle und -Bereitstellungen.

Verbindung zur Amazon SageMaker-Serviceinstanz herstellen

KI-Modelle und Bereitstellungen in einer Amazon SageMaker Serviceinstanz. Um Ihren Dienst zu verbinden, gehen Sie zur Registerkarte Das Symbol der Registerkarte 'Konfiguration' konfigurieren “, fügen Sie einen Anbieter für maschinelles Lernen hinzu und klicken Sie auf das Symbol Das Symbol der Registerkarte "Konfiguration" wird angezeigt. bearbeiten “. Zusätzlich zu einem Namen und einer Beschreibung sowie zur Angabe, ob es sich bei der Umgebung um Vorproduktion oder Produktion handelt, müssen Sie die folgenden Informationen angeben, die für diesen Serviceinstanztyp spezifisch sind:

  • Zugriffsschlüssel-ID: Ihre AWS-Zugriffsschlüssel-ID, aws_access_key_id, die Sie identifiziert und Ihre AWS-Aufrufe authentifiziert und autorisiert.
  • Geheimer Zugriffsschlüssel: Ihr geheimer AWS-Zugriffsschlüssel, aws_secret_access_key, der erforderlich ist, um Ihre Identität zu verifizieren und Ihre AWS-Aufrufe zu authentifizieren und zu autorisieren.
  • Region: Geben Sie die Region ein, in der Ihre Zugriffsschlüssel-ID erstellt wurde. Schlüssel werden in der Region gespeichert und verwendet, in der sie erstellt wurden, und können nicht an eine andere Region übertragen werden.

Jetzt sind Sie bereit, bereitgestellte Modelle auszuwählen und Ihre Überwachungen zu konfigurieren. Ihre bereitgestellten Modelle werden im Insights -Dashboard aufgelistet, wo Sie auf „Zum Dashboard hinzufügen“ klicken können. Wählen Sie die Implementierungen aus, die Sie überwachen möchten, und klicken Sie auf Konfigurieren.

Weitere Informationen finden Sie in Überwachungen konfigurieren.

Nutzdatenprotokollierung mit der Amazon SageMaker-Machine Learning-Engine

Amazon SageMaker Machine Learning-Engine hinzufügen

Eine IBM watsonx.ai Runtime-Engine wird durch die Verwendung von Metadaten als Custom gebunden. Eine direkte Integration mit dem IBM watsonx.ai Runtime Service ist nicht möglich.

SAGEMAKER_ENGINE_CREDENTIALS = {
                   'access_key_id':””,
                   'secret_access_key':””,
                   'region': '}

wos_client.service_providers.add(
        name="AWS",
        description="AWS Service Provider",
        service_type=ServiceTypes.AMAZON_SAGEMAKER,
        credentials=SageMakerCredentials(
            access_key_id=SAGEMAKER_ENGINE_CREDENTIALS['access_key_id'],
            secret_access_key=SAGEMAKER_ENGINE_CREDENTIALS['secret_access_key'],
            region=SAGEMAKER_ENGINE_CREDENTIALS['region']
        ),
        background_mode=False
    ).result

Führen Sie den folgenden Code aus, um Ihr Serviceabonnement anzuzeigen:

client.service_providers.list()

SageMaker ML-Bindung

Amazon SageMaker ML-Abonnement hinzufügen

Führen Sie den folgenden Code aus, um das Abonnement hinzuzufügen:

asset_deployment_details = wos_client.service_providers.list_assets(data_mart_id=data_mart_id, service_provider_id=service_provider_id).result
asset_deployment_details
 
deployment_id='684e35eee8a479470cee05983e1f9d64'
for model_asset_details in asset_deployment_details['resources']:
    if model_asset_details['metadata']['guid']==deployment_id:
        break
 
  
aws_asset = Asset(
        asset_id=model_asset_details['entity']['asset']['asset_id'],
        name=model_asset_details['entity']['asset']['name'],
        url=model_asset_details['entity']['asset']['url'],
        asset_type=model_asset_details['entity']['asset']['asset_type'] if 'asset_type' in model_asset_details['entity']['asset'] else 'model',
        problem_type=ProblemType.BINARY_CLASSIFICATION,
        input_data_type=InputDataType.STRUCTURED,
    )
 
from ibm_watson_openscale.base_classes.watson_open_scale_v2 import ScoringEndpointRequest
deployment_scoring_endpoint = model_asset_details['entity']['scoring_endpoint']
scoring_endpoint = ScoringEndpointRequest(url = model_asset_details['entity']['scoring_endpoint']['url'] )
 
deployment = AssetDeploymentRequest(
        deployment_id=model_asset_details['metadata']['guid'],
        url=model_asset_details['metadata']['url'],
        name=model_asset_details['entity']['name'],
        #description="asset['entity']['description']",
        deployment_type=model_asset_details['entity']['type'],
        scoring_endpoint =  scoring_endpoint
    )
 
asset_properties = AssetPropertiesRequest(
        label_column="Risk",
        prediction_field='predicted_label',
        probability_fields=['score'],
        training_data_reference=training_data_reference,
        training_data_schema=None,
        input_data_schema=None,
        output_data_schema=None,
        feature_fields=feature_columns,
        categorical_fields=categorical_columns
    )
 
subscription_details = wos_client.subscriptions.add(
        data_mart_id=data_mart_id,
        service_provider_id=service_provider_id,
        asset=aws_asset,
        deployment=deployment,
        asset_properties=asset_properties,
        background_mode=False
).result

Führen Sie den folgenden Befehl aus, um die Abonnementliste abzurufen:

subscription_id = subscription_details.metadata.id
subscription_id
 
details: wos_client.subscriptions.get(subscription_id).result.to_dict()

Nutzdatenprotokollierung aktivieren

Führen Sie den folgenden Befehl aus, um die Nutzdatenprotokollierung zu aktivieren:

request_data = {'fields': feature_columns, 
                'values': [[payload_values]]}

Führen Sie den folgenden Befehl aus, um die Protokollierungsdetails abzurufen:

response_data = {'fields': list(result['predictions'][0]),
                 'values': [list(x.values()) for x in result['predictions']]}

Scoring und Nutzdatenprotokollierung

Führen Sie den folgenden Code aus, um die Anforderung und die Antwort in der Tabelle für Nutzdatenprotokollierung zu speichern:

wos_client.data_sets.store_records(data_set_id=payload_data_set_id, request_body=[PayloadRecord(
           scoring_id=str(uuid.uuid4()),
           request=request_data,
           response=response_data,
           response_time=460
)])
 

Für andere Sprachen als Python können Sie Nutzdaten auch über eine REST-API protokollieren.

Übergeordnetes Thema: Unterstützte Engines, Frameworks und Modelle für maschinelles Lernen

Generative KI-Suche und -Antwort
Diese Antworten werden von einem großen Sprachmodell in watsonx.ai basierend auf dem Inhalt der Produktdokumentation generiert. Weitere Informationen