Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Modifica lo script di formazione per assegnare gruppi di istanze

Modalità Focus
Modifica lo script di formazione per assegnare gruppi di istanze - Amazon SageMaker AI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Con la configurazione eterogenea del cluster illustrata nelle sezioni precedenti, hai preparato l'ambiente e le istanze di formazione per il tuo lavoro di SageMaker formazione. Per assegnare ulteriormente i gruppi di istanze a determinati processi di addestramento ed elaborazione dei dati, la fase successiva consiste nel modificare lo script di addestramento. Per impostazione predefinita, il processo di addestramento crea semplicemente repliche degli script di addestramento per tutti i nodi indipendentemente dalla dimensione dell'istanza, e ciò potrebbe comportare una perdita di prestazioni.

Ad esempio, se mescoli istanze di CPU e istanze GPU in un cluster eterogeneo mentre passi uno script di addestramento approfondito della rete neurale all'entry_pointargomento dello stimatore AI, lo script viene replicato su ogni istanza. SageMaker entry_point Ciò significa che, senza un'adeguata assegnazione delle attività, le istanze CPU eseguono anche l'intero script e avviano il processo di addestramento progettato per l'addestramento distribuito su istanze GPU. Pertanto, dovrai apportare modifiche alle funzioni di elaborazione specifiche che desideri scaricare ed eseguire sulle istanze della CPU. È possibile utilizzare le variabili di ambiente SageMaker AI per recuperare le informazioni del cluster eterogeneo e consentire l'esecuzione di processi specifici di conseguenza.

All'inizio del processo di formazione, lo script di formazione legge le informazioni sull'ambiente di formazione che includono la SageMaker configurazione di cluster eterogenei. La configurazione contiene informazioni come i gruppi di istanze correnti, gli host correnti di ciascun gruppo e in quale gruppo risiede l'host corrente.

È possibile interrogare le informazioni sul gruppo di istanze durante la fase di inizializzazione di un processo di formazione sull' SageMaker intelligenza artificiale nei seguenti modi.

(Consigliato) Leggere le informazioni sul gruppo di istanze con il toolkit SageMaker di formazione

Usa il modulo di ambiente Python fornito dalla libreria di toolkit SageMaker di formazione. La libreria del toolkit è preinstallata nei contenitori del SageMaker framework per TensorFlow and PyTorch, quindi non è necessaria una fase di installazione aggiuntiva quando si utilizzano i contenitori predefiniti. Questo è il metodo consigliato per recuperare le variabili di ambiente SageMaker AI con meno modifiche al codice nello script di addestramento.

from sagemaker_training import environment env = environment.Environment()

Variabili di ambiente relative alla SageMaker formazione generale e ai cluster eterogenei:

  • env.is_hetero— Restituisce un risultato booleano indipendentemente dal fatto che un cluster eterogeneo sia configurato o meno.

  • env.current_host— Restituisce l'host corrente.

  • env.current_instance_type— Restituisce il tipo di istanza dell'host corrente.

  • env.current_instance_group— Restituisce il nome del gruppo di istanze corrente.

  • env.current_instance_group_hosts— Restituisce un elenco di host nel gruppo di istanze corrente.

  • env.instance_groups— Restituisce un elenco di nomi di gruppi di istanze utilizzati per l'addestramento.

  • env.instance_groups_dict— Restituisce l'intera configurazione del cluster eterogeneo del processo di addestramento.

  • env.distribution_instance_groups— Restituisce un elenco di gruppi di istanze assegnati al distribution parametro della classe di stima AI SageMaker .

  • env.distribution_hosts— Restituisce un elenco di host appartenenti ai gruppi di istanze assegnati al distribution parametro della classe di stima SageMaker AI.

Ad esempio, si consideri il seguente esempio di cluster eterogeneo costituito da due gruppi di istanze.

from sagemaker.instance_group import InstanceGroup instance_group_1 = InstanceGroup( "instance_group_1", "ml.c5.18xlarge", 1) instance_group_2 = InstanceGroup( "instance_group_2", "ml.p3dn.24xlarge", 2)

L'output di env.instance_groups_dict del cluster eterogeneo di esempio deve essere simile al seguente.

{ "instance_group_1": { "hosts": [ "algo-2" ], "instance_group_name": "instance_group_1", "instance_type": "ml.c5.18xlarge" }, "instance_group_2": { "hosts": [ "algo-3", "algo-1" ], "instance_group_name": "instance_group_2", "instance_type": "ml.p3dn.24xlarge" } }

(Facoltativo) Lettura delle informazioni sul gruppo di istanze dal file JSON di configurazione delle risorse

Se preferisci recuperare le variabili di ambiente in formato JSON, puoi utilizzare direttamente il file JSON di configurazione delle risorse. Per impostazione predefinita, il file JSON in un'istanza di SageMaker formazione si trova in/opt/ml/input/config/resourceconfig.json.

file_path = '/opt/ml/input/config/resourceconfig.json' config = read_file_as_json(file_path) print(json.dumps(config, indent=4, sort_keys=True))
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.