Konfigurieren Ihrer Pipeline - Amazon SageMaker AI

Konfigurieren Ihrer Pipeline

Es wird empfohlen, die SageMaker AI-Konfigurationsdatei zu verwenden, um die Standardeinstellungen für die Pipeline festzulegen. Informationen über die Konfigurationsdatei von SageMaker AI finden Sie unter Konfigurieren und Verwenden von Standardeinstellungen mit dem SageMaker Python SDK. Jede Konfiguration, die der Konfigurationsdatei hinzugefügt wird, gilt für alle Schritte in der Pipeline. Wenn Sie die Optionen für einen der Schritte überschreiben möchten, geben Sie neue Werte in den @step Decorator-Argumenten an. Das folgende Thema beschreibt, wie eine Konfigurationsdatei eingerichtet wird.

Die Konfiguration des @step Decorators in der Konfigurationsdatei ist identisch mit der Konfiguration des @remote Decorators. Verwenden Sie den Pipeline Abschnitt im folgenden Ausschnitt, um den ARN der Pipeline-Rolle und die Pipeline-Tags in der Konfigurationsdatei einzurichten:

SchemaVersion: '1.0' SageMaker: Pipeline: RoleArn: 'arn:aws:iam::555555555555:role/IMRole' Tags: - Key: 'tag_key' Value: 'tag_value'

Die meisten Standardwerte, die Sie in der Konfigurationsdatei festlegen können, können Sie auch überschreiben, indem Sie neue Werte an den Decorator übergeben. @step Sie können beispielsweise den Instance-Typ überschreiben, den Sie in der Konfigurationsdatei für Ihren Vorverarbeitungsschritt festgelegt haben, wie im folgenden Beispiel dargestellt:

@step(instance_type="ml.m5.large") def preprocess(raw_data): df = pandas.read_csv(raw_data) ... return procesed_dataframe

Einige Argumente sind nicht Teil der @step Decorator-Parameterliste — diese können nur über die SageMaker AI-Konfigurationsdatei für die gesamte Pipeline konfiguriert werden. Sie sind wie folgt aufgeführt:

  • sagemaker_session(sagemaker.session.Session): Die zugrunde liegende SageMaker AI-Sitzung, an die SageMaker AI Serviceanfragen delegiert. Falls nicht angegeben, wird eine Sitzung mit einer Standardkonfiguration wie folgt erstellt:

    SageMaker: PythonSDK: Modules: Session: DefaultS3Bucket: 'default_s3_bucket' DefaultS3ObjectKeyPrefix: 'key_prefix'
  • custom_file_filter(CustomFileFilter): Ein CustomFileFilter Objekt, das die lokalen Verzeichnisse und Dateien angibt, die in den Pipeline-Schritt aufgenommen werden sollen. Falls nicht angegeben, ist dieser Wert standardmäßig auf. None custom_file_filterUm wirksam zu werden, müssen Sie auf einstellenIncludeLocalWorkdir. True Das folgende Beispiel zeigt eine Konfiguration, die alle Notebookdateien sowie die genannten data Dateien und Verzeichnisse ignoriert.

    SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: IncludeLocalWorkDir: true CustomFileFilter: IgnoreNamePatterns: # files or directories to ignore - "*.ipynb" # all notebook files - "data" # folder or file named "data"

    Weitere Informationen zur Verwendung von IncludeLocalWorkdir mit finden Sie CustomFileFilter unterVerwendung von modularem Code mit dem @remote Decorator.

  • s3_root_uri (str): Der Amazon S3 S3-Stammordner, in den SageMaker AI die Codearchive und Daten hochlädt. Wenn keine Angabe erfolgt, wird der SageMaker AI-Bucket verwendet.

  • s3_kms_key (str): Der Schlüssel, der zum Verschlüsseln der Eingabe- und Ausgabedaten verwendet wird. Sie können dieses Argument nur in der SageMaker AI-Konfigurationsdatei konfigurieren und das Argument gilt für alle in der Pipeline definierten Schritte. Wenn keine Angabe erfolgt, lautet der Standardwert. None Im folgenden Codeausschnitt finden Sie ein Beispiel für eine S3-KMS-Schlüsselkonfiguration:

    SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: S3KmsKeyId: 's3kmskeyid' S3RootUri: 's3://amzn-s3-demo-bucket/my-project