Toolkit di addestramento e inferenza SageMaker - Amazon SageMaker AI

Toolkit di addestramento e inferenza SageMaker

I Kit di strumenti SageMaker Training e SageMaker AI Inference implementano le funzionalità necessarie per adattare i container per eseguire script, addestrare algoritmi e implementare modelli in SageMaker AI. Una volta installata, la libreria definisce quanto segue per gli utenti:

  • Le posizioni per l'archiviazione di codice e altre risorse.

  • Il punto di ingresso che contiene il codice da eseguire all'avvio del container. Dockerfile deve copiare il codice che deve essere eseguito nel percorso previsto da un container compatibile con SageMaker AI.

  • Altre informazioni richieste da un container per gestire le distribuzioni per addestramento e inferenza.

Struttura dei container dei Kit di strumenti SageMaker AI

Quando SageMaker AI esegue l’addestramento di un modello, crea la seguente struttura di cartelle di file nella directory /opt/ml del container.

/opt/ml ├── input │ ├── config │ │ ├── hyperparameters.json │ │ └── resourceConfig.json │ └── data │ └── <channel_name> │ └── <input data> ├── model │ ├── code │ ├── output │ └── failure

Quando esegui un job di addestramento del modello, il container SageMaker AI utilizza la directory /opt/ml/input/ contenente i file JSON che configurano gli iperparametri per l’algoritmo e il layout di rete utilizzato per l’addestramento distribuito. La directory /opt/ml/input/ contiene inoltre i file che specificano i canali attraverso i quali SageMaker AI accede ai dati, che sono archiviati in Amazon Simple Storage Service (Amazon S3). La libreria di container SageMaker AI inserisce gli script che verranno eseguiti dal container nella directory /opt/ml/code/. Lo script deve scrivere il modello generato dall'algoritmo nella directory /opt/ml/model/. Per ulteriori informazioni, consulta Container con algoritmi di addestramento personalizzati.

Quando esegui l’hosting di un modello addestrato su SageMaker AI per eseguire inferenze, implementa il modello in un endpoint HTTP. Il modello esegue previsioni in tempo reale in risposta a richieste di inferenza. Il container deve contenere uno stack di server per elaborare queste richieste.

In un container di hosting o trasformazione in batch, i file del modello si trovano nella stessa cartella in cui sono stati scritti durante l’addestramento.

/opt/ml/model │ └── <model files>

Per ulteriori informazioni, consulta Container con codice di inferenza personalizzato.

Container singoli o multipli

Puoi fornire immagini Docker separate per l'algoritmo di addestramento e il codice di inferenza oppure utilizzare una singola immagine Docker per entrambi. Durante la creazione di immagini Docker da utilizzare con SageMaker AI, considera quanto segue:

  • Fornire due immagini Docker può aumentare i requisiti di archivio e i costi, perché le librerie comuni possono essere duplicate.

  • In generale, i container più piccoli si avviano più rapidamente sia per l’addestramento sia per l'hosting. I modelli si preparano più rapidamente e il servizio di hosting può reagire a un aumento di traffico ridimensionandosi automaticamente in modo più rapido.

  • Potresti riuscire a scrivere un container di inferenza notevolmente inferiore al container di addestramento. Ciò è particolarmente comune quando utilizzi GPU per l’addestramento, ma il tuo codice di inferenza è ottimizzato per le CPU.

  • SageMaker AI richiede che i container Docker vengano eseguiti senza accesso privilegiato.

  • Entrambi i container Docker creati e quelli forniti da SageMaker AI possono inviare messaggi ai file Stdout e Stderr. SageMaker AI invia questi messaggi ad Amazon CloudWatch Logs nel tuo account AWS.

Per ulteriori informazioni su come creare container SageMaker AI e su come gli script vengono eseguiti al loro interno, consulta i repository relativi ai Kit di strumenti di SageMaker AI Training e ai Kit di strumenti di SageMaker AI Inference su GitHub. Forniscono inoltre elenchi di variabili di ambiente importanti e le variabili di ambiente fornite da container SageMaker AI.