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

Puoi creare una risorsa algoritmica da utilizzare con i lavori di formazione in Amazon SageMaker e pubblicarla su Marketplace AWS. Le sezioni seguenti spiegano come eseguire questa operazione utilizzando AWS Management Console e il SageMaker API.

Per creare una risorsa algoritmica, specificate le seguenti informazioni:

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

  • La configurazione dei dati di input previsti dall'algoritmo per l’addestramento.

  • 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 l’addestramento e l'inferenza e se supporta l’addestramento 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 acquirenti e venditori possano avere la certezza che i prodotti funzionino correttamente SageMaker, ti chiediamo di convalidare i tuoi algoritmi prima di metterli in vendita. Marketplace AWS Puoi mettere in vendita 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, crea un modello nell'account usando l'immagine di inferenza dell'algoritmo e gli artefatti del modello prodotti dal processo di addestramento.

    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 fallisce, puoi accedere ai report di scansione e convalida dalla SageMaker console. Se vengono rilevati problemi, dovrai creare nuovamente l'algoritmo.

    Nota

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

È possibile creare un algoritmo utilizzando la SageMaker console o il SageMakerAPI.

Creazione di 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 Addestramento.

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

  4. Nella pagina Specifiche dell’addestramento, inserisci le seguenti informazioni:

    1. Per Nome algoritmo digita 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. Digita una descrizione per l'algoritmo. Questa descrizione viene visualizzata nella SageMaker console e in Marketplace AWS.

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

    4. Per Supporto addestramento distribuito scegli se l'algoritmo supporta l’addestramento su più istanze. Altrimenti, scegli No.

    5. Per Supporto dei tipi di istanza per l’addestramento, scegli i tipi di istanza supportati dall'algoritmo.

    6. Per Specifica del canale, specifica 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, specifica le seguenti informazioni.

      1. Per Nome canale digita 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, scegli Canale obbligatorio.

      3. Digita una descrizione del canale.

      4. Per Modalità di input supportate, scegli 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 i tipi di contenuto supportati, digita il MIME tipo che l'algoritmo prevede per i dati di input.

      6. Per Tipi di compressione supportati, scegli Gzip se l'algoritmo supporta la compressione Gzip. Altrimenti, seleziona Nessuno.

      7. Scegli Aggiungi canale per aggiungere un altro canale di input oppure scegli Successivo se non desideri aggiungere altri canali.

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

    1. Per la specifica degli iperparametri, specificate gli iperparametri supportati dall'algoritmo modificando l'oggetto. JSON Per ogni iperparametro supportato dal tuo algoritmo, costruisci un JSON blocco simile al seguente:

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

      NelJSON, fornisci quanto segue:

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

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

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

      4. Per IsTunable, specifica true se questo iperparametro può essere ottimizzato quando un utente esegue un processo di ottimizzazione iperparametri che utilizza questo algoritmo. Per informazioni, consultare Ottimizzazione automatica del modello con SageMaker.

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

      6. Per Range, specifica uno dei seguenti valori:

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

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

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

      7. Per Type, specifica 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, consultare Amazon CloudWatch Metrics per il monitoraggio e l'analisi dei lavori di formazione. Per ogni parametro, specifica le seguenti informazioni:

      1. Per Nome parametro, digita 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 scegli se il parametro può essere utilizzato come parametro obiettivo per un processo di ottimizzazione iperparametri. Per informazioni, consulta Ottimizzazione automatica del modello con SageMaker.

      4. Scegli Aggiungi parametro per aggiungere un altro parametro oppure scegli Successivo se desideri aggiungere altri parametri.

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

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

    2. Per il nome DNS host del contenitore, digita il nome di un DNS host per la tua immagine.

    3. Per Tipi di istanze supportati per l'inferenza in tempo reale, scegli i tipi di istanza supportati dall'algoritmo per i modelli distribuiti come endpoint ospitati in. SageMaker Per informazioni, consultare Implementa modelli per l'inferenza.

    4. Per Tipi di istanze supportati per le operazioni di trasformazione in batch, scegli i tipi di istanza supportati dall'algoritmo per i processi di trasformazione in batch. Per informazioni, consulta Trasformazione in batch per l'inferenza con Amazon SageMaker.

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

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

    7. Scegli Next (Successivo).

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

    1. Per Pubblica questo algoritmo su Marketplace AWS, scegli 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 IAMquanto riguarda il ruolo, scegli un IAM ruolo 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, consultare Come utilizzare i ruoli di SageMaker esecuzione.

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

      • Un nome per il profilo di convalida.

      • Una definizione del processo di addestramento. Questo è un JSON blocco che descrive un lavoro di formazione. È nello stesso formato del parametro di TrainingJobDefinitioninput di CreateAlgorithmAPI.

      • Una definizione del processo di trasformazione. Questo è un JSON blocco che descrive un processo di trasformazione in batch. È nello stesso formato del parametro di TransformJobDefinitioninput di CreateAlgorithmAPI.

    5. Seleziona Crea algoritmo.

Crea una risorsa algoritmica (API)

Per creare una risorsa algoritmica utilizzando il SageMaker API, chiamate il CreateAlgorithmAPI.