Os cientistas de dados precisam de um ambiente consistente e reproduzível para cargas de trabalho de aprendizado de máquina (ML) e ciência de dados que permita o gerenciamento de dependências e seja seguro. Contêineres de aprendizado profundo da AWS já fornece imagens Docker pré-criadas para treinar e servir modelos em estruturas comuns, como TensorFlow, PyTorch e MXNet. Para melhorar essa experiência, anunciamos uma versão beta pública da distribuição de código aberto SageMaker na JupyterCon 2023. Isso fornece uma experiência de ML de ponta a ponta unificada para desenvolvedores de ML de vários níveis de especialização. Os desenvolvedores não precisam mais alternar entre diferentes contêineres de estrutura para experimentação ou à medida que passam de ambientes JupyterLab locais e notebooks SageMaker para trabalhos de produção no SageMaker. O SageMaker Distribution de código aberto oferece suporte aos pacotes e bibliotecas mais comuns para ciência de dados, ML e visualização, como TensorFlow, PyTorch, Scikit-learn, Pandas e Matplotlib. Você pode começar a usar o contêiner do Galeria pública do Amazon ECR começando hoje.
Nesta postagem, mostramos como você pode usar a distribuição de código aberto SageMaker para experimentar rapidamente em seu ambiente local e promovê-los facilmente para empregos no SageMaker.
Visão geral da solução
Para nosso exemplo, mostramos o treinamento de um modelo de classificação de imagem usando o PyTorch. Nós usamos o KMNIST conjunto de dados disponível publicamente no PyTorch. Treinamos um modelo de rede neural, testamos o desempenho do modelo e, finalmente, imprimimos o treinamento e a perda de teste. O notebook completo para este exemplo está disponível no Repositório de exemplos do SageMaker Studio Lab. Iniciamos a experimentação em um laptop local usando a distribuição de código aberto, movemos para Estúdio Amazon SageMaker para usar uma instância maior e agende o bloco de anotações como um trabalho de bloco de anotações.
Pré-requisitos
Você precisa dos seguintes pré-requisitos:
Configure seu ambiente local
Você pode começar a usar diretamente a distribuição de código aberto em seu laptop local. Para iniciar o JupyterLab, execute os seguintes comandos no seu terminal:
Você pode substituir ECR_IMAGE_ID
com qualquer uma das tags de imagem disponíveis no Galeria pública do Amazon ECR, ou escolha o latest-gpu
tag se estiver usando uma máquina compatível com GPU.
Este comando iniciará o JupyterLab e fornecerá uma URL no terminal, como http://127.0.0.1:8888/lab?token=<token>
. Copie o link e insira-o em seu navegador preferido para iniciar o JupyterLab.
Configurar estúdio
O Studio é um ambiente de desenvolvimento integrado (IDE) de ponta a ponta para ML que permite que desenvolvedores e cientistas de dados criem, treinem, implantem e monitorem modelos de ML em escala. O Studio fornece uma extensa lista de imagens próprias com estruturas e pacotes comuns, como Data Science, TensorFlow, PyTorch e Spark. Essas imagens tornam simples para os cientistas de dados começarem a usar o ML simplesmente escolhendo uma estrutura e um tipo de instância de sua escolha para computação.
Agora você pode usar a distribuição de código aberto SageMaker no Studio usando o Studio traga sua própria imagem recurso. Para adicionar a distribuição de código aberto ao seu domínio SageMaker, conclua as seguintes etapas:
- Adicione a distribuição de código aberto à sua conta Registro do Amazon Elastic Container (Amazon ECR) executando os seguintes comandos em seu terminal:
- Crie uma imagem do SageMaker e anexe a imagem ao domínio do Studio:
- No console do SageMaker, inicie o Studio escolhendo seu domínio e perfil de usuário existente.
- Opcionalmente, reinicie o Studio seguindo as etapas em Desligue e atualize o SageMaker Studio.
Baixe o caderno
Faça o download do bloco de anotações de amostra localmente em GitHub repo.
Abra o notebook no IDE de sua escolha e adicione uma célula no início do notebook para instalar torchsummary
. O torchsummary
pacote não faz parte da distribuição e instalá-lo no notebook garantirá que o notebook seja executado de ponta a ponta. Recomendamos usar conda
or micromamba
para gerenciar ambientes e dependências. Adicione a seguinte célula ao notebook e salve o notebook:
Experimente no notebook local
Carregue o notebook na IU do JupyterLab que você iniciou escolhendo o ícone de upload conforme mostrado na captura de tela a seguir.
Quando estiver carregado, inicie o cv-kmnist.ipynb
caderno. Você pode começar a executar as células imediatamente, sem precisar instalar nenhuma dependência, como maçarico, matplotlib ou ipywidgets.
Se você seguiu as etapas anteriores, verá que pode usar a distribuição localmente em seu laptop. Na próxima etapa, usamos a mesma distribuição no Studio para aproveitar os recursos do Studio.
Mova a experimentação para o Studio (opcional)
Opcionalmente, vamos promover a experimentação para o Studio. Uma das vantagens do Studio é que os recursos de computação subjacentes são totalmente elásticos, para que você possa discar facilmente os recursos disponíveis para cima ou para baixo, e as alterações ocorrem automaticamente em segundo plano sem interromper seu trabalho. Se você deseja executar o mesmo bloco de anotações anterior em um conjunto de dados e instância de computação maiores, pode migrar para o Studio.
Navegue até a interface do usuário do Studio que você iniciou anteriormente e escolha o ícone de upload para fazer upload do bloco de anotações.
Depois de iniciar o notebook, você será solicitado a escolher a imagem e o tipo de instância. No iniciador do kernel, escolha sagemaker-runtime
como a imagem e um ml.t3.medium
instância, em seguida, escolha Selecionar.
Agora você pode executar o notebook de ponta a ponta sem precisar fazer alterações no notebook do seu ambiente de desenvolvimento local para os notebooks do Studio!
Agendar o notebook como um trabalho
Quando você terminar sua experimentação, o SageMaker oferece várias opções para colocar seu notebook em produção, como trabalhos de treinamento e pipelines do SageMaker. Uma dessas opções é executar diretamente o próprio notebook como um trabalho de notebook agendado e não interativo usando Tarefas do notebook SageMaker. Por exemplo, você pode querer treinar novamente seu modelo periodicamente ou obter inferências sobre os dados recebidos periodicamente e gerar relatórios para consumo por seus interessados.
No Studio, escolha o ícone do trabalho do notebook para iniciar o trabalho do notebook. Se você instalou a extensão de tarefas do notebook localmente em seu laptop, também pode agendar o notebook diretamente de seu laptop. Ver Guia de Instalação para configurar a extensão de tarefas do notebook localmente.
O trabalho do notebook usa automaticamente o URI da imagem ECR da distribuição de software livre, para que você possa agendar diretamente o trabalho do notebook.
Escolha executar dentro do cronograma, escolha uma programação, por exemplo, toda semana no sábado, e escolha Criar. Você também pode escolher Corra agora se você gostaria de ver os resultados imediatamente.
Quando o primeiro trabalho do notebook estiver concluído, você poderá visualizar as saídas do notebook diretamente da interface do usuário do Studio, escolhendo Portátil para Arquivos de saída.
Considerações adicionais
Além de usar a imagem ECR disponível publicamente diretamente para cargas de trabalho de ML, a distribuição de código aberto oferece as seguintes vantagens:
- O Dockerfile usado para criar a imagem está disponível publicamente para os desenvolvedores explorarem e criarem suas próprias imagens. Você também pode herdar essa imagem como a imagem base e instalar suas bibliotecas personalizadas para ter um ambiente reproduzível.
- Se você não está acostumado com o Docker e prefere usar ambientes Conda em seu ambiente JupyterLab, oferecemos um
env.out
arquivo para cada uma das versões publicadas. Você pode usar as instruções no arquivo para criar seu próprio ambiente Conda que imitará o mesmo ambiente. Por exemplo, consulte o arquivo de ambiente da CPU cpu.env.out. - Você pode usar as versões de GPU da imagem para executar cargas de trabalho compatíveis com GPU, como aprendizado profundo e processamento de imagens.
limpar
Conclua as etapas a seguir para limpar seus recursos:
- Se você agendou seu bloco de anotações para ser executado em uma programação, pause ou exclua a programação no Definições de Tarefas do Notebook guia para evitar o pagamento de trabalhos futuros.
- Desligue todos os aplicativos do Studio para evitar pagar pelo uso de computação não utilizado. Ver Desligue e atualize os aplicativos do Studio para obter instruções.
- Opcionalmente, exclua o domínio do Studio se você criou um.
Conclusão
Manter um ambiente reproduzível em diferentes estágios do ciclo de vida do ML é um dos maiores desafios para cientistas de dados e desenvolvedores. Com a distribuição de código aberto SageMaker, fornecemos uma imagem com versões mutuamente compatíveis das estruturas e pacotes de ML mais comuns. A distribuição também é de código aberto, fornecendo aos desenvolvedores transparência nos pacotes e processos de construção, facilitando a personalização de sua própria distribuição.
Neste post, mostramos como usar a distribuição em seu ambiente local, no Studio e como contêiner para seus trabalhos de treinamento. Este recurso está atualmente em versão beta pública. Incentivamos você a experimentar e compartilhar seus comentários e problemas no repositório GitHub público!
Sobre os autores
Durga Sury é arquiteto de soluções de ML da equipe Amazon SageMaker Service SA. Ela é apaixonada por tornar o aprendizado de máquina acessível a todos. Em seus 4 anos na AWS, ela ajudou a configurar plataformas AI/ML para clientes corporativos. Quando não está trabalhando, ela adora andar de moto, romances de mistério e longas caminhadas com seu husky de 5 anos.
Ketan Vijayvargiya é Engenheiro de Desenvolvimento de Software Sênior na Amazon Web Services (AWS). Suas áreas de foco são aprendizado de máquina, sistemas distribuídos e código aberto. Fora do trabalho, ele gosta de passar o tempo se hospedando e curtindo a natureza.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- EVM Finanças. Interface unificada para finanças descentralizadas. Acesse aqui.
- Grupo de Mídia Quântica. IR/PR Amplificado. Acesse aqui.
- PlatoAiStream. Inteligência de Dados Web3. Conhecimento Amplificado. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/get-started-with-the-open-source-amazon-sagemaker-distribution/
- :tem
- :é
- :não
- $UP
- 1
- 10
- 100
- 11
- 2023
- 7
- 9
- a
- Sobre
- acessível
- em
- adicionar
- Adição
- Adicional
- Vantagem
- vantagens
- AI / ML
- Todos os Produtos
- já
- tb
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- Amazon Web Services (AWS)
- an
- e
- anunciou
- qualquer
- app
- Aplicativos
- SOMOS
- áreas
- AS
- At
- anexar
- automaticamente
- disponível
- evitar
- AWS
- fundo
- base
- baseado
- BE
- Começo
- beta
- entre
- O maior
- navegador
- construir
- by
- CAN
- CAT
- Células
- desafios
- Alterações
- escolha
- Escolha
- escolha
- classificação
- COM
- comum
- compatível
- completar
- Computar
- Configuração
- consistente
- cônsul
- consumo
- Recipiente
- Containers
- crio
- criado
- Atualmente
- personalizadas
- Clientes
- personalizar
- dados,
- ciência de dados
- conjuntos de dados
- profundo
- deep learning
- Padrão
- implantar
- descreve
- desenvolvedores
- Desenvolvimento
- diferente
- diretamente
- distribuído
- Sistemas distribuídos
- distribuição
- Estivador
- domínio
- feito
- down
- cada
- Mais cedo
- mais fácil
- facilmente
- permite
- encorajar
- final
- end-to-end
- engenheiro
- garantir
- Entrar
- Empreendimento
- Meio Ambiente
- ambientes
- Cada
- todos
- exemplo
- exemplos
- existente
- vasta experiência
- experimentar
- experiência
- explorar
- exportar
- extensão
- extenso
- Característica
- Funcionalidades
- retornos
- Envie o
- Finalmente
- Primeiro nome
- Foco
- seguido
- seguinte
- Escolha
- Quadro
- enquadramentos
- da
- cheio
- totalmente
- futuro
- gerar
- ter
- GitHub
- GPU
- Ter
- ter
- he
- ajudou
- sua experiência
- sua
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTML
- HTTPS
- ÍCONE
- if
- imagem
- Classificação de imagem
- imagens
- imediatamente
- melhorar
- in
- Entrada
- instalar
- instalado
- instalando
- instância
- instruções
- integrado
- para dentro
- questões
- IT
- se
- Trabalho
- Empregos
- jpg
- json
- laboratório
- laptop
- Maior
- lançamento
- lançado
- aprendizagem
- Permite
- níveis
- bibliotecas
- wifecycwe
- como
- gostos
- LINK
- Lista
- local
- localmente
- entrar
- longo
- mais
- fora
- ama
- máquina
- aprendizado de máquina
- fazer
- Fazendo
- gerencia
- gestão
- matplotlib
- poder
- migrado
- ML
- modelo
- modelos
- Monitore
- a maioria
- motocicleta
- mover
- múltiplo
- mutuamente
- Mistério
- nome
- Natureza
- você merece...
- necessitando
- rede
- rede neural
- Novo
- Próximo
- não
- caderno
- agora
- of
- Oferece
- on
- ONE
- aberto
- open source
- Opção
- Opções
- or
- A Nossa
- Fora
- lado de fora
- próprio
- pacote
- pacotes
- pandas
- parte
- apaixonado
- pausa
- pagar
- atuação
- Lugar
- Plataformas
- platão
- Inteligência de Dados Platão
- PlatãoData
- Publique
- preferir
- preferido
- pré-requisitos
- Impressão
- privado
- processos
- em processamento
- Produção
- Perfil
- a promover
- fornecer
- fornece
- fornecendo
- público
- publicamente
- publicado
- Empurrar
- Python
- pytorch
- rapidamente
- recomendar
- substituir
- Relatórios
- repositório
- Requisitos
- Recursos
- Resultados
- Execute
- corrida
- s
- SA
- sábio
- Pipelines SageMaker
- mesmo
- sábado
- Salvar
- Escala
- cronograma
- programado
- Ciência
- cientistas
- scikit-learn
- seguro
- Vejo
- senior
- serviço
- Serviços
- de servir
- conjunto
- Configurações
- Partilhar
- ela
- mostrar
- mostrar
- mostrou
- mostrando
- simples
- simplesmente
- So
- Software
- desenvolvimento de software
- Soluções
- fonte
- Faísca
- gastar
- Estágio
- partes interessadas
- começo
- começado
- Comece
- Passo
- Passos
- estudo
- tal
- suportes
- Interruptor
- sistemas
- TAG
- Tire
- Profissionais
- fluxo tensor
- terminal
- teste
- que
- A
- deles
- Eles
- então
- Este
- deles
- isto
- tempo
- para
- hoje
- tocha
- Trem
- Training
- Transparência
- tentar
- tipo
- ui
- subjacente
- unificado
- não usado
- Atualizar
- carregado
- URL
- Uso
- usar
- usava
- Utilizador
- usos
- utilização
- versão
- Ver
- visualização
- queremos
- querido
- we
- web
- serviços web
- semana
- quando
- precisarão
- de
- sem
- Atividades:
- trabalhar
- anos
- Vocês
- investimentos
- zefirnet