Desenvolva, treine e implante modelos de deep learning na cloud utilizando o Notebook ou o VSCode integrados ao Data Science Workshop (DSW). Este tópico usa o reconhecimento de dígitos manuscritos MNIST como exemplo para demonstrar o fluxo de trabalho completo.
O reconhecimento de dígitos manuscritos MNIST é uma tarefa introdutória clássica em deep learning. O objetivo é treinar um modelo para reconhecer os 10 dígitos manuscritos, de 0 a 9.
Pré-requisitos
Ative o PAI e crie um workspace na sua conta do Alibaba Cloud. Caso o PAI não esteja ativado, acesse o PAI console, selecione a região de destino no canto superior esquerdo da página e conclua a autorização e a ativação com um único clique.
Faturamento
A instância do DSW e o model service do EAS neste tópico são criados em um grupo de recursos público e cobrados com base no pagamento conforme o uso. Para obter detalhes sobre faturamento, consulte DSW billing e EAS billing.
Crie uma instância do DSW
-
Acesse a página do DSW.
Acesse o PAI console.
Selecione a região de destino no canto superior esquerdo da página.
No painel de navegação à esquerda, clique em Workspaces para acessar o workspace de destino.
No painel de navegação à esquerda, escolha .
-
No assistente Configure Instance, configure os parâmetros a seguir e mantenha os valores padrão para os demais:
Resource Type: Selecione Public Resources (pagamento conforme o uso).
-
Instance Type: Selecione
ecs.gn7i-c8g1.2xlarge.Caso esse tipo de instância não esteja disponível, escolha outro tipo de instância GPU.
-
Image config: Selecione Alibaba Cloud Image, pesquise e escolha a imagem
modelscope:1.26.0-pytorch2.6.0-gpu-py311-cu124-ubuntu22.04.Utilize a mesma imagem para evitar problemas de compatibilidade de ambiente.
-
Mount storage: Armazena os arquivos de desenvolvimento do modelo. Este tópico utiliza OSS. Clique em OSS, clique no
ícone, selecione um Bucket e crie um diretório (por exemplo, pai_test).Se não houver nenhum bucket disponível na região atual, siga estas etapas para criar um:
Uri:
oss://**********oss-cn-hangzhou-internal.aliyuncs.com/pai_test/Mount Path:
/mnt/data/
-
Clique em OK para criar a instância.
Se a instância falhar ao iniciar, consulte Create a DSW instance para solucionar o problema.
Desenvolva um modelo no DSW
Clique em Open na lista de instâncias para abrir o ambiente de desenvolvimento do DSW. No launcher, clique em JupyterLab para criar um ambiente de desenvolvimento Notebook.
-
Escreva o código do modelo. Este tópico fornece o código de treinamento MNIST: baixe mnist.ipynb e clique no
ícone no canto superior esquerdo do Notebook para fazer o upload do arquivo.
-
Treine o modelo. Abra
mnist.ipynb, localize a célula que contém o código de treinamento e clique no
ícone para executar a célula. O código baixa automaticamente o conjunto de dados MNIST para o diretório dataSete salva o modelo treinado no diretóriooutput. O treinamento leva cerca de 10 minutos.

A saída do treinamento mostra a precisão do modelo no conjunto de validação, o que reflete sua capacidade de generalização. Neste exemplo, a precisão no conjunto de validação é de 98%. Prossiga para a próxima etapa.
-
Visualize as curvas de treinamento. Execute a célula a seguir e abra a URL TensorBoard
http://localhost:6006/.
O TensorBoard exibe as curvas train_loss (perda do conjunto de treinamento) e validation_loss (perda do conjunto de validação).

Após visualizar as curvas, clique no
ícone na célula para interromper o TensorBoard. Caso o TensorBoard não seja interrompido, as células subsequentes não poderão ser executadas. -
Teste o modelo. Execute a célula a seguir para exibir 20 imagens de teste juntamente com seus rótulos reais e as previsões do modelo.

Amostra de saída:

-
Faça backup dos arquivos do modelo. A instância do DSW neste tópico é criada em um grupo de recursos público e os arquivos são armazenados em um cloud disk gratuito. Se a instância for interrompida por mais de 15 dias, o conteúdo do cloud disk será apagado automaticamente. Copie os arquivos do modelo para o OSS para implantação posterior com o EAS.

Acesse o OSS console para visualizar os arquivos copiados:

Após o desenvolvimento do modelo, você pode implantá-lo como um online service. Para obter mais informações, consulte Deploy the model service with EAS.
A instância do DSW neste tópico é criada em um grupo de recursos público e é cobrada conforme o uso. Quando não precisar mais da instância, interrompa-a ou exclua-a no lado direito da página da lista de instâncias para evitar cobranças contínuas.
Implante o model service com o EAS
O EAS (Elastic Algorithm Service) permite implantar modelos treinados como um online inference service ou uma AI web application. O EAS suporta recursos heterogêneos e combina funcionalidades como Auto Scaling, teste de carga com um clique, canary release e monitoramento em tempo real para garantir a estabilidade do service em cenários de alta concorrência a um custo menor.
-
Escreva a interface web para o modelo e copie-a para o OSS. Este tópico fornece o código da interface web e os comandos de cópia. Execute a célula a seguir para concluir esta etapa.

-
(Opcional) Verifique a interface web no DSW. Execute a célula a seguir para instalar as dependências e iniciar o service.

Teste a interface. Na página do launcher, clique em Terminal para abrir um terminal e execute
python request_web.py. O resultado a seguir é retornado:{"prediction": 7}NotaO acesso ao web service no DSW pela Internet requer uma VPC, um NAT gateway e um Elastic IP (EIP). Para obter mais informações, consulte Access services in an instance over the public network.
-
Crie o EAS service. No painel de navegação à esquerda do PAI console, clique em Elastic Algorithm Service (EAS) > Deploy Service > Custom Deployment.
Configure os parâmetros a seguir e mantenha os valores padrão para os demais:
Resource Type: Selecione Public Resources. Para Instance Type: Deployment Method
-
Image-based Deployment: Selecione Official Image, pesquise e escolha
torcheasyrec:1.2.0-pytorch2.11.0-gpu-py311-cu126-ubuntu22.04.Em um ambiente de produção, geralmente você desenvolve e testa o código primeiro no DSW, empacota o ambiente do container e o envia para Container Registry (ACR) para que o EAS o utilize durante a implantação do modelo. Para obter mais informações, consulte Create a DSW instance image .
-
Image Configuration: Os arquivos do modelo e o código da interface web são copiados para o OSS. Clique em OSS e selecione o caminho correspondente.
Uri: oss://*/pai_test/
Mount storage: /mnt/data/
Mount Path:
web.pyé montado em/mnt/data/. O comando de execução épython /mnt/data/web.pyCommand to Run: Insira a porta
9000, que é utilizada peloweb.py.-
Port Number: Insira
bottle torchvision.A imagem oficial selecionada não inclui as bibliotecas bottle ou torchvision (conforme verificado por testes). Portanto, insira
bottle torchvisionna configuração de bibliotecas de terceiros.
Clique em Third-party Library Settings para criar o service. A criação do service leva cerca de 5 minutos. Quando o status mudar para Deploy, o service estará implantado.
Obtenha as informações de chamada. Na página de detalhes do service, clique em Running para obter o View Endpoint Information e o Internet Endpoint.
-
Chame o service. Substitua o Token e o Internet Endpoint no código a seguir pelos valores reais e execute o código.
{"prediction": 7}O resultado a seguir é retornado:
{"prediction": 7}
O EAS service neste tópico é criado em um grupo de recursos público e é cobrado conforme o uso. Quando não precisar mais do service, interrompa-o ou exclua-o no lado direito da página da lista de services para evitar cobranças contínuas.
Referências
Para informações sobre solução de problemas ao iniciar o DSW, consulte Create a DSW instance.
Para detalhes de faturamento do DSW, consulte DSW billing.
Para as principais funcionalidades do DSW, consulte DSW overview.
Para informações sobre como acessar o web service do DSW pela Internet, consulte Access services in an instance over the public network.
Para as principais funcionalidades do EAS, consulte EAS overview.
