opção
LarLar Skill Ciência de dados e ML nemo-mbridge-resiliency

nemo-mbridge-resiliency

NVIDIA/skills NVIDIA/skills

Configure a tolerância a falhas, a detecção de tarefas atrasadas, a preempção, o reinício durante o processo e a máquina de estados de reexecução para os trabalhos de treinamento do Megatron Bridge.

...Expandir tudo
0
Tempo atualizado 25 de Setembro de 2026

Resiliência

Documentação estável: @docs/training/resiliency.md, @docs/training/checkpointing.md Cartão: @skills/nemo-mbridge-resiliency/card.yaml

Habilitação

Tolerância a falhas (somente Slurm)

Opção 1: Plug-in NeMo Run (recomendado)

from megatron.bridge.recipes.run_plugins import FaultTolerancePlugin
import nemo_run as run

task = run.Script(...)
run_plugins = [
    FaultTolerancePlugin(
        enable_ft_package=True,
        calc_ft_timeouts=True,
        num_in_job_restarts=3,
        num_job_retries_on_failure=2,
        initial_rank_heartbeat_timeout=1800,
        rank_heartbeat_timeout=300,
    )
]
run.run(task, plugins=run_plugins, executor=executor)
Parâmetro do plug-in Padrão Descrição
num_in_job_restarts 3 Número máximo de reinicializações dentro do mesmo trabalho
num_job_retries_on_failure 2 Número máximo de novas execuções de tarefa em caso de falha
tempo_limite_do_heartbeat_da_classificação_inicial 1800 Tempo limite do primeiro heartbeat (segundos)
tempo_limite_do_heartbeat_da_classificação 300 Tempo limite para batimentos cardíacos subsequentes (segundos)

Opção 2: Configuração direta + ft_launcher

from megatron.bridge.training.config import FaultToleranceConfig

cfg.ft = FaultToleranceConfig(
    enable_ft_package=True,
    calc_ft_timeouts=True,
    simulate_fault=False,
    simulated_fault_type="random",
)

Inicie com o ft_launcher (não com o torchrun):

export GROUP_RANK=0  # necessário para ambientes que não sejam Slurm
ft_launcher \
    --rdzv_backend=c10d --rdzv_endpoint=${MASTER_ADDR}:${MASTER_PORT} \
    --nnodes=${NUM_NODES} --nproc-per-node=${NUM_GPUS_PER_NODE} \
    --ft-rank_section_timeouts=setup:600,step:180,checkpointing:420 \
    --ft-rank_out_of_section_timeout=300 \
    your_training_script.py
Parâmetro de configuração Padrão Descrição
enable_ft_package False Ativar tolerância a falhas
calc_ft_timeouts False Calcular automaticamente os tempos limite ideais
simulate_fault Falso Ativar simulação de falha para testes
tipo_de_falha_simulada "aleatório" "rank_hung", "rank_killed" ou "random"
simulated_fault_rank Nenhum Classificação específica para a falha (aleatória se for Nenhuma)
atraso_base_da_falha_simulada 0 Atraso base antes da simulação da falha

O monitoramento de tempo limite por seção abrange a configuração, as etapas de treinamento, a criação de pontos de verificação e o tempo fora da seção de forma independente. Os tempos limite são salvos em ft_state.json para execuções subsequentes quando calc_ft_timeouts=True.

Detecção de stragglers no NVRx

from megatron.bridge.training.config import NVRxStragglerDetectionConfig

cfg.nvrx_straggler = NVRxStragglerDetectionConfig(
    enabled=True,
    report_time_interval=300.0,
    calc_relative_gpu_perf=True,
    calc_individual_gpu_perf=True,
    num_gpu_perf_scores_to_print=5,
    gpu_relative_perf_threshold=0.7,
    gpu_individual_perf_threshold=0.7,
    stop_if_detected=False,
    enable_logging=True,
)
Parâmetro Padrão Descrição
ativado False Ativar detecção de atrasados
intervalo_de_relatório 300,0 Segundos entre as verificações de atrasos
calc_relative_gpu_perf True Comparar as classificações entre si
calc_individual_gpu_perf Verdadeiro Acompanhar a degradação por classificação ao longo do tempo
gpu_relative_perf_threshold 0,7 Limite para o desempenho relativo (0-1)
gpu_individual_perf_threshold 0,7 Limite para o desempenho individual (0-1)
stop_if_detected Falso Encerrar o treinamento se houver um retardatário
num_gpu_perf_scores_to_print 5 Número das melhores/piores pontuações a serem exibidas
intervalo_de_perfilagem 1 Intervalo de perfilagem para o detector

Preempção

Plugin (Slurm)

from megatron.bridge.recipes.run_plugins import PreemptionPlugin

plugins = [
    PreemptionPlugin(
        preempt_time=60,
        enable_exit_handler=True,
        enable_exit_handler_for_data_loader=False,
    )
]
Parâmetro do plug-in Padrão Descrição
preempt_time 60 Segundos antes do limite da tarefa para enviar o sinal
enable_exit_handler True Ativar o manipulador de sinais durante o treinamento
enable_exit_handler_for_data_loader False Ativar para os trabalhadores do carregador de dados

Configuração direta

import signal
cfg.train.exit_signal_handler = True
cfg.train.exit_signal = signal.SIGTERM
cfg.train.exit_signal_handler_for_dataloader = False

Reexecutar máquina de estados (experimental)

from megatron.bridge.training.config import RerunStateMachineConfig

cfg.rerun_state_machine = RerunStateMachineConfig(
    rerun_mode="validate_results",
    check_for_nan_in_loss=True,
    check_for_spiky_loss=False,
    spiky_loss_factor=10.0,
)
Parâmetro Padrão Descrição
rerun_mode "desativado" "desativado", "validar_resultados", "relatar_estatísticas_de_determinismo"
verificar_se_há_NaN_na_perda True Verificar se há NaN na perda
verificar_se_há_picos_na_perda Falso Verificar se há perda inesperadamente grande
spiky_loss_factor 10,0 A perda é sinalizada se for maior que fator * o máximo observado (aumentar para modelos grandes)

Códigos de saída: 16 = retomar para esclarecer ambiguidades, 17 = validação com falha.

Reinício durante o processo (experimental)

from megatron.bridge.training.config import InProcessRestartConfig

cfg.inprocess_restart = InProcessRestartConfig(
    enabled=True,
    granularity="node",
    soft_timeout=60.0,
    hard_timeout=90.0,
)
Parâmetro Padrão Descrição
enabled False Ativar reinício durante a execução
tamanho_do_mundo_ativo Nenhum Classifica as cargas de trabalho em execução (as demais são reservas ativas)
granularidade "nó" “nó” ou “rank” granularidade de reinício
max_iterations Nenhuma Número máximo de tentativas de reinício (Nenhum = ilimitado)
soft_timeout 60,0 Detectar travamentos com liberação do GIL (segundos)
hard_timeout 90,0 Encerrar à força os ranks travados (segundos)
heartbeat_interval 30,0 Intervalo de heartbeat (segundos)
heartbeat_timeout 60,0 Tempo limite para ausência de heartbeat (segundos)
barrier_timeout 120,0 Tempo limite da barreira distribuída (segundos)
completion_timeout 120,0 Tempo limite da barreira de conclusão (segundos)
empty_cuda_cache True Limpar o cache CUDA durante o reinício
max_rank_faults Nenhum Número máximo de falhas de rank antes do encerramento
monitor_process_logdir Nenhum Diretório para os logs do monitor

Variáveis de ambiente obrigatórias:

export TORCH_CPP_LOG_LEVEL=error
export TORCH_NCCL_RETHROW_CUDA_ERRORS=0
export NCCL_NVLS_ENABLE=0

O tempo limite do watchdog do PyTorch NCCL deve ser maior que hard_timeout. O Executor Slurm do NeMo-Run não é compatível; execute diretamente com srun --kill-on-bad-exit=0.

Salvamento assíncrono de checkpoint

cfg.checkpoint.async_save = True
cfg.checkpoint.ckpt_format = "torch_dist"

Salvamento de checkpoint local (NVRx)

cfg.checkpoint.non_persistent_local_ckpt_dir = "/local/scratch/ckpt"
cfg.checkpoint.non_persistent_local_ckpt_algo = "fully_parallel"

Âncoras de código

Tolerância a falhas

  • Configuração: src/megatron/bridge/training/config.py — FaultToleranceConfig
  • Tempo de execução: src/megatron/bridge/training/fault_tolerance.py
  • Plug-in: src/megatron/bridge/recipes/run_plugins.py — FaultTolerancePlugin
  • Plug-in de desempenho: scripts/performance/nemo-mbridge-resiliency_plugins.py
  • Testes: tests/unit_tests/training/test_fault_tolerance.py
  • Exemplo: examples/training_features/nemo-mbridge-resiliency/fault_tolerance/

Detecção de stragglers

  • Configuração: src/megatron/bridge/training/config.py — NVRxStragglerDetectionConfig
  • Tempo de execução: src/megatron/bridge/training/nvrx_straggler.py
  • Ciclo de treinamento: src/megatron/bridge/training/train.py — check_nvrx_straggler_detection
  • Testes: tests/unit_tests/training/test_nvrx_straggler.py, tests/functional_tests/training/test_nvrx_straggler.py
  • Exemplo: examples/training_features/nemo-mbridge-resiliency/straggler_detection/

Reinício durante o processo

  • Configuração: src/megatron/bridge/training/config.py — InProcessRestartConfig
  • Tempo de execução: src/megatron/bridge/training/inprocess_restart.py
  • Ponto de entrada: src/megatron/bridge/training/pretrain.py — maybe_wrap_for_inprocess_restart
  • Testes: tests/unit_tests/training/test_inprocess_restart.py, tests/functional_tests/training/test_inprocess_restart.py

Preempção

  • Plug-in: src/megatron/bridge/recipes/run_plugins.py — PreemptionPlugin
  • Manipulador de sinais: src/megatron/bridge/training/utils/sig_utils.py
  • Testes: tests/unit_tests/recipes/test_run_plugins.py

Máquina de estados de reexecução

  • Configuração: src/megatron/bridge/training/config.py — RerunStateMachineConfig
  • Inicialização: src/megatron/bridge/training/initialize.py — init_rerun_state

Checkpoint

  • Salvamento assíncrono: src/megatron/bridge/training/checkpointing.py — schedule_async_save
  • Checkpoint local: src/megatron/bridge/training/checkpointing.py — LocalCheckpointManager
  • Testes: tests/functional_tests/training/test_local_checkpointing.py

Armadilhas

  1. ft_launcher, não torchrun: A configuração direta do FaultToleranceConfig requer ft_launcher. Usar o torchrun desativa silenciosamente a FT. Para ambientes que não sejam Slurm, defina GROUP_RANK=0.

  2. O salvamento assíncrono requer torch_dist: async_save=True só funciona com ckpt_format="torch_dist". Outros formatos falham silenciosamente ou geram erro.

  3. IPR + NeMo-Run: O reinício dentro do processo não é compatível com o NeMo-Run ou com os plug-ins de preempção do Slurm. Requer versões específicas do PyTorch/NCCL e variáveis de ambiente.

  4. NVRx vs. straggler legado: Existem dois detectores. Use o NVRx (nvrx_straggler); não habilite os dois.

  5. Padrão de `stop_if_detected`: O NVRx registra em log, mas não interrompe o treinamento por padrão. Defina `stop_if_detected=True ` para encerramento automático.

  6. Watchdog do NCCL vs. `hard_timeout`: Para IPR, o tempo limite do watchdog do NCCL deve exceder o `hard_timeout`; caso contrário, o PyTorch encerra o processo antes da recuperação.

  7. A máquina de estados de reexecução está em fase alfa: use check_for_nan_in_loss=True para detecção de NaN, mas ainda não confie nos fluxos de trabalho completos de reexecução.

Verificação

Tolerância a falhas

./examples/training_features/nemo-mbridge-resiliency/fault_tolerance/run_fault_tolerance.sh
./examples/training_features/nemo-mbridge-resiliency/fault_tolerance/run_fault_tolerance.sh --simulate-fault

Procure pelas linhas de log [FaultTolerance] / [RankMonitorServer] com timeouts de seção. A falha simulada deve acionar a reinicialização a partir do ponto de verificação.

Detecção de stragglers

uv run python -m torch.distributed.run --nproc_per_node=2 \
    examples/training_features/nemo-mbridge-resiliency/straggler_detection/straggler_detection_example.py

Procure os relatórios de desempenho relativo das GPUs e de desempenho individual das GPUs com pontuações por rank.

Ponto de verificação assíncrono

Verifique se há menções ao agendamento do salvamento assíncrono de ponto de verificação nos logs. As iterações de treinamento devem continuar enquanto os arquivos de ponto de verificação estão sendo gravados.

Reinício durante o processo

pytest tests/functional_tests/training/test_inprocess_restart.py -v

Requer versões compatíveis do PyTorch/NCCL.

Ver no GitHub
---
name: nemo-mbridge-resiliency
description: Configure fault tolerance, straggler detection, preemption, in-process restart, and re-run state machine for Megatron Bridge training jobs.
license: Apache-2.0
---

# Resiliency

Stable docs: @docs/training/resiliency.md, @docs/training/checkpointing.md
Card: @skills/nemo-mbridge-resiliency/card.yaml

## Enablement

### Fault tolerance (Slurm only)

#### Option 1: NeMo Run plugin (recommended)

```python
from megatron.bridge.recipes.run_plugins import FaultTolerancePlugin
import nemo_run as run

task = run.Script(...)
run_plugins = [
    FaultTolerancePlugin(
        enable_ft_package=True,
        calc_ft_timeouts=True,
        num_in_job_restarts=3,
        num_job_retries_on_failure=2,
        initial_rank_heartbeat_timeout=1800,
        rank_heartbeat_timeout=300,
    )
]
run.run(task, plugins=run_plugins, executor=executor)
```

| Plugin parameter | Default | Description |
|---|---|---|
| `num_in_job_restarts` | 3 | Max restarts within same job |
| `num_job_retries_on_failure` | 2 | Max new job launches on failure |
| `initial_rank_heartbeat_timeout` | 1800 | First heartbeat timeout (seconds) |
| `rank_heartbeat_timeout` | 300 | Subsequent heartbeat timeout (seconds) |

#### Option 2: Direct config + ft_launcher

```python
from megatron.bridge.training.config import FaultToleranceConfig

cfg.ft = FaultToleranceConfig(
    enable_ft_package=True,
    calc_ft_timeouts=True,
    simulate_fault=False,
    simulated_fault_type="random",
)
```

Launch with `ft_launcher` (not `torchrun`):

```bash
export GROUP_RANK=0  # required for non-Slurm
ft_launcher \
    --rdzv_backend=c10d --rdzv_endpoint=${MASTER_ADDR}:${MASTER_PORT} \
    --nnodes=${NUM_NODES} --nproc-per-node=${NUM_GPUS_PER_NODE} \
    --ft-rank_section_timeouts=setup:600,step:180,checkpointing:420 \
    --ft-rank_out_of_section_timeout=300 \
    your_training_script.py
```

| Config parameter | Default | Description |
|---|---|---|
| `enable_ft_package` | False | Enable fault tolerance |
| `calc_ft_timeouts` | False | Auto-compute optimal timeouts |
| `simulate_fault` | False | Enable fault simulation for testing |
| `simulated_fault_type` | `"random"` | `"rank_hung"`, `"rank_killed"`, or `"random"` |
| `simulated_fault_rank` | None | Specific rank to fault (random if None) |
| `simulated_fault_base_delay` | 0 | Base delay before simulating fault |

Section-based timeout monitoring covers setup, training steps, checkpointing,
and out-of-section time independently. Timeouts are saved to `ft_state.json`
for subsequent runs when `calc_ft_timeouts=True`.

### NVRx straggler detection

```python
from megatron.bridge.training.config import NVRxStragglerDetectionConfig

cfg.nvrx_straggler = NVRxStragglerDetectionConfig(
    enabled=True,
    report_time_interval=300.0,
    calc_relative_gpu_perf=True,
    calc_individual_gpu_perf=True,
    num_gpu_perf_scores_to_print=5,
    gpu_relative_perf_threshold=0.7,
    gpu_individual_perf_threshold=0.7,
    stop_if_detected=False,
    enable_logging=True,
)
```

| Parameter | Default | Description |
|---|---|---|
| `enabled` | False | Enable straggler detection |
| `report_time_interval` | 300.0 | Seconds between straggler checks |
| `calc_relative_gpu_perf` | True | Compare ranks against each other |
| `calc_individual_gpu_perf` | True | Track per-rank degradation over time |
| `gpu_relative_perf_threshold` | 0.7 | Threshold for relative performance (0-1) |
| `gpu_individual_perf_threshold` | 0.7 | Threshold for individual performance (0-1) |
| `stop_if_detected` | False | Terminate training on straggler |
| `num_gpu_perf_scores_to_print` | 5 | Number of best/worst scores to print |
| `profiling_interval` | 1 | Profiling interval for detector |

### Preemption

#### Plugin (Slurm)

```python
from megatron.bridge.recipes.run_plugins import PreemptionPlugin

plugins = [
    PreemptionPlugin(
        preempt_time=60,
        enable_exit_handler=True,
        enable_exit_handler_for_data_loader=False,
    )
]
```

| Plugin parameter | Default | Description |
|---|---|---|
| `preempt_time` | 60 | Seconds before job limit to send signal |
| `enable_exit_handler` | True | Enable signal handler in training |
| `enable_exit_handler_for_data_loader` | False | Enable for dataloader workers |

#### Direct config

```python
import signal
cfg.train.exit_signal_handler = True
cfg.train.exit_signal = signal.SIGTERM
cfg.train.exit_signal_handler_for_dataloader = False
```

### Re-run state machine (experimental)

```python
from megatron.bridge.training.config import RerunStateMachineConfig

cfg.rerun_state_machine = RerunStateMachineConfig(
    rerun_mode="validate_results",
    check_for_nan_in_loss=True,
    check_for_spiky_loss=False,
    spiky_loss_factor=10.0,
)
```

| Parameter | Default | Description |
|---|---|---|
| `rerun_mode` | `"disabled"` | `"disabled"`, `"validate_results"`, `"report_determinism_stats"` |
| `check_for_nan_in_loss` | True | Check for NaN in loss |
| `check_for_spiky_loss` | False | Check for unexpectedly large loss |
| `spiky_loss_factor` | 10.0 | Loss flagged if > factor * max observed (increase for large models) |

Exit codes: 16 = resume to disambiguate, 17 = failed validation.

### In-process restart (experimental)

```python
from megatron.bridge.training.config import InProcessRestartConfig

cfg.inprocess_restart = InProcessRestartConfig(
    enabled=True,
    granularity="node",
    soft_timeout=60.0,
    hard_timeout=90.0,
)
```

| Parameter | Default | Description |
|---|---|---|
| `enabled` | False | Enable in-process restart |
| `active_world_size` | None | Ranks executing workload (rest are warm reserves) |
| `granularity` | `"node"` | `"node"` or `"rank"` restart granularity |
| `max_iterations` | None | Max restart attempts (None = unlimited) |
| `soft_timeout` | 60.0 | Detect GIL-released hangs (seconds) |
| `hard_timeout` | 90.0 | Force-terminate hung ranks (seconds) |
| `heartbeat_interval` | 30.0 | Heartbeat interval (seconds) |
| `heartbeat_timeout` | 60.0 | Missing heartbeat timeout (seconds) |
| `barrier_timeout` | 120.0 | Distributed barrier timeout (seconds) |
| `completion_timeout` | 120.0 | Completion barrier timeout (seconds) |
| `empty_cuda_cache` | True | Clear CUDA cache during restart |
| `max_rank_faults` | None | Max rank faults before terminating |
| `monitor_process_logdir` | None | Directory for monitor logs |

Required environment variables:

```bash
export TORCH_CPP_LOG_LEVEL=error
export TORCH_NCCL_RETHROW_CUDA_ERRORS=0
export NCCL_NVLS_ENABLE=0
```

The PyTorch NCCL watchdog timeout must exceed `hard_timeout`. NeMo-Run's
Slurm Executor is not supported; launch directly with `srun --kill-on-bad-exit=0`.

### Async checkpoint save

```python
cfg.checkpoint.async_save = True
cfg.checkpoint.ckpt_format = "torch_dist"
```

### Local checkpointing (NVRx)

```python
cfg.checkpoint.non_persistent_local_ckpt_dir = "/local/scratch/ckpt"
cfg.checkpoint.non_persistent_local_ckpt_algo = "fully_parallel"
```

## Code Anchors

### Fault tolerance
- Config: `src/megatron/bridge/training/config.py` — `FaultToleranceConfig`
- Runtime: `src/megatron/bridge/training/fault_tolerance.py`
- Plugin: `src/megatron/bridge/recipes/run_plugins.py` — `FaultTolerancePlugin`
- Perf plugin: `scripts/performance/nemo-mbridge-resiliency_plugins.py`
- Tests: `tests/unit_tests/training/test_fault_tolerance.py`
- Example: `examples/training_features/nemo-mbridge-resiliency/fault_tolerance/`

### Straggler detection
- Config: `src/megatron/bridge/training/config.py` — `NVRxStragglerDetectionConfig`
- Runtime: `src/megatron/bridge/training/nvrx_straggler.py`
- Train loop: `src/megatron/bridge/training/train.py` — `check_nvrx_straggler_detection`
- Tests: `tests/unit_tests/training/test_nvrx_straggler.py`, `tests/functional_tests/training/test_nvrx_straggler.py`
- Example: `examples/training_features/nemo-mbridge-resiliency/straggler_detection/`

### In-process restart
- Config: `src/megatron/bridge/training/config.py` — `InProcessRestartConfig`
- Runtime: `src/megatron/bridge/training/inprocess_restart.py`
- Entry point: `src/megatron/bridge/training/pretrain.py` — `maybe_wrap_for_inprocess_restart`
- Tests: `tests/unit_tests/training/test_inprocess_restart.py`, `tests/functional_tests/training/test_inprocess_restart.py`

### Preemption
- Plugin: `src/megatron/bridge/recipes/run_plugins.py` — `PreemptionPlugin`
- Signal handler: `src/megatron/bridge/training/utils/sig_utils.py`
- Tests: `tests/unit_tests/recipes/test_run_plugins.py`

### Re-run state machine
- Config: `src/megatron/bridge/training/config.py` — `RerunStateMachineConfig`
- Init: `src/megatron/bridge/training/initialize.py` — `init_rerun_state`

### Checkpointing
- Async save: `src/megatron/bridge/training/checkpointing.py` — `schedule_async_save`
- Local ckpt: `src/megatron/bridge/training/checkpointing.py` — `LocalCheckpointManager`
- Tests: `tests/functional_tests/training/test_local_checkpointing.py`

## Pitfalls

1. **ft_launcher, not torchrun**: Direct `FaultToleranceConfig` requires
   `ft_launcher`. Using `torchrun` silently disables FT. For non-Slurm,
   set `GROUP_RANK=0`.

2. **Async save requires torch_dist**: `async_save=True` only works with
   `ckpt_format="torch_dist"`. Other formats silently fail or error.

3. **IPR + NeMo-Run**: In-process restart is not compatible with NeMo-Run
   or Slurm preemption plugins. Requires specific PyTorch/NCCL versions
   and env vars.

4. **NVRx vs legacy straggler**: Two detectors exist. Use NVRx
   (`nvrx_straggler`); do not enable both.

5. **stop_if_detected default**: NVRx logs but does not stop training by
   default. Set `stop_if_detected=True` for automatic termination.

6. **NCCL watchdog vs hard_timeout**: For IPR, NCCL watchdog timeout must
   exceed `hard_timeout` or PyTorch kills the process before recovery.

7. **Rerun state machine is alpha**: Use `check_for_nan_in_loss=True` for
   NaN detection, but don't rely on full rerun workflows yet.

## Verification

### Fault tolerance
```bash
./examples/training_features/nemo-mbridge-resiliency/fault_tolerance/run_fault_tolerance.sh
./examples/training_features/nemo-mbridge-resiliency/fault_tolerance/run_fault_tolerance.sh --simulate-fault
```
Look for `[FaultTolerance]` / `[RankMonitorServer]` log lines with section
timeouts. Simulated fault should trigger restart from checkpoint.

### Straggler detection
```bash
uv run python -m torch.distributed.run --nproc_per_node=2 \
    examples/training_features/nemo-mbridge-resiliency/straggler_detection/straggler_detection_example.py
```
Look for `GPU relative performance` and `GPU individual performance` reports
with per-rank scores.

### Async checkpoint
Look for `Scheduling async checkpoint save` in logs. Training iterations
should continue while checkpoint files are being written.

### In-process restart
```bash
pytest tests/functional_tests/training/test_inprocess_restart.py -v
```
Requires compatible PyTorch/NCCL versions.

Todos os arquivos

6 arquivos
SKILL.md 11.1k
Ver
card.yaml 4.8k
Ver

Instalar nemo-mbridge-resiliency

Baixe e descompacte os arquivos de habilidades no diretório .claude/skills/.

Baixar ZIP

Clone o repositório e copie os arquivos da habilidade para o seu projeto.

git clone https://github.com/NVIDIA/skills/tree/main/skills/nemo-mbridge-resiliency # Copy SKILL.md to your .claude/skills/ directory

Copiar Copiar
Configuração rápida: Copie a pasta da habilidade para .claude/skills/ O Claude detectará e utilizará automaticamente a habilidade
Repositório NVIDIA/skills

Habilidades relacionadas

web-search
Tempo atualizado 29 de Junho de 2026
webapp-testing
Tempo atualizado 29 de Junho de 2026
lark-base
Tempo atualizado 5 de Julho de 2026
agentmail
Tempo atualizado 29 de Junho de 2026
OR