옵션
집집 Skill 데이터 과학 및 ML nemo-mbridge-resiliency

nemo-mbridge-resiliency

NVIDIA/skills NVIDIA/skills

Megatron Bridge 훈련 작업에 대해 내결함성, 지연 노드 감지, 선점, 프로세스 내 재시작 및 재실행 상태 머신을 구성합니다.

...모든 것을 확장하십시오
0
업데이트 된 시간 2026년 9월 25일

복원력

Stable 문서: @docs/training/resiliency.md, @docs/training/checkpointing.md 카드: @skills/nemo-mbridge-resiliency/card.yaml

기능 활성화

내결함성 (Slurm 전용)

옵션 1: NeMo Run 플러그인 (권장)

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)
플러그인 매개변수 기본값 설명
num_in_job_restarts 3 동일한 작업 내에서 허용되는 최대 재시작 횟수
num_job_retries_on_failure 2 실패 시 최대 새 작업 시작 횟수
초기 순위 하트비트 타임아웃 1800 첫 번째 하트비트 타임아웃 (초)
순위_하트비트_타임아웃 300 후속 하트비트 타임아웃 (초)

옵션 2: 직접 구성 + 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",
)

ft_launcher ( torchrun 아님)로 실행:

export GROUP_RANK=0  # 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
구성 매개변수 기본값 설명
enable_ft_package False 내결함성 활성화
calc_ft_timeouts False 최적 타임아웃 자동 계산
simulate_fault False 테스트를 위한 오류 시뮬레이션 활성화
시뮬레이션된 오류 유형 "random" "rank_hung", "rank_killed" 또는 "random"
시뮬레이션된 결함 순위 None 고장 발생 대상 순위(None인 경우 무작위)
simulated_fault_base_delay 0 고장 시뮬레이션 전 기본 지연 시간

섹션 기반 타임아웃 모니터링은 설정, 훈련 단계, 체크포인트 생성, 및 섹션 외 시간을 각각 독립적으로 처리합니다. calc_ft_timeouts=True인 경우, 타임아웃 정보는 후속 실행을 위해 ft_state.json에저장됩니다.

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,
)
매개변수 기본값 설명
활성화됨 False 지연 차량 감지 활성화
보고 간격 300.0 스트래글러 확인 간격(초)
calc_relative_gpu_perf True 순위를 서로 비교
calc_individual_gpu_perf True 시간 경과에 따른 랭크별 성능 저하 추적
gpu_relative_perf_threshold 0.7 상대 성능의 임계값 (0-1)
gpu_individual_perf_threshold 0.7 개별 성능 임계값 (0-1)
stop_if_detected False 지체되는 노드가 있을 경우 훈련 종료
num_gpu_perf_scores_to_print 5 출력할 최상/최악 점수의 개수
프로파일링 간격 1 검출기의 프로파일링 간격

선점

플러그인 (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,
    )
]
플러그인 매개변수 기본값 설명
preempt_time 60 작업 제한 시간 중 신호를 보내기 전까지의 초 단위 시간
enable_exit_handler True 훈련 중 신호 핸들러 활성화
enable_exit_handler_for_data_loader False 데이터 로더 워커에 대해 활성화

직접 구성

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

상태 머신 재실행 (실험적)

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,
)
매개변수 기본값 설명
rerun_mode "disabled" "비활성화", "결과 검증", "결정성 통계 보고"
손실값 내의 NaN 확인 True 손실값에서 NaN 확인
check_for_spiky_loss False 예상치 못하게 큰 손실 확인
spiky_loss_factor 10.0 손실이 factor * 관측된 최대값을 초과할 경우 플래그 지정 (대규모 모델의 경우 값을 높임)

종료 코드: 16 = 모호성 해소를 위해 재개, 17 = 검증 실패.

처리 중 재시작 (실험적)

from megatron.bridge.training.config import InProcessRestartConfig

cfg.inprocess_restart = InProcessRestartConfig(
    enabled=True,
    granularity="node",
    soft_timeout=60.0,
    hard_timeout=90.0,
)
매개변수 기본값 설명
enabled False 프로세스 내 재시작 활성화
active_world_size 없음 워크로드를 실행하는 랭크(나머지는 대기 예비 랭크)
세분성 "노드" "노드" 또는 "랭크" 재시작 세분성
최대 반복 횟수 없음 최대 재시도 횟수 (None = 무제한)
soft_timeout 60.0 GIL 해제 후 발생하는 멈춤 현상 감지 (초)
hard_timeout 90.0 응답이 없는 랭크를 강제 종료 (초)
하트비트 간격 30.0 하트비트 간격 (초)
heartbeat_timeout 60.0 하트비트 미검출 타임아웃 (초)
barrier_timeout 120.0 분산 배리어 타임아웃 (초)
완료 시간 초과 120.0 완료 배리어 타임아웃 (초)
empty_cuda_cache True 재시작 시 CUDA 캐시 지우기
max_rank_faults 없음 종료 전에 허용되는 최대 랭크 오류 횟수
monitor_process_logdir 없음 모니터 로그 저장 디렉터리

필수 환경 변수:

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

PyTorch NCCL 워치독 타임아웃은 hard_timeout보다 길어야 합니다. NeMo-Run의 Slurm 실행기는 지원되지 않으므로, srun --kill-on-bad-exit=0을 사용하여 직접 실행하십시오.

비동기 체크포인트 저장

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

로컬 체크포인트 저장 (NVRx)

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

코드 앵커

내결함성

  • 구성: src/megatron/bridge/training/config.py — FaultToleranceConfig
  • 런타임: src/megatron/bridge/training/fault_tolerance.py
  • 플러그인: src/megatron/bridge/recipes/run_plugins.py — FaultTolerancePlugin
  • 성능 플러그인: scripts/performance/nemo-mbridge-resiliency_plugins.py
  • 테스트: tests/unit_tests/training/test_fault_tolerance.py
  • 예제: examples/training_features/nemo-mbridge-resiliency/fault_tolerance/

지체자 감지

  • 구성: src/megatron/bridge/training/config.py — NVRxStragglerDetectionConfig
  • 런타임: src/megatron/bridge/training/nvrx_straggler.py
  • 훈련 루프: src/megatron/bridge/training/train.py — check_nvrx_straggler_detection
  • 테스트: tests/unit_tests/training/test_nvrx_straggler.py, tests/functional_tests/training/test_nvrx_straggler.py
  • 예제: examples/training_features/nemo-mbridge-resiliency/straggler_detection/

프로세스 내 재시작

  • 구성: src/megatron/bridge/training/config.py — InProcessRestartConfig
  • 런타임: src/megatron/bridge/training/inprocess_restart.py
  • 엔트리 포인트: src/megatron/bridge/training/pretrain.py — maybe_wrap_for_inprocess_restart
  • 테스트: tests/unit_tests/training/test_inprocess_restart.py, tests/functional_tests/training/test_inprocess_restart.py

선점

  • 플러그인: src/megatron/bridge/recipes/run_plugins.py — PreemptionPlugin
  • 신호 핸들러: src/megatron/bridge/training/utils/sig_utils.py
  • 테스트: tests/unit_tests/recipes/test_run_plugins.py

상태 머신 재실행

  • 구성: src/megatron/bridge/training/config.py — RerunStateMachineConfig
  • 초기화: src/megatron/bridge/training/initialize.py — init_rerun_state

체크포인트

  • 비동기 저장: src/megatron/bridge/training/checkpointing.py — schedule_async_save
  • 로컬 체크포인트: src/megatron/bridge/training/checkpointing.py — LocalCheckpointManager
  • 테스트: tests/functional_tests/training/test_local_checkpointing.py

주의 사항

  1. torchrun이 아닌 ft_launcher: Direct FaultToleranceConfig는 ft_launcher를 필요로 합니다. torchrun을 사용하면 FT가 자동으로 비활성화됩니다. Slurm이 아닌 환경에서는 GROUP_RANK=0으로 설정하십시오.

  2. 비동기 저장을 위해서는 torch_dist가 필요합니다: async_save=True는 ckpt_format="torch_dist"일 때만 작동합니다. 다른 형식을 사용하면 오류 없이 실패하거나 오류가 발생합니다.

  3. IPR + NeMo-Run: 인프로세스 재시작은 NeMo-Run 또는 Slurm 선점 플러그인과 호환되지 않습니다. 특정 PyTorch/NCCL 버전과 환경 변수가 필요합니다.

  4. NVRx 대 기존 스트래글러: 두 가지 감지기가 존재합니다. NVRx (nvrx_straggler)를 사용하십시오. 두 가지를 모두 활성화하지 마십시오.

  5. stop_if_detected 기본값: NVRx는 기본적으로 로그를 기록하지만 훈련을 중지하지는 않습니다. 자동 종료를 원할 경우 stop_if_detected=True로 설정하십시오.

  6. NCCL 워치독 대 hard_timeout: IPR의 경우, NCCL 워치독 타임아웃이 hard_timeout보다 길어야 하며, 그렇지 않으면 PyTorch가 복구 전에 프로세스를 종료합니다.

  7. 재실행 상태 머신은 알파 단계입니다: NaN 감지를 위해 check_for_nan_in_loss=True를 사용하되, 아직 전체 재실행 워크플로우에 의존하지 마십시오.

검증

내결함성

./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

timeouts 섹션이 포함된 [FaultTolerance] / [RankMonitorServer] 로그 행을 확인하십시오. 시뮬레이션된 오류는 체크포인트에서 재시작을 트리거해야 합니다.

지연 노드 감지

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

랭크별 점수가 포함된 GPU 상대 성능 및 GPU 개별 성능 보고서를 확인하십시오.

비동기 체크포인트

로그에서 비동기 체크포인트 저장이 스케줄링된 항목을 확인하십시오. 체크포인트 파일이 기록되는 동안에도 훈련 반복은 계속되어야 합니다.

프로세스 내 재시작

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

호환되는 PyTorch/NCCL 버전이 필요합니다.

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.

nemo-mbridge-resiliency 설치

스킬 파일을 다운로드하여 .claude/skills/ 디렉터리에 압축을 풀어주세요.

ZIP 다운로드

저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.

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

복사 복사
빠른 설정: 스킬 폴더를 .claude/skills/로 복사하세요. Claude가 해당 스킬을 자동으로 감지하여 사용합니다.
저장소 NVIDIA/skills

관련 스킬

web-search
업데이트 된 시간 2026년 6월 29일
webapp-testing
업데이트 된 시간 2026년 6월 29일
lark-base
업데이트 된 시간 2026년 7월 5일
agentmail
업데이트 된 시간 2026년 6월 29일
OR