Use contêineres do Docker para criar modelos - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Use contêineres do Docker para criar modelos

A Amazon SageMaker faz uso extensivo de contêineres Docker para tarefas de construção e execução. SageMaker fornece imagens Docker pré-criadas para seus algoritmos integrados e as estruturas de aprendizado profundo suportadas usadas para treinamento e inferência. Usando contêineres, você pode treinar algoritmos de machine learning e implantar modelos de maneira rápida e confiável em qualquer escala. Os tópicos desta seção mostram como implantar esses contêineres para seus próprios casos de uso. Para obter informações sobre como trazer seus próprios contêineres para uso com o Amazon SageMaker Studio Classic, consulteTraga sua própria SageMaker imagem.

Cenários para execução de scripts, treinamento de algoritmos ou implantação de modelos com SageMaker

A Amazon SageMaker sempre usa contêineres Docker ao executar scripts, treinar algoritmos e implantar modelos. O nível de engajamento com contêineres depende do caso de uso.

A árvore decisória a seguir ilustra três cenários principais: Casos de uso para usar contêineres Docker pré-construídos com SageMaker; Casos de uso para estender um contêiner Docker pré-construído; Caso de uso para criar seu próprio contêiner.

Árvore de decisão para escolher criar um contêiner personalizado, estender um contêiner ou usar um contêiner predefinido.

Casos de uso para usar contêineres Docker pré-construídos com SageMaker

Considere os seguintes casos de uso ao usar contêineres com SageMaker:

  • SageMaker Algoritmo pré-construído — Use a imagem que vem com o algoritmo incorporado. Consulte Usar algoritmos SageMaker integrados da Amazon ou modelos pré-treinados para obter mais informações.

  • Modelo personalizado com SageMaker contêiner pré-construído — Se você treinar ou implantar um modelo personalizado, mas usar uma estrutura que tenha um SageMaker contêiner pré-construído, incluindo TensorFlow e PyTorch, escolha uma das seguintes opções:

    • Se você não precisa de um pacote personalizado e o contêiner já inclui todos os pacotes necessários, use a imagem predefinida do Docker associada à sua estrutura. Para ter mais informações, consulte Use imagens pré-construídas do SageMaker Docker.

    • Se você precisar de um pacote personalizado instalado em um dos contêineres predefinidos, confirme se a imagem predefinida do Docker permite um arquivo requirements.txt ou estenda o contêiner predefinido com base nos seguintes casos de uso.

Casos de uso para estender um contêiner do Docker predefinido

A seguir estão os casos de uso para estender um contêiner do Docker predefinido:

  • Você não pode importar as dependências — Estenda a imagem predefinido do Docker associada à sua estrutura. Consulte Estenda uma imagem de contêiner predefinida Para mais informações.

  • Você não pode importar as dependências no contêiner predefinido e o contêiner predefinido é compatível com requirements.txt — Adicione todas as dependências necessárias em requirements.txt. As estruturas a seguir oferecem suporte ao uso de requirements.txt.

Caso de uso para construir o próprio contêiner

Se você criar ou treinar um modelo personalizado e precisar de uma estrutura personalizada que não tenha uma imagem predefinida, crie um contêiner personalizado.

Como exemplo de caso de uso de treinamento e implantação de um TensorFlow modelo, o guia a seguir mostra como determinar qual opção das seções anteriores de Casos de uso se adequa ao caso.

Suponha que você tenha os seguintes requisitos para treinar e implantar um TensorFlow modelo.

Depois de determinar o tipo de contêiner necessário, a lista a seguir fornece detalhes sobre as opções listadas anteriormente.

  • Use um SageMaker algoritmo ou estrutura incorporada. Para a maioria dos casos de uso, você pode usar os algoritmos e estruturas integrados sem se preocupar com contêineres. Você pode treinar e implantar esses algoritmos a partir do SageMaker console, do AWS Command Line Interface (AWS CLI), de um notebook Python ou do Amazon Python SageMaker SDK. É possível fazer isso especificando a versão do algoritmo ou da estrutura ao criar o Estimador. Os algoritmos integrados disponíveis são discriminados e descritos no tópico Use algoritmos SageMaker integrados da Amazon ou modelos pré-treinados. Para obter mais informações sobre as estruturas disponíveis, consulte Frameworks e linguagens de ML. Para ver um exemplo de como treinar e implantar um algoritmo integrado usando um notebook Jupyter executado em uma instância de SageMaker notebook, consulte o Guia para se configurar com a Amazon SageMaker tópico.

  • Use imagens de SageMaker contêiner pré-criadas. Como alternativa, você pode usar os algoritmos e estruturas integrados usando contêineres do Docker. SageMaker fornece contêineres para seus algoritmos integrados e imagens Docker pré-criadas para algumas das estruturas de aprendizado de máquina mais comuns, como Apache MXNet,, e Chainer. TensorFlow PyTorch Para obter uma lista completa das SageMaker imagens disponíveis, consulte Imagens disponíveis de contêineres de Deep Learning. Ele também oferece suporte a bibliotecas de machine learning, como scikit-learn e SparkML. Se você usar o SDK do Amazon SageMaker Python, poderá implantar os contêineres passando o URI completo do contêiner para a respectiva SageMaker classe de SDK. Estimator Para ver a lista completa das estruturas de aprendizado profundo que atualmente são suportadas pelo SageMaker, consulteImagens pré-construídas SageMaker do Docker para aprendizado profundo. Para obter informações sobre as imagens de contêiner criadas do scikit-learn e SparkML, consulte Imagens pré-criadas do Amazon SageMaker Docker para Scikit-learn e Spark ML. Para obter mais informações sobre o uso de estruturas com o Amazon SageMaker Python SDK, consulte seus respectivos tópicos em. Linguagens e frameworks de Machine Learning

  • Estenda uma imagem de SageMaker contêiner pré-criada. Se quiser estender um SageMaker algoritmo pré-construído ou modelar uma imagem Docker, você pode modificar a SageMaker imagem para satisfazer suas necessidades. Para ver um exemplo, consulte Estendendo nossos PyTorch contêineres.

  • Adaptar uma imagem de contêiner existente: se você quiser adaptar uma imagem de contêiner preexistente para trabalhar SageMaker, você deve modificar o contêiner do Docker para habilitar o kit de ferramentas de SageMaker treinamento ou inferência. Para ver um exemplo que mostra como criar seus próprios contêineres para treinar e hospedar um algoritmo, consulte Bring Your Own R Algorithm (Trazer seu próprio algoritmo R).