Nódulos GPU e ML Computação
Resumo curto
Um ML bem-sucedido em GPU é um conjunto de soluções de ferro, software, planejamento, dados e observabilidade. O cluster deve ser igualmente bom:1. aprender modelos (alta reciclagem, checkpoint rápidos, resistência a interrupções),
2. atender a uma inferência (baixa latência p95 para alta conversão),
3. custar dinheiro previsível (FinOps, quotas, multi-tenência),
4. ser seguro (isolamento, suply chain, controle de balanças/datasets).
Ferro e topologia
HPU e memória
O volume e a banda HBM são mais importantes do que os «TFLOPS crus» para o LLM/RecSys.
Para a inferência, muitas pequenas solicitações são a prioridade da memória incorporada (KV-cache) e alta clocks/power limit.
Conectividades
NVLink/NVSwitch - Dentro de um nó para um rápido all-up.
InfiniBand/RoCE - intercâmbio entre nós para DDP/FSDP (≥ 100-200 GB/s).
Árvore PCIE: Tente manter NIC e GPU sentados em um nó NUMA; evite PCE-switch bottleneck «quente».
Sintonização básica do BIOS/nó
Modos Performance, desativação C-states (ou aumento mínimo), NUMA awareness, ASPM off em PCIe crítico.
Alimentação: perfis estáveis, não um power-save agressivo - senão «tremer» p99.
Pilha de software básico
Drivers NVIDIA + CUDA + cuDNN/TensorRT concordados com a matriz de compatibilidade.
NVIDIA Container Toolkit para GPU dentro dos contêineres.
NCCL (coletivos), UCX (transporte), Apex/xFormers/Flash-Attention para velocidade.
Opcional GDS (GPUDirect Armazenamento) em NVMe/IB rápido - acelera o fluxo de dados.
Kubernetes para GPU
Componentes-chave
NVIDIA GPU Operator (drivers, DCGM, device-plugin).
NVIDIA Device Plugin - exportação de recursos 'nvidia. com/gpu`.
MIG (A100/H100) - Dividir um GPU físico em perfis isolados (por exemplo, '1g. 10gb`).
Time-slicing é uma fragmentação lógica de GPU no tempo para pequenas tarefas de inferência.
Node Função Discovery - rótulos por GPU/topologia.
Planejamento e isolamento
Taints/Tolerations/NodeSelectors para separar treinamento/inferência/experimentos.
Topology Gerente e CPU Gestor (static) para alinhamento NUMA.
Volcano/Slurm on K8s/Ray - filas, prioridades, preempção para os grandes.
yaml resources:
limits:
nvidia. com/gpu: 1 # or MIG profile: nvidia. com/mig-1g. 10gb: 1 requests:
nvidia. com/gpu: 1
Exemplo de taint/affinity para um pool de treinamento selecionado:
yaml tolerations:
- key: "gpu-train"
operator: "Exists"
effect: "NoSchedule"
nodeSelector:
gpu. pool: "train"
Treinamento: escala e sustentabilidade
Paralelismo
O DDP é um paralelismo de data padrão.
FSDP/ZeRO - curdação de parâmetros/gramados/otimizadores, reduz a memória.
Tensor/Pipeline Paralel - para LLM muito grande; exige NVLink/IB.
Gradiente Accumulation - aumenta o batch eficiente sem o crescimento dos picos de memória.
Precisão mista e otimização da memória
AMP (bf16/fp16) + loss scaling; para H100/novos - FP8 onde possível.
Activation/Gradien Checkpointing, Flash-Actation para sequências longas.
Paged/Chunked KV-cache para preparação para a inferência.
Checkpoint e resistência a falhas
Checkpoint incorporados frequentes para um objeto rápido NVMe/retensor.
Robôs idumpotentes (ID repetível).
Resistência Spot: Apanhando SIGTERM, fundindo rapidamente o state; o planeador devolve o jobs à fila.
Variáveis NCCL/rede importantes (exemplo)
bash
NCCL_IB_HCA=mlx5_0
NCCL_SOCKET_IFNAME=eth1
NCCL_P2P_LEVEL=NVL
NCCL_MIN_NRINGS=8
NCCL_NET_GDR_LEVEL=SYS
Interferência: baixa latência, alto retorno
Quadros de Serving
O Triton Inference Server é um único servidor para TensorRT/ONNX/TS/PyTorch.
vLLM/TGI/ TensorRT-LLM - Especialistas LLM (paged-attence, KV-cache eficiente, continuous batching).
Técnicas de aceleração
Quantização: INT8/FP8/quantum. -aware (AWQ, GPTQ) - redução do VRAM, crescimento do TPS.
Batching/Continuous batching: atender pacotes de solicitação sem crescimento p95.
KV-cache pinning em HBM, reduzindo contextos; vocative decoding (modelo draft).
Concurrency em GPU: múltiplos fluxos/modelos em MIG/time-slice.
Perfis de destino (exemplo SLO)
p95 latência do modelo de bate-papo ≤ 300 ms por prefixo/token;
Throghput ≥ 200 tons/s/GPU no perfil de destino;
As caudas p99 controlam o shedooling (classes QoS e limites de contexto).
Triton deployment (fatia)
yaml env:
- name: CUDA_VISIBLE_DEVICES value: "0"
- name: TRITONSERVER_MODEL_CONTROL value: "explicit"
args: ["--backend-config=tensorrt,output_memory_pool_size=1024"]
Dados e Pipilhas
Formatos: Parquet/Arrow, webdatse (tar-shards) para a leitura em streaming.
Prefetch/Async I/O: DataLoader-ы с pin-memory, prefetch-pipelines, GDS.
Função Store para fic online (antifrod/recomendação).
Versioning: DVC/LakeFS/MLflow Modelo Registry; fixe datasets, código e hiperparâmetros.
Observabilidade e SLO
DCGM/Prometheus métricas (mínimo)
`dcgm_sm_util`, `dcgm_fb_used`, `dcgm_power_usage`, `dcgm_pcie_rx/tx`, `dcgm_dram_bw`
Temperaturas/frequências e ECC errors (alert de crescimento).
Achieved Ocupance e stall reasons (estreita camada de núcleo).
Métricas de serviço
Modelos genéricos: tokens/segundos, p50/p95/p99, queue depth, falha de memória.
Treinamento: passos/segundos, tempo da era, eficácia all-reduse,% do tempo em I/O.
Painel SLO: compasso p95, «orçamento de erro» (≥ 99. 5% de inferências «bem-sucedidas»).
Alerting (ideias)
`fb_used / fb_total > 0. 95` 5 мин → throttle/scale-out.
A queda do TPS de N% na mesma reciclagem é a degradação do modelo/código.
O aumento do ESS/temperatura → a migração de dow/incidente junto ao ferro.
Segurança e isolamento
Multi-tenência: perfis MIG ou nodes «per-team», namespaces/cotas.
IOMMU/PSP, cgroups, proibição de contêineres privilegiados, restrição 'CAP _'.
MPS (multi-processo service) - com cuidado: reciclagem superior, mas divisão mais fraca que o MIG.
Suply chain: assinaturas de contêineres (cosign), verificação de artefatos, controle de descarga de modelos.
Dados/peso: criptografia em disco, controle de acesso (ABAC/RBAC), «marcas d' água »/registros de modelos hash.
FinOps: valor, quotas, scale automático
Pool de nódulos: 'train' (on-demand/reservas), 'infer' (mix on-demand + spot), 'exp' (spot-heavy).
Sustentabilidade spot: checkpoint frequentes, lógica rápida de reinício, filas de prioridade do Volcano.
Reservas/RI/Savings Plans para uma base estável; desligamento automático de nós vazios.
Modelos Right-sizing: quantificação/adaptadores LoRA em vez de um modelo «completo»; selecione perfis de MIG por SLA.
Contorno de orçamento: quotas de GPU-relógio per-team, «custo por 1k consultas/tokens».
Modelos YAML e artefatos
1) Perfil MIG (conceituado)
yaml apiVersion: nvidia. com/v1 kind: MigStrategy metadata: { name: mig-a100-1g10gb }
spec:
deviceFilter: "a100"
mode: single resources:
- profile: "1g. 10gb"
count: 7
2) Fila de Volcano para treinamento
yaml apiVersion: scheduling. volcano. sh/v1beta1 kind: Queue metadata: { name: train-q }
spec:
weight: 100 reclaimable: true capability:
resources:
- name: nvidia. com/gpu quantity: 64
3) KEDA para skate automático de inferência em profundidade
yaml apiVersion: keda. sh/v1alpha1 kind: ScaledObject metadata: { name: llm-infer }
spec:
scaleTargetRef: { name: llm-deploy }
pollingInterval: 5 minReplicaCount: 2 maxReplicaCount: 80 triggers:
- type: rabbitmq metadata:
queueName: infer-queue mode: QueueLength value: "200"
Folha de cheque para iniciar o cluster GPU
- NVLink/IB mapa de topologia; NIC/GPU em um NUMA.
- Os drivers/CUDA estão alinhados, o Operator/Device-plugin está instalado.
- MIG/time-slicing perfis e quotas de neimspace.
- DDP/FSDP pipeline rodeado no estagiário; Os checkpoints são rápidos.
- Triton/vLLM с continuous batching; os alvos p95 e TPS foram definidos.
- DCGM/Prometheus/Grafana + alertas ECC/temperatura/memória/TPS.
- Políticas de segurança (PSP, cosign, ajustamento/controle de balança).
- FinOps: pool spot/ri, relatório de «$/1k tokens», auto-shutdown idle.
Erros típicos
Misturam treinamento e inferência em nodes sem taints → «pilham» uns aos outros GPU/IO.
Sem checkpoint e lógica preempition → perda de progresso no spot.
Falta de métricas DCGM → reciclagem «cega» e superaquecimento.
Ignorar NUMA/PCIe topologia → banda baixa de NCCL.
Perfis MIG/time-slice inválidos → p99 latência e «Out of Memory».
HPA CPU em vez de TPS/latência → scale tardio.
Especificidades do iGaming/Fintech
Antifrod/pesquisa: SLA infernal ≤ 50 ms p95 em caminhos críticos (pagamentos/conclusões); mantenha um modelo fácil de «fallback».
Orientações/personalização: on-policy/off-policy treinamento à noite, online-feures - baixa latência.
Assistentes de bate-papo/RAG: dinheiro de conteúdo, dedução de solicitações, guard; Xarding de índice de pesquisa vetorial.
Picos (jogos/torneios): pré-aquecimento de modelos/kv-cachê, aumento de minReplicas, QoS classes para VIP.
Resultado
A pilha de cálculos GPU torna-se realmente eficaz quando o ferro (HBM/NVLink/IB), matriz de software (CUDA/NCL), planejamento (MIG, fila, taints), dados (rápido pipline/GDS), observabilidade (DDC) CGM/SLO) e valor (FinOps/quotas) funcionam de forma consistente. Mantenha isso na IaC e na política de clusters - e você terá uma velocidade previsível de aprendizagem, uma interferência estável com baixa latência p95 e uma economia transparente de relógios GPU.