Creazione di una risorsa algoritmo - Amazon SageMaker

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à.

Creazione di una risorsa algoritmo

Per creare una risorsa algoritmica da utilizzare per eseguire lavori di formazione in Amazon SageMaker e pubblicarla su, Marketplace AWS specifica le seguenti informazioni:

  • Il container Docker contenente il codice di training e, facoltativamente, di inferenza.

  • La configurazione dei dati di input previsti dall'algoritmo per il training.

  • Gli iperparametri supportati dal tuo algoritmo.

  • Metriche che il tuo algoritmo invia ad Amazon CloudWatch durante i lavori di formazione.

  • I tipi di istanza supportati dall'algoritmo per il training e l'inferenza e se supporta il training distribuito su più istanze.

  • Profili di convalida, ovvero processi di formazione SageMaker utilizzati per testare il codice di addestramento dell'algoritmo e processi di trasformazione in batch SageMaker eseguiti per testare il codice di inferenza dell'algoritmo.

    Per garantire che gli acquirenti e i venditori possano essere sicuri che i prodotti funzionino in SageMaker, richiediamo la convalida dei tuoi algoritmi prima di elencarli su Marketplace AWS. Puoi elencare i prodotti Marketplace AWS solo se la convalida ha esito positivo. Per convalidare gli algoritmi, SageMaker utilizza il profilo di convalida e i dati di esempio per eseguire le seguenti attività di convalida:

    1. Crea un processo di formazione nel tuo account per verificare che la tua immagine di formazione funzioni. SageMaker

    2. Se è stato incluso il codice di inferenza nell'algoritmo, creare un modello nell'account usando l'immagine di inferenza dell'algoritmo e gli artefatti del modello prodotti dal processo di training.

    3. Se hai incluso il codice di inferenza nell'algoritmo, crea un processo di trasformazione nel tuo account utilizzando il modello per verificare che l'immagine di inferenza funzioni. SageMaker

    Quando pubblichi il tuo prodotto su Marketplace AWS, gli input e gli output di questo processo di convalida rimangono parte integrante del prodotto e vengono messi a disposizione degli acquirenti. Questo aiuta gli acquirenti a capire e valutare il prodotto prima di acquistarlo. Ad esempio, gli acquirenti possono ispezionare i dati di input che hai utilizzato, gli output generati, i log e i parametri emessi dal tuo codice. Più completa è la specifica della convalida, più risulta facile per i clienti valutare il tuo prodotto.

    Nota

    Nel profilo di convalida, fornisci solo i dati che vuoi esporre pubblicamente.

    La convalida può impiegare anche qualche ora. Per vedere lo stato delle offerte di lavoro nel tuo account, nella SageMaker console, consulta le pagine Training jobs e Transform jobs. Se la convalida non riesce, puoi accedere ai report di scansione e convalida dalla console SageMaker . Se vengono rilevati problemi, dovrai creare nuovamente l'algoritmo.

    Nota

    Per pubblicare l'algoritmo su Marketplace AWS, è necessario almeno un profilo di convalida.

Puoi creare un algoritmo utilizzando la SageMaker console o l' SageMakerAPI.

Creare una risorsa algoritmo (console)

Per creare una risorsa algoritmo (console)
  1. Apri la SageMaker console all'indirizzo https://console.aws.amazon.com/sagemaker/.

  2. Dal menu a sinistra, scegli Training.

  3. Dal menu a discesa, scegli Algoritmi, quindi scegli Crea algoritmo.

  4. Nella pagina Specifiche del training, fornire le seguenti informazioni:

    1. Per Nome algoritmo digitare un nome per l'algoritmo. Il nome dell'algoritmo deve essere univoco nel tuo account e nella AWS regione. Il nome deve essere composto da 1 a 64 caratteri. I caratteri validi sono a–z, A-Z, 0–9 e - (trattino).

    2. Digitare una descrizione per l'algoritmo. Questa descrizione viene visualizzata nella SageMaker console e in Marketplace AWS.

    3. Per l'immagine di training, digita il percorso in Amazon ECR in cui è archiviato il container di training.

    4. Per Supporto training distribuito scegliere se l'algoritmo supporta il training su più istanze. Altrimenti, scegliere No.

    5. Per Supporto dei tipi di istanza per il training, scegliere i tipi di istanza supportati dall'algoritmo.

    6. Per Specifica del canale, specificare fino a 8 canali di dati di input per l'algoritmo. Ad esempio, è possibile specificare 3 canali di input denominati train, validation e test. Per ogni canale, specificare le seguenti informazioni.

      1. Per Nome canale digitare un nome per il canale. Il nome deve essere composto da 1 a 64 caratteri. I caratteri validi sono a–z, A-Z, 0–9 e - (trattino).

      2. Per richiedere il canale per l'algoritmo, scegliere Canale obbligatorio.

      3. Digitare una descrizione del canale.

      4. Per Modalità di input supportate, scegliere Modalità pipe se l'algoritmo supporta lo streaming dei dati di input e Modalità dei file se l'algoritmo supporta il download dei dati di input come file. È possibile sceglierle entrambe.

      5. Per Tipi di contenuto supportati, digitare il tipo MIME previsti dall'algoritmo come dati di input.

      6. Per Tipi di compressione supportati, scegliere Gzip se l'algoritmo supporta la compressione Gzip. Altrimenti, selezionare None (Nessuno).

      7. Scegliere Aggiungi canale per aggiungere un altro canale di input oppure scegliere Successivo se non si devono aggiungere altri canali.

  5. Nella pagina Specifiche dell'ottimizzazione, fornire le seguenti informazioni:

    1. Per Specifica degli iperparametri, specificare gli iperparametri supportati dall'algoritmo modificando l'oggetto JSON. Per ciascun iperparametro supportato dall'algoritmo, costruire un blocco JSON simile al seguente:

      { "DefaultValue": "5", "Description": "The first hyperparameter", "IsRequired": true, "IsTunable": false, "Name": "intRange", "Range": { "IntegerParameterRangeSpecification": { "MaxValue": "10", "MinValue": "1" }, "Type": "Integer" }

      Nel JSON, fornire le seguenti informazioni:

      1. Per DefaultValue, specificare un valore predefinito per l'iperparametro, se presente.

      2. Per Description, specificare una descrizione per l'iperparametro.

      3. Per IsRequired, specificare se l'iperparametro è obbligatorio.

      4. Per IsTunable, specificare true se questo iperparametro può essere ottimizzato quando un utente esegue un processo di ottimizzazione iperparametri che utilizza questo algoritmo. Per informazioni, consulta Esegui l'ottimizzazione automatica del modello con SageMaker.

      5. Per Name, specificare un nome per l'iperparametro.

      6. Per Range, specificare uno dei seguenti valori:

        • IntegerParameterRangeSpecification - i valori dell'iperparametro sono numeri interi. Specificare il valore minimo e massimo per l'iperparametro.

        • ContinuousParameterRangeSpecification - i valori dell'iperparametro sono valori in virgola mobile. Specificare il valore minimo e massimo per l'iperparametro.

        • CategoricalParameterRangeSpecification - i valori dell'iperparametro sono valori categorici. Specificare un elenco di tutti i valori possibili.

      7. Per Type, specificare Integer, Continuous o Categorical. Il valore deve corrispondere al tipo di Range specificato.

    2. Per le definizioni delle metriche, specificate le metriche di allenamento che desiderate che l'algoritmo emetta. SageMaker utilizza l'espressione regolare specificata per trovare le metriche analizzando i log dal contenitore di allenamento durante l'allenamento. Gli utenti possono visualizzare queste metriche quando eseguono lavori di formazione con il tuo algoritmo e possono monitorare e tracciare le metriche in Amazon. CloudWatch Per informazioni, consulta Monitora e analizza i lavori di formazione utilizzando Amazon CloudWatch Metrics. Per ogni parametro, specificare le seguenti informazioni:

      1. Per Nome parametro, digitare un nome per il parametro.

      2. PerRegex, digita l'espressione regolare che SageMaker usa per analizzare i log di allenamento in modo che possa trovare il valore della metrica.

      3. Per Supporto parametro obiettivo scegliere se il parametro può essere utilizzato come parametro obiettivo per un processo di ottimizzazione iperparametri. Per informazioni, consulta Esegui l'ottimizzazione automatica del modello con SageMaker.

      4. Scegliere Aggiungi parametro per aggiungere un altro parametro oppure scegliere Successivo se non si devono aggiungere altri parametri.

  6. Nella pagina Specifiche dell'inferenza, fornire le seguenti informazioni se l'algoritmo supporta l'inferenza:

    1. Per l'Immagine della posizione di inferenza, digita il percorso in Amazon ECR in cui è archiviato il container di inferenza.

    2. Per Nome host container DNS, digitare il nome di un host DNS per l'immagine.

    3. Per Supported instance types for real-time inference (Tipi di istanza supportati per l'inferenza in tempo reale), scegliere i tipi di istanza supportati dall'algoritmo per i modelli distribuiti come endpoint ospitati in SageMaker. Per informazioni, consulta Implementa modelli per l'inferenza.

    4. Per Tipi di istanze supportati per le operazioni di trasformazione in batch, scegliere i tipi di istanza supportati dall'algoritmo per i processi di trasformazione in batch. Per informazioni, consulta Usa la trasformazione in batch per eseguire inferenze con Amazon SageMaker.

    5. Per Tipi di contenuto supportati, digitare il tipo dei dati di input previsti dall'algoritmo come richieste di inferenza.

    6. Per Tipi MIME di risposta supportati, digitare i tipi MIME supportati dall'algoritmo per le risposte di inferenza.

    7. Seleziona Avanti.

  7. Nella pagina Specifiche della convalida, fornire le seguenti informazioni:

    1. Per Pubblica questo algoritmo su Marketplace AWS, scegliete per pubblicare l'algoritmo su. Marketplace AWS

    2. Per Convalida questa risorsa, scegli se desideri SageMaker eseguire processi di formazione e/o processi di trasformazione in batch specificati per testare il codice di addestramento e/o inferenza del tuo algoritmo.

      Nota

      Per pubblicare l'algoritmo su Marketplace AWS, l'algoritmo deve essere convalidato.

    3. Per il ruolo IAM, scegli un ruolo IAM con le autorizzazioni necessarie per eseguire lavori di formazione e trasformare in batch i lavori SageMaker, oppure scegli Crea un nuovo ruolo per consentire la creazione di un ruolo SageMaker a cui è associata la policy AmazonSageMakerFullAccess gestita. Per informazioni, consulta Come utilizzare i ruoli di SageMaker esecuzione.

    4. Per Profilo di convalida, specificare i seguenti valori:

      • Un nome per il profilo di convalida.

      • Una definizione del processo di training. È un blocco JSON che descrive un processo di training. Il formato è uguale a quello del parametro di input TrainingJobDefinition dell'API CreateAlgorithm.

      • Una definizione del processo di trasformazione. È un blocco JSON che descrive un processo di trasformazione in batch. Il formato è uguale a quello del parametro di input TransformJobDefinition dell'API CreateAlgorithm.

    5. Selezionare Crea algoritmo.

Creare una risorsa algoritmo (API)

Per creare una risorsa algoritmica utilizzando l' SageMaker API, chiama l'CreateAlgorithmAPI.