Suchen mit der Amazon- SageMaker Konsole und der API - Amazon SageMaker

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.

Suchen mit der Amazon- SageMaker Konsole und der API

Die Entwicklung eines Machine Learning-Modells erfordert in der Regel umfangreiche Experimente mit unterschiedlichen Datasets, Algorithmen und Hyperparameterwerten. Um bis zu Tausende von Modellexperimenten für Machine Learning zu verwalten, verwenden Sie die Suchfunktionen in SageMaker.

Sie können die SageMaker Suche verwenden, um:

  • Organisieren, suchen und bewerten Sie Schulungsaufträge unter Verwendung von Eigenschaften, Hyperparametern, Leistungsmetriken und anderen Metadaten.

  • Suchen Sie das Modell mit der besten Leistung, indem Sie Schulungsauftrags- und Modellmetriken überprüfen, wie z. B. Schulungsverlust oder Validierungsgenauigkeit.

  • Nachverfolgen der Herkunft eines Modells bis zurück zum Schulungsauftrag und den verwandte Ressourcen, wie z. B. die Schulungs-Datasets nach.

In diesem Thema wird die Suche über die SageMaker Konsole und die SageMaker API behandelt.

Organisieren, Suchen und Auswerten von Schulungsaufträgen (Konsole)

Um Schulungsaufträge zu organisieren, weisen Sie ihnen mindestens ein Tag zu.

Um einen bestimmten Schulungsauftrag, ein Modell oder eine Ressource zu finden, verwenden Sie die Modellverfolgung zum Suchen nach Schlüsselwörtern, die durchsuchbaren Elementen zugewiesen sind. Zudurchsuchbaren Elementen zählen Schulungsaufträge, Modelle, Hyperparameter, Metadaten, Tags und URLs. Um die Verfolgungsergebnisse einzugrenzen, können Sie mehrere Suchkriterien einsetzen.

Um das beste Modell für die Bereitstellung auszuwählen, bewerten Sie, wie alle Modelle gemessen an einer oder mehreren Metriken abschneiden. Sie können die Ergebnisse der Modellverfolgung nutzen, um die Leistung der Modelle in den Experimenten aufzulisten, zu sortieren und zu bewerten.

Verwenden von Tags zum Verfolgen von Schulungsaufträgen (Konsole)

Erstellen Sie Tags mit beschreibendem Schlüssel und Wert, um Schulungsaufträge zu gruppieren. Erstellen Sie beispielsweise Tag-Schlüssel für Projekt, Eigentümer, Kunde und Branche.

Hinzufügen von Tags zu Schulungsaufträgen (Konsole)
  1. Öffnen Sie die Amazon- SageMaker Konsole .

  2. Wählen Sie im Navigationsbereich Training jobs (Schulungsaufträge) und Create training job (Schulungsauftragerstellen) aus.

  3. Scrollen Sie auf der Seite nach unten und geben Sie einen Schlüssel und einen Wert für das Tag ein.

  4. Um ein weiteres Tag hinzuzufügen, wählen Sie Add tag (Tag hinzufügen) und fügen Sie ein weiteres Schlüssel-Wert-Paar hinzu.

Suchen von Schulungsaufträgen (Konsole)

Sie können mit einer Vielzahl von Auftragsattributen nach Schulungsaufträgen suchen. Beachten Sie, dass einige Suchparameter nur angezeigt werden, wenn Sie einen Schulungsauftrag mit diesem Attribut erstellt haben. Tags wird beispielsweise nur angezeigt, wenn Sie ein Tag für einen Schulungsauftrag hinzugefügt haben.

So suchen Sie nach Schulungsaufträgen (Konsole)
  1. Öffnen Sie die Amazon- SageMaker Konsole .

  2. Klicken Sie im Navigationsbereich auf Search (Suchen).

  3. Fügen Sie Parameter hinzu.

    1. Geben Sie im Suchfeld einen Parameter ein und wählen Sie einen Parametertyp aus, z. B. TrainingJobName.

    2. Wählen Sie eine bedingte Operation aus. Verwenden Sie für numerische Werte Operatoren wie z. B. is equals to (ist gleich), lesser than (kleiner als) oder greater than (größer als). Verwenden Sie für textbasierte Werte Operatoren wie z. B. equals (gleich) oder contains (enthält).

    3. Geben Sie einen Wert für den Parameter ein.

  4. (Optional) Um Ihre Suche zu verfeinern, fügen Sie zusätzliche Suchkriterien hinzu. Wählen Sie Add row (Zeile hinzufügen) aus und geben Sie die Parameterwerte ein.

  5. Wählen Sie Search (Suchen) aus.

Auswerten von Modellen (Konsole)

Um die Leistung eines Modells zu bewerten, überprüfen Sie seine Metadaten, Hyperparameter und Metriken. Um Metriken hervorzuheben, passen Sie die Ansicht so an, dass nur Metriken und wichtige Hyperparameter angezeigt werden.

So bewerten Sie ein Modell (Konsole)
  1. Öffnen Sie die Amazon- SageMaker Konsole .

  2. Wählen Sie im Navigationsbereich Search (Suchen) und suchen Sie nach Schulungsaufträgen, indem Sie relevante Parameter angeben. Die Ergebnisse werden in einer Tabelle angezeigt.

  3. Öffnen Sie das Fenster mit den Einstellungen, indem Sie in der Tabelle mit den Suchergebnissen auf das Symbol "Einstellungen" klicken.

  4. Um einen Hyperparameter oder eine Metrik ein- oder auszublenden, aktivieren oder deaktivieren Sie ihn bzw. sie, indem Sie Hyperparameter oder Metric (Metrik) auswählen.

  5. Nehmen Sie die erforderlichen Änderungen vor und wählen Sie dann Update view (Ansicht aktualisieren).

  6. Nachdem Sie Metriken und wichtige Hyperparameter angezeigt haben, können Sie das Ergebnis vergleichen. Anschließend können Sie das beste Modell zum Hosten oder Untersuchen der Modelle auswählen, deren Leistung schwach ist.

Suchen und Bewerten von Schulungsaufträgen (API)

Mithilfe der Search-API können Sie Schulungsaufträge suchen und bewerten oder Vorschläge für durchsuchbare Elemente erhalten, die in Experimenten verwendet werden.

Suchen von Schulungsaufträgen (API)

Zur Suche nach Schulungsaufträgen erstellen Sie einen Suchparameter mit dem Parameter search_params. Verwenden Sie dann die Suchfunktion im smclient-Unterprozess im AWS SDK for Python (Boto3).

Das folgende Beispiel zeigt, wie Sie mit der Search-API Schulungsaufträge suchen.

import boto3 search_params={ "MaxResults": 10, "Resource": "TrainingJob", "SearchExpression": { "Filters": [{ "Name": "Tags.Project", "Operator": "Equals", "Value": "Project_Binary_Classifier" }]}, "SortBy": "Metrics.train:binary_classification_accuracy", "SortOrder": "Descending" } smclient = boto3.client(service_name='sagemaker') results = smclient.search(**search_params)

Modelle bewerten (API)

Um Modelle zu evaluieren, führe eine Suche durch, wie in Suchen von Schulungsaufträgen (API) beschrieben, überprüfe die Modellmetriken und benutze dann das AWS SDK für Python (Boto3), um eine Tabelle zu erstellen und sie zu plotten.

Das folgende Beispiel zeigt, wie Modelle ausgewertet und die Ergebnisse in einer Tabelle angezeigt werden.

import pandas headers=["Training Job Name", "Training Job Status", "Batch Size", "Binary Classification Accuracy"] rows=[] for result in results['Results']: trainingJob = result['TrainingJob'] metrics = trainingJob['FinalMetricDataList'] rows.append([trainingJob['TrainingJobName'], trainingJob['TrainingJobStatus'], trainingJob['HyperParameters']['mini_batch_size'], metrics[[x['MetricName'] for x in metrics].index('train:binary_classification_accuracy')]['Value'] ]) df = pandas.DataFrame(data=rows,columns=headers) from IPython.display import display, HTMLdisplay(HTML(df.to_html()))

Vorschläge erhalten für eine Suche (API)

Um Vorschläge für eine Suche zu erhalten, verwenden Sie die GetSearchSuggestions-API.

Das folgende Beispiel für AWS SDK for Python (Boto3) ist eine get_search_suggestions-Anforderung für Elemente, die linear enthalten.

search_suggestion_params={ "Resource": "TrainingJob", "SuggestionQuery": { "PropertyNameQuery": { "PropertyNameHint": "linear" } } }

Nachfolgend finden Sie eine Beispielantwort für eine get_search_suggestions-Anforderung.

{ 'PropertyNameSuggestions': [{'PropertyName': 'hyperparameters.linear_init_method'}, {'PropertyName': 'hyperparameters.linear_init_value'}, {'PropertyName': 'hyperparameters.linear_init_sigma'}, {'PropertyName': 'hyperparameters.linear_lr'}, {'PropertyName': 'hyperparameters.linear_wd'}] }

Nachdem Sie die Suchvorschläge erhalten haben, können Sie einen der Eigenschaftsnamen in einer Suche verwenden.

Überprüfen der von Ihren Schulungsaufträgen verwendeten Datasets

Sie können die Funktion zur Modellverfolgung verwenden, um zu verifizieren, welche Datasets in Schulungen verwendet wurden und wo die Holdout-Datasets verwendet wurden. Zudem können weitere Details zu Schulungsaufträgen verifiziert werden. Verwenden Sie die Modellnachverfolgungsfunktion beispielsweise, um zu überprüfen, ob ein bestimmtes Dataset in einem Schulungsauftrag für ein Audit verwendet wurde, oder um die Compliance zu überprüfen.

Um zu überprüfen, ob ein bestimmter Datensatz in einem Trainingsauftrag verwendet wurde, suchen Sie nach der URL zu seinem Speicherort im Amazon Simple Storage Service (Amazon S3). Die Modellnachverfolgungsfunktion gibt die Schulungsaufträge zurück, die das von Ihnen angegebene Dataset verwendet haben. Wenn Ihre Suche das Dataset nicht zurückgibt (das Ergebnis ist leer), wurde das Dataset in keinem Schulungsauftrag verwendet. Ein leeres Ergebnis bestätigt beispielsweise, dass kein Holdout-Dataset verwendet wurde.

Verfolgen der Herkunft von Modellen

Sie können die Modellverfolgung verwenden, um Informationen über die Herkunft von Schulungsaufträgen und dafür verwendeter Modellressourcen zu verfolgen, einschließlich Dataset, Algorithmus, Hyperparameter und Metriken. Wenn Sie beispielsweise feststellen, dass die Leistung eines gehosteten Modells nachgelassen hat, können Sie seinen Schulungsauftrag und die verwendeten Ressourcen prüfen, um die Ursache des Problems zu ermitteln.

Verfolgen der Herkunft von Modellen (Konsole)

So verfolgen Sie die Herkunft eines Modells (Konsole)
  1. Öffnen Sie die Amazon- SageMaker Konsole .

  2. Wählen Sie im Navigationsbereich Endpoints (Endpunkte) und dann den relevanten Endpunkt aus.

  3. Scrollen Sie zum Abschnitt Endpoint configuration settings (Endpunkt-Konfigurationseinstellungen). In diesem Abschnitt werden alle Modellversionen aufgelistet, die am Endpunkt bereitgestellt werden, mit einem Hyperlink zu dem Schulungsauftrag, durch den sie jeweils erstellt wurden.

Verfolgen der Herkunft von Modellen (API)

Um die Herkunft eines Modells nachzuverfolgen, rufen Sie den Namen des Modells ab und verwenden ihn dann, um nach Schulungsaufträgen zu suchen.

Das folgende Beispiel zeigt, wie Sie die Herkunft eines Modells mithilfe der API nachverfolgen.

# Get the name of model deployed at endpoint endpoint_config = smclient.describe_endpoint_config(EndpointConfigName=endpointName) model_name = endpoint_config['ProductionVariants'][0]['ModelName'] # Get the model's name model = smclient.describe_model(ModelName=model_name) # Search the training job by the location of model artifacts in Amazon S3 search_params={ "MaxResults": 1, "Resource": "TrainingJob", "SearchExpression": { "Filters": [ { "Name": "ModelArtifacts.S3ModelArtifacts", "Operator": "Equals", "Value": model['PrimaryContainer']['ModelDataUrl'] }]}, } results = smclient.search(**search_params)

Nachdem Sie den Schulungsauftrag gefunden haben, können Sie die Ressourcen überprüfen, die für die Schulung des Modells verwendet wurden.