Pular para o conteúdo
Skillpedia
Deploy e nuvem (DevOps)41 mil · #4854

spark-training-gotchas

Ajuda seu agente a prever e resolver problemas comuns em tarefas de ML. Use antes de tarefas longas para evitar falhas, lentidão ou erros de memória.

O que ela faz

Esta ferramenta ajuda a encontrar e corrigir problemas comuns que podem fazer seus treinos de inteligência artificial falharem ou ficarem lentos no sistema DGX Spark. Ela verifica dez tipos de falhas conhecidas.

Quando usar

  • ✓Seu treino falha ao iniciar com erros estranhos.
  • ✓Seu treino usa muita memória e trava, mesmo parecendo ter espaço.
  • ✓Seu treino começa rápido mas depois fica lento.

Exemplo do que pedir para a IA

“Meu treino no DGX Spark está travando, o que pode ser?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/wshobson/agents/blob/main/plugins/dgx-spark-ops/skills/spark-training-gotchas/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/dgx-spark-ops/skills/spark-training-gotchas/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta analisa seu sistema e verifica se algum dos dez problemas conhecidos está acontecendo. Ela te diz qual é o problema e como tentar consertar.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add wshobson/agents --skill spark-training-gotchas

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/dgx-spark-ops/skills/spark-training-gotchas/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Gotchas de Treinamento Spark

O chip GB10 do DGX Spark (Grace Blackwell, SM121, 128GB de memória unificada, aarch64) tem dez modos de falha recorrentes em lançamento, memória, térmicas, largura de banda e precisão. Cada um é nomeado G1–G10 para que possa ser verificado por número — a numeração é crucial para ferramentas que executam essas verificações. Leia isto antes de uma execução longa, não depois da sexta hora.

Quando Usar Esta Habilidade

  • Uma execução de treinamento falha ao iniciar, com um erro de importação ou um segfault que não aponta para a causa real.
  • Uma execução OOM (Out Of Memory) enquanto nvidia-smi ainda mostra espaço livre.
  • A taxa de transferência degrada no meio de uma execução que começou bem.
  • Antes de qualquer job de várias horas ou várias épocas no GB10.
  • Conectando dois Sparks, antes de escolher uma estratégia de paralelismo.
  • Escolhendo entre FP8 e NVFP4 para uma execução hospedada no Spark.

Referência Rápida de Problemas Comuns

# Sintoma Correção
G1 Símbolo indefinido / segfault Roda cu130 ou container
G2 flash-attn usa backend errado pular build pip; monkeypatch no NGC
G3 OOM apesar de espaço livre liberar cache de página
G4 queda de taxa de transferência / reinício esperar ~100W de limite sustentado
G5 passo limitado por memória lento orçar 180–192 GB/s
G6 cache evictado no meio da execução um servidor GPU por vez
G7 NVFP4 mais lento que FP8 manter FP8 a menos que sm_121a
G8 playbook falha completamente verificar problemas upstream
G9 ambiente quebra após instalação usar um container
G10 TP de 2-Spark trava apenas DDP/FSDP, nunca TP

Os Dez Gotchas

G1: Incompatibilidade ABI CUDA 12/13

  • SINTOMA: ImportError: undefined symbol nomeando uma função CUDA, ou um segfault na primeira chamada .cuda().
  • CAUSA: a maioria das rodas PyPI linka libcudart.so.12; Spark envia CUDA 13. pip nunca verifica ABI CUDA, então isso só aparece na importação ou no primeiro lançamento do kernel.
  • VERIFICAÇÃO: references/gotcha-checks.md G1 — a tag de build CUDA da roda.
  • CORREÇÃO: reinstalar de download.pytorch.org/whl/cu130 ou usar um container compatível.

G2: flash-attn — Pule o Build Pip, Observe a Autodetecção do Unsloth

  • SINTOMA: pip install flash-attn ainda falha/trava. Unsloth também pode treinar silenciosamente flash-attn sobre um SDPA explicitamente solicitado.
  • CAUSA: não há roda aarch64/sm_121 para pip puro — mas containers NGC enviam um flash-attn SM121 funcional, e Unsloth o prefere automaticamente, descartando attn_implementation="sdpa".
  • VERIFICAÇÃO: references/gotcha-checks.md G1 — se flash-attn já está presente e funcionando.
  • CORREÇÃO: pip puro — pule flash-attn, use SDPA (inalterado). No NGC — a única substituição confiável é o monkeypatch em references/gotcha-checks.md G2.

G3: OOM UMA Abaixo de 128GB

  • SINTOMA: OOM durante o carregamento/treinamento do modelo enquanto nvidia-smi ainda relata memória livre abaixo do limite de 128GB — ou, em algumas configurações, [N/A] diretamente em vez de um número.
  • CAUSA: mmap e o alocador CUDA contam páginas em dobro durante o carregamento safetensors; QLoRA pode OOM mais cedo que bf16, pois a desquantização adiciona alocações transitórias.
  • VERIFICAÇÃO: references/gotcha-checks.md G3 — leia free -g e /proc/meminfo, não nvidia-smi.
  • CORREÇÃO: liberar o cache de página com sync; echo 3 > /proc/sys/vm/drop_caches — precisa de root, um reset entre execuções, não um passo no meio do treinamento.

G4: Limitação Térmica

  • SINTOMA: a taxa de transferência cai no meio de uma execução de várias horas, ou a caixa reinicia espontaneamente sob carga sustentada.
  • CAUSA: o consumo de energia sustentado é limitado em torno de 100W versus o valor nominal de 240W; execuções longas atingem esse teto e limitam ou, às vezes, reiniciam.
  • VERIFICAÇÃO: references/gotcha-checks.md G4 — amostre nvidia-smi --query-gpu=temperature.gpu,power.draw.
  • CORREÇÃO: se a energia se estabiliza abaixo de 240W enquanto a temperatura sobe, trate a limitação como a causa; melhore o resfriamento ou limite a duração da execução.

G5: Teto de Largura de Banda

  • SINTOMA: workloads limitados por memória, especialmente loops de RL com decodificação pesada, atingem um platô bem abaixo da taxa de transferência esperada.
  • CAUSA: 273 GB/s é um teto de especificação, não sustentado; a largura de banda medida opera em 180–192 GB/s.
  • VERIFICAÇÃO: references/gotcha-checks.md G5 — tempo de passo observado versus a faixa medida, não a especificação.
  • CORREÇÃO: orçar a taxa de transferência de 180–192 GB/s; revise um plano construído sobre o valor de 273 GB/s.

G6: Contenção Global de Recursos UMA

  • SINTOMA: o cache KV/pesos de um processo são evictados no meio da execução silenciosamente, sem OOM em seus próprios logs.
  • CAUSA: memória unificada é um pool global único; um processo sem limite ou próximo da capacidade compete com qualquer outra coisa e pode evictá-la. Um pequeno,

…

Perguntas frequentes

O que é DGX Spark?

É um tipo de computador potente, feito para treinar modelos de inteligência artificial rapidamente.

O que são 'failure modes'?

São as maneiras como algo pode dar errado ou falhar.

Preciso saber programar para usar isso?

Não, a ferramenta é feita para ser usada mesmo sem conhecimento de programação. Ela te guia com as instruções.

Detalhes

Descrição original do autor

Preflight and diagnose the ten known failure modes for ML training on NVIDIA DGX Spark. Use when a training run on DGX Spark fails to start, OOMs below the 128GB limit, slows down mid-run, or before any multi-hour training job on GB10.

repo: wshobson/agents

Popularidade

Estrelas no GitHub
41 mil
Posição no ranking
#4854
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas