

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.

# Verwenden Sie SageMaker KI-verwaltete warme Pools
<a name="train-warm-pools-how-to-use"></a>

Sie können SageMaker KI-verwaltete Warm-Pools über das SageMaker Python-SDK, die Amazon SageMaker AI-Konsole oder über die Low-Level-Version APIs verwenden. Administratoren können optional den `sagemaker:KeepAlivePeriod` Bedingungsschlüssel verwenden, um die `KeepAlivePeriodInSeconds` Grenzen für bestimmte Benutzer oder Gruppen weiter einzuschränken.

**Topics**
+ [Verwenden des SageMaker KI-Python-SDK](#train-warm-pools-how-to-use-python-sdk)
+ [Verwenden der Amazon SageMaker AI-Konsole](#train-warm-pools-how-to-use-sagemaker-console)
+ [Verwenden Sie das Low-Level SageMaker APIs](#train-warm-pools-how-to-use-low-level-apis)
+ [IAM-Bedingungsschlüssel](#train-warm-pools-how-to-use-iam-condition-key)

## Verwenden des SageMaker KI-Python-SDK
<a name="train-warm-pools-how-to-use-python-sdk"></a>

Erstellen, aktualisieren oder beenden Sie Warm-Pools mit dem SageMaker Python-SDK.

**Anmerkung**  
Diese Funktion ist im SageMaker AI [Python SDK v2.110.0](https://pypi.org/project/sagemaker/2.110.0/) und höher verfügbar.

**Topics**
+ [Erstellen eines Warm Pool](#train-warm-pools-how-to-use-python-sdk-create)
+ [Aktualisieren eines Warm Pools](#train-warm-pools-how-to-use-python-sdk-update)
+ [Löschen eines Warm Pools](#train-warm-pools-how-to-use-python-sdk-terminate)

### Erstellen eines Warm Pool
<a name="train-warm-pools-how-to-use-python-sdk-create"></a>

Um einen warmen Pool zu erstellen, verwenden Sie das SageMaker Python-SDK, um einen Schätzer mit einem `keep_alive_period_in_seconds` Wert größer als 0 zu erstellen, und rufen Sie `fit()` auf. Wenn der Trainingsjob abgeschlossen ist, wird ein warmer Pool beibehalten. Weitere Informationen zu Trainingsskripten und Schätzern finden Sie unter [Trainieren eines Modells mit dem SageMaker Python-SDK](https://sagemaker.readthedocs.io/en/stable/overview.html#train-a-model-with-the-sagemaker-python-sdk). Falls Ihr Skript keinen warmen Pool erstellt, finden Sie mögliche Erklärungen unter [Erstellung eines Warm-Pools](train-warm-pools.md#train-warm-pools-creation).

```
import sagemaker
from sagemaker import get_execution_role
from sagemaker.tensorflow import TensorFlow

# Creates a SageMaker AI session and gets execution role
session = sagemaker.Session()
role = get_execution_role()

# Creates an example estimator
estimator = TensorFlow(
    ...
    entry_point='my-training-script.py',
    source_dir='code',
    role=role,
    model_dir='model_dir',
    framework_version='2.2',
    py_version='py37',
    job_name='my-training-job-1',
    instance_type='ml.g4dn.xlarge',
    instance_count=1,
    volume_size=250,
    hyperparameters={
        "batch-size": 512,
        "epochs": 1,
        "learning-rate": 1e-3,
        "beta_1": 0.9,
        "beta_2": 0.999,
    },
    keep_alive_period_in_seconds=1800,
)

# Starts a SageMaker training job and waits until completion
estimator.fit('s3://my_bucket/my_training_data/')
```

Erstellen Sie dann einen zweiten passenden Ausbildungsauftrag. In diesem Beispiel erstellen wir einen `my-training-job-2`, der alle erforderlichen Attribute für die Zuordnung enthält `my-training-job-1`, aber einen anderen Hyperparameter für Experimente hat. Der zweite Trainingsauftrag nutzt den warmen Pool wieder und startet schneller als der erste Trainingsauftrag. Das folgende Codebeispiel verwendet einen Tensorflow-Schätzer. Die Warm-Pool-Funktion kann mit jedem Trainingsalgorhythmus verwendet werden, der auf Amazon SageMaker AI läuft. Weitere Informationen darüber, welche Attribute übereinstimmen müssen, finden Sie unter [Passende Ausbildungsaufträge](train-warm-pools.md#train-warm-pools-matching-criteria).

```
# Creates an example estimator
estimator = TensorFlow(
    ...
    entry_point='my-training-script.py',
    source_dir='code',
    role=role,
    model_dir='model_dir',
    framework_version='py37',
    py_version='pyxy',
    job_name='my-training-job-2',
    instance_type='ml.g4dn.xlarge',
    instance_count=1,
    volume_size=250,
    hyperparameters={
        "batch-size": 512,
        "epochs": 2,
        "learning-rate": 1e-3,
        "beta_1": 0.9,
        "beta_2": 0.999,
    },
    keep_alive_period_in_seconds=1800,
)

# Starts a SageMaker training job and waits until completion
estimator.fit('s3://my_bucket/my_training_data/')
```

Prüfen Sie bei beiden Trainingsjobs den Status des warmen Pools, um sicherzustellen, dass der Warmpool `Reused` für `my-training-job-1` und `InUse` für `my-training-job-2` vorgesehen ist.

**Anmerkung**  
Namen von Trainingsaufträgen haben date/time Suffixe. Das Beispiel für die Namen der Ausbildungsberufe `my-training-job-1` und `my-training-job-2` sollte durch die tatsächlichen Namen der Ausbildungsberufe ersetzt werden. Sie können den `estimator.latest_training_job.job_name` Befehl verwenden, um den tatsächlichen Namen der Trainingsaufgabe abzurufen.

```
session.describe_training_job('my-training-job-1')
session.describe_training_job('my-training-job-2')
```

Das Ergebnis von `describe_training_job` enthält alle Details zu einem bestimmten Trainingsauftrag. Suchen Sie nach dem `WarmPoolStatus` Attribut, um Informationen über den warmen Pool eines Trainingsjobs zu überprüfen. Ihre Ausgabe sollte ähnlich wie das folgende Beispiel aussehen:

```
# Warm pool status for training-job-1
...
'WarmPoolStatus': {'Status': 'Reused', 
  'ResourceRetainedBillableTimeInSeconds': 1000,
  'ReusedByName': my-training-job-2}
...

# Warm pool status for training-job-2
... 
'WarmPoolStatus': {'Status': 'InUse'}
...
```

### Aktualisieren eines Warm Pools
<a name="train-warm-pools-how-to-use-python-sdk-update"></a>

Wenn der Trainingsjob abgeschlossen ist und der Status des warmen Pools lautet `Available`, können Sie den `KeepAlivePeriodInSeconds` Wert aktualisieren.

```
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":3600})
```

### Löschen eines Warm Pools
<a name="train-warm-pools-how-to-use-python-sdk-terminate"></a>

Um einen warmen Pool manuell zu löschen, setzen Sie den `KeepAlivePeriodInSeconds ` Wert auf 0.

```
session.update_training_job(job_name, resource_config={"KeepAlivePeriodInSeconds":0})
```

Der warme Pool wird automatisch beendet, wenn er den festgelegten `KeepAlivePeriodInSeconds` Wert überschreitet oder wenn es ein Patch-Update für den Cluster gibt.

## Verwenden der Amazon SageMaker AI-Konsole
<a name="train-warm-pools-how-to-use-sagemaker-console"></a>

Über die Konsole können Sie einen Warm-Pool erstellen, einen Warm-Pool freigeben oder den Warm-Pool-Status und die abrechenbare Zeit bestimmter Trainingsaufträge überprüfen. Sie können auch sehen, bei welchem passenden Trainingsjob ein Warmpool wiederverwendet wurde.

1. Öffnen Sie die [Amazon SageMaker AI-Konsole](https://console.aws.amazon.com/ec2/) und wählen Sie im Navigationsbereich **Training Jobs** aus. Falls zutreffend, ist der Warmpool-Status jedes Trainingsjobs in der Spalte **Warmpool-Status** und die verbleibende Zeit für einen aktiven Warmpool in der Spalte **Restzeit** sichtbar.

1. Um von der Konsole aus einen Trainingsjob zu erstellen, für den ein Warmpool verwendet wird, wählen Sie **Trainingsjob erstellen**. Stellen Sie anschließend sicher, dass Sie bei der Konfiguration Ihrer Trainingsjob-Ressourcen einen Wert für das Feld **Keep-Alive-Zeitraum** angeben. Dieser Wert muss eine Ganzzahl zwischen 1 und 3600 sein, was die Dauer in Sekunden darstellt.

1. Um einen warmen Pool von der Konsole aus freizugeben, wählen Sie einen bestimmten Trainingsjob aus und wählen Sie im Dropdown-Menü **Aktionen** die Option **Cluster freigeben** aus.

1. Wählen Sie einen Trainingsauftrag aus, um weitere Informationen zu einem Warm Pool zu erhalten. Scrollen Sie auf der Seite mit den Jobdetails nach unten zum Abschnitt **Status des Warmpools**, die verbleibende Zeit, wenn der Status des Warmpools lautet `Available`, die abrechnungsfähigen Sekunden für das Warmpool und den Namen des Trainingsjobs, bei dem der warme Pool wiederverwendet wurde, falls der Status des warmen Poold `Reused` lautet.

## Verwenden Sie das Low-Level SageMaker APIs
<a name="train-warm-pools-how-to-use-low-level-apis"></a>

Verwenden Sie SageMaker KI-verwaltete Warm-Pools entweder mit der SageMaker API oder der AWS CLI.

### SageMaker KI-API
<a name="train-warm-pools-how-to-use-low-level-apis-sagemaker"></a>

Richten Sie SageMaker KI-verwaltete Warm-Pools mithilfe der SageMaker API mit den folgenden Befehlen ein:
+ [ CreateTrainingJob ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)
+ [ UpdateTrainingJob ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateTrainingJob.html)
+ [ ListTrainingJobs ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListTrainingJobs.html)
+ [ DescribeTrainingJob ](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html)

### AWS CLI
<a name="train-warm-pools-how-to-use-low-level-apis-cli"></a>

Richten Sie SageMaker KI-verwaltete Warm-Pools mithilfe der AWS CLI mit den folgenden Befehlen ein:
+ [create-training-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/create-training-job.html)
+ [update-training-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-training-job.html)
+ [list-training-jobs](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/list-training-jobs.html)
+ [describe-training-job](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/describe-training-job.html)

## IAM-Bedingungsschlüssel
<a name="train-warm-pools-how-to-use-iam-condition-key"></a>

Administratoren können optional den `sagemaker:KeepAlivePeriod` Bedingungsschlüssel verwenden, um die `KeepAlivePeriodInSeconds` Grenzwerte für bestimmte Benutzer oder Gruppen weiter einzuschränken. SageMaker KI-verwaltete Warmpools sind auf einen `KeepAlivePeriodInSeconds` Wert von 3600 Sekunden (60 Minuten) begrenzt, aber Administratoren können diesen Grenzwert bei Bedarf senken. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnforceKeepAlivePeriodLimit",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreateTrainingJob"
            ],
            "Resource": "*",
            "Condition": {
                "NumericLessThanIfExists": {
                    "sagemaker:KeepAlivePeriod": "1800"
                }
            }
        }
    ]
}
```

------

Weitere Informationen finden Sie unter [Bedingungsschlüssel für Amazon SageMaker AI](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html#amazonsagemaker-policy-keys) in der *Service Authorization Reference*.