A colocalização de treinamento e service executa serviços de inferência e jobs de treinamento no mesmo cluster de GPU. Por meio do mecanismo de preempção de cota de recursos pai-filho, os serviços de inferência preemptam automaticamente os recursos de treinamento. Combinado com o dimensionamento automático agendado do EAS (Elastic Algorithm Service) e os recursos de computação ociosos do DLC (Deep Learning Containers), o cluster prioriza a inferência durante o dia e executa o treinamento à noite, mantendo as GPUs totalmente utilizadas.
Contexto
Cenário de exemplo
Considere um cluster de 128 GPUs compartilhado por três equipes:
A Equipe A executa serviços de inferência e tem a maior prioridade de recursos.
As Equipes B e C executam treinamento de modelos com prioridade inferior à da inferência.
Quando a Equipe A precisa de mais recursos para inferência, o sistema recupera automaticamente os recursos de treinamento das Equipes B e C.
Durante o dia, o EAS escala horizontalmente para lidar com o tráfego de inferência. À noite, o EAS reduz a escala para liberar GPUs e os jobs de treinamento iniciam automaticamente.
As Equipes B e C gerenciam seus recursos e jobs de forma independente, sem interferir umas nas outras.
Funcionamento
Os serviços de inferência do EAS são implantados na cota pai, enquanto os jobs de treinamento do DLC ficam em subcotas. Quando os serviços de inferência necessitam de mais recursos, o sistema preempta automaticamente a computação de treinamento. Essa abordagem, aliada ao dimensionamento automático agendado do EAS (escalar durante o dia e reduzir à noite) e aos recursos de computação ociosos do DLC (uso de computação excedente para treinamento noturno), elimina a necessidade de etapas manuais.
Para implementar esse cenário:
Crie a Quota 1 com 128 GPUs e ative a opção child-level compute preemption. Na Quota 1, crie duas subcotas: Quota 1.1 (48 GPUs) e Quota 1.2 (80 GPUs).
Crie o workspace_a para a Equipe A e vincule-o à Quota 1. Implante os serviços de inferência do EAS na Quota 1 e configure o dimensionamento automático agendado.
Crie o workspace_b para a Equipe B e vincule-o à Quota 1.1. Crie jobs de treinamento do DLC na Quota 1.1 com recursos de computação ociosos ativados.
Crie o workspace_c para a Equipe C e vincule-o à Quota 1.2. Crie instâncias do DSW (Data Science Workshop) na Quota 1.2 para desenvolvimento.
Procedimento
Prepare recursos de computação de IA (recursos de computação de uso geral ou recursos de computação de IA Lingjun). Os pools de recursos de uso geral devem ser da versão 2.0 para oferecer suporte simultâneo a EAS, DLC e DSW. Para mais informações, consulte Visão geral do pool de recursos.
-
Clique em Add Resource Quota.
-
Crie a Quota 1 com os seguintes parâmetros principais. Para mais informações, consulte Criar uma cota de recursos ou Cotas de recursos de computação geral.
Selecione os resources (128 GPUs).
Ative a opção Child-level Preemption. Quando ativada, os serviços de inferência do EAS na cota pai podem preemptar recursos de treinamento nas subcotas.
-
Na coluna Actions da Quota 1, clique em New Child-level Resource Quota para criar duas subcotas. Para mais informações, consulte Criar cotas pai-filho.
Quota 1.1: 48 GPUs.
Quota 1.2: 80 GPUs.
-
-
Crie três workspaces e vincule cada um à sua cota correspondente. Para mais informações, consulte Criar e gerenciar um workspace.
Equipe A: workspace_a, vinculado à Quota 1.
Equipe B: workspace_b, vinculado à Quota 1.1.
Equipe C: workspace_c, vinculado à Quota 1.2.
-
Crie um service de inferência do EAS na Quota 1 e configure o dimensionamento automático agendado. Para mais informações, consulte Implantação de service.
Configure as regras de dimensionamento automático agendado da seguinte forma:
Escale para o número-alvo de réplicas às 08:00 para lidar com o tráfego de inferência diurno.
Reduza para zero ou para um número mínimo de réplicas às 22:00 para liberar GPUs para os jobs de treinamento.
Para obter detalhes sobre a configuração, consulte Dimensionamento automático agendado.
-
Crie jobs de treinamento do DLC ou instâncias do DSW em uma subcota e ative os recursos de computação ociosos. Para mais informações, consulte Criar um job de treinamento.
Ao ativar os recursos de computação ociosos, os jobs de treinamento passam a utilizar a computação excedente além do limite da cota. As GPUs liberadas pelo EAS durante a noite são atribuídas automaticamente aos jobs de treinamento.
Para obter detalhes sobre a configuração, consulte Usar recursos em horários ociosos.
Conceda permissões de administrador de workspace às Equipes A, B e C. Para mais informações sobre a configuração do workspace, consulte Configurar um workspace. Para definições de funções, consulte Funções e permissões.
Casos de uso
Preemptar recursos de treinamento para inferência
Na página Resource Quota, clique em na Quota 1 e, na aba Overview, ative a opção Child-level compute preemption.
Quando o service de inferência da Equipe A precisar de mais recursos do que os disponíveis, o sistema recuperará automaticamente os recursos de treinamento das Equipes B e C.
Redistribuir recursos entre as Equipes B e C
Ajuste os recursos da Quota 1.1 e da Quota 1.2 conforme as necessidades das equipes. Na página Resource Quota, localize a Quota 1.1 ou a Quota 1.2 e clique em Scale na coluna Actions. Para mais informações, consulte Dimensionar cotas.
Dimensione a Quota 1.1 de 48 GPUs para 56 GPUs (adicione 8 GPUs).
Dimensione a Quota 1.2 de 80 GPUs para 72 GPUs (remova 8 GPUs).
Isolar permissões entre as Equipes B e C
A Quota 1.1 está vinculada ao workspace_b e a Quota 1.2 está vinculada ao workspace_c. As Equipes B e C gerenciam seus recursos e jobs independentemente dentro de seus próprios workspaces. Para mais informações, consulte Centro de agendamento de workspace.
Para configurar as funções de uso de recursos: Na página Workspace Settings, clique em na aba Scheduling Configuration. Na seção Resource Usage, selecione as Allowed Roles para a cota desejada, clique em + Add para adicionar uma entrada de configuração e, em seguida, clique em Save. Salve.