Todos os produtos
Search
Central de documentação

Platform For AI:Envie um job de treinamento MPIJob

Última atualização: Jun 27, 2026

O Deep Learning Containers (DLC) do Platform for AI (PAI) oferece suporte a jobs de treinamento distribuído do tipo MPIJob. Este guia orienta você no envio de um MPIJob usando mpirun ou DeepSpeed (pdsh), desde a preparação do código-fonte até o monitoramento dos logs de treinamento.

Pré-requisitos

Antes de começar, verifique se você possui:

Limitações

Os jobs de treinamento MPIJob têm suporte apenas na região China (Ulanqab) com recursos Lingjun.

Como funciona

Um MPIJob utiliza duas funções: um launcher e um ou mais workers. O launcher inicia o processo de treinamento em todos os nós, enquanto os workers executam a computação distribuída. O DLC gera automaticamente o hostfile e configura a comunicação entre nós, eliminando a necessidade de configurar o SSH manualmente.

O DLC pré-configura variáveis de ambiente para o launcher. Se necessário, substitua esses padrões no comando de inicialização. Consulte Variáveis de ambiente do sistema.

Escolha um método de inicialização

O DLC oferece dois métodos para iniciar o treinamento MPIJob:

Método

Mecanismo de inicialização

Quando usar

mpirun

kubexec (gerenciado pelo DLC)

Treinamento distribuído MPI padrão

DeepSpeed (pdsh)

pdsh

Treinamento com paralelismo de pipeline DeepSpeed

Ambos os métodos utilizam a mesma configuração de recursos. A única diferença é o comando de inicialização.

Etapa 1: Prepare um código-fonte

Crie um código-fonte utilizando o repositório oficial de exemplos do DeepSpeed.

  1. No console do DLC, acesse Code Builds e crie um novo código-fonte com os parâmetros abaixo. Mantenha os valores padrão para os demais parâmetros. Consulte Configuração de código.

    Parâmetro

    Valor

    Name

    deepspeed-examples

    Git repository

    https://github.com/microsoft/DeepSpeedExamples.git

Etapa 2: Envie um job de treinamento distribuído

Opção 1: mpirun

  1. No PAI console, selecione sua região e workspace e clique em Deep Learning Containers (DLC).

  2. Na página do DLC, clique em Create Job.

  3. Na página Create Job, configure os seguintes parâmetros. Para os demais parâmetros, consulte Criar um job de treinamento. Startup command:

    Resource type e Driver settings aparecem apenas quando o workspace oferece suporte tanto a recursos Lingjun quanto a recursos gerais.

    Informações de ambiente

    Parâmetro

    Valor

    Image URL

    dsw-registry-vpc.<RegionID>.cr.aliyuncs.com/pai-common/deepspeed-training:23.08-gpu-py310-cu122-ubuntu22.04 — substitua <RegionID> pelo ID da sua região. Para China (Ulanqab), use cn-wulanchabu. Para outros IDs de região, consulte Regiões e zonas.

    Startup command

    Veja abaixo

    Code Builds

    Selecione Online configuration e escolha o código-fonte criado. Mantenha o Mount path padrão.

    Informações de recursos

    Parâmetro

    Valor

    Resource type

    Lingjun AI Computing Service

    Source

    Resource Quota

    Resource quota

    Selecione a cota de recursos Lingjun criada

    Framework

    MPI

    Number of nodes

    2

    vCPUs

    4

    GPUs

    1

    Memory (GiB)

    8

    Shared memory (GiB)

    8

    Driver settings

    535.54.03 (recomendado para a imagem de teste acima)

    cd /root/code/DeepSpeedExamples/training/cifar/
    
    # -np 2: launch 2 processes (one per node)
    # -bind-to none -map-by slot: use all available CPU cores on each slot
    # -x LD_LIBRARY_PATH -x PATH: forward these environment variables to worker nodes
    # -mca pml ob1 -mca btl ^openib: use TCP instead of InfiniBand for point-to-point messaging
    mpirun -np 2 --allow-run-as-root \
      -bind-to none -map-by slot \
      -x LD_LIBRARY_PATH -x PATH \
      -mca pml ob1 -mca btl ^openib \
      python /root/code/DeepSpeedExamples/training/cifar/cifar10_tutorial.py
  4. Clique em OK.

Opção 2: DeepSpeed (pdsh)

Use este comando de inicialização em vez do comando mpirun acima. Todos os outros parâmetros permanecem iguais.

cd /root/code/DeepSpeedExamples/training/pipeline_parallelism

# --hostfile: DLC auto-generates this file with all node addresses
# -p 2: number of pipeline stages
# --steps 200: total training steps
deepspeed --hostfile /etc/mpi/hostfile train.py \
  --deepspeed_config=ds_config.json \
  -p 2 \
  --steps=200
Para usar uma imagem personalizada com o DeepSpeed, instale as bibliotecas MPI e DeepSpeed necessárias na imagem. As imagens oficiais do DeepSpeed no DockerHub já incluem essas bibliotecas pré-instaladas.

Etapa 3: Visualize detalhes e logs do job

  1. Após enviar o job, clique no nome dele na página Deep Learning Containers (DLC).

  2. Na página de detalhes do job, verifique as informações básicas e o status de execução.

  3. Na seção Instance, na parte inferior da página, localize a instância com o tipo launcher e clique em Log na coluna Actions.

    image

Variáveis de ambiente do sistema

O DLC pré-configura as seguintes variáveis de ambiente para a função launcher. Substitua-as no comando de inicialização caso seu ambiente exija configurações diferentes.

Variável de ambiente Descrição Padrão Método aplicável
OMPI_MCA_btl_tcp_if_include Controlador de interface de rede (NIC) para comunicação entre launcher e worker. Separe múltiplos NICs por vírgulas. eth0 mpirun
OMPI_MCA_orte_default_hostfile Caminho do arquivo de hosts para o comando mpirun. O DLC gera esse arquivo automaticamente. /etc/mpi/hostfile
OMPI_MCA_plm_rsh_agent Método usado pelo launcher para iniciar processos de worker em nós remotos. /etc/mpi/kubexec.sh
PDSH_RCMD_TYPE Tipo de comando remoto para pdsh. ssh DeepSpeed (pdsh)

Quando substituir: Substitua OMPI_MCA_btl_tcp_if_include se seus nós usarem um NIC diferente de eth0 para comunicação entre nós (por exemplo, eth1 ou uma interface agregada). Substitua PDSH_RCMD_TYPE se seu cluster exigir um método de execução remota diferente de SSH.