0 / 0
Zurück zur englischen Version der Dokumentation

Amazon SageMaker-Frameworks

Letzte Aktualisierung: 21. Jan. 2025
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 zur Frameworkunterstützung

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

1Die Unterstützung für Regressionsmodelle beinhaltet nicht den Gesamtumfang (Magnitude) der Abweichung.

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 auch Python SDK verwenden, um einen Anbieter für maschinelles Lernen hinzuzufügen. Diese Methode muss verwendet werden, wenn Sie mehr als einen Anbieter verwenden möchten. Weitere Informationen finden Sie unter Amazon SageMaker-Engine für maschinelles Lernen hinzufügen.

Beispielnotebooks

Die folgenden Notebooks veranschaulichen die Vorgehensweise zum Arbeiten mit Amazon SageMaker:

Amazon SageMaker ML-Serviceinstanz angeben

Ihr erster Schritt zum Konfigurieren von Modellauswertungen besteht darin, eine Amazon SageMaker Serviceinstanz anzugeben. In dieser Amazon SageMaker-Serviceinstanz werden Ihre KI-Modelle und Bereitstellungen gespeichert.

Amazon SageMaker-Serviceinstanz verbinden

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: Die ID Ihres AWS-Zugriffsschlüssels (aws_access_key_id), die Sie als berechtigten Benutzer ausweist und Aufrufe authentifiziert und autorisiert, die Sie an AWS absetzen.
  • Geheimer Zugriffsschlüssel: Ihr geheimer Zugriffsschlüssel für AWS (aws_secret_access_key), der Sie als berechtigten Benutzer ausweist und Aufrufe authentifiziert und autorisiert, die Sie an AWS absetzen.
  • 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.

Sie können nun bereitgestellte Modelle auswählen und Überwachungen 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-Engine für maschinelles Lernen

Amazon SageMaker-Engine für maschinelles Lernen 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 Ihre Servicesubskription anzuzeigen:

client.service_providers.list()

SageMaker ML-Bindung

Amazon SageMaker ML-Subskription hinzufügen

Führen Sie den folgenden Code aus, um die Subskription 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 Subskriptionsliste 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 Details zur Protokollierung abzurufen:

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

Scoring und Nutzdatenprotokollierung

  • Führen Sie einen Scoring-Vorgang für Ihr Modell durch.

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 die Nutzdaten auch mithilfe der REST-API protokollieren.

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