r/MachineLearning: preflight, label leakage와 NaN을 학습 전에 막는 PyTorch pre-training validator
Original: [P] preflight, a pre-training validator for PyTorch I built after losing 3 days to label leakage View original →
GPU 시간을 태우기 전에 dataset와 pipeline부터 검사하자는 접근
2026년 3월 15일 r/MachineLearning에서는 preflight 소개 글이 56 points와 13 comments를 기록했다. 작성자는 training run이 crash 없이 끝났는데도 model이 아무것도 배우지 못했고, 원인을 찾는 데 3일이 걸렸다고 적었다. 문제는 label leakage였다. 그래서 긴 training job을 시작하기 전에 dataset와 model wiring의 기본 건강 상태를 짧게 검사하는 CLI를 만들었다는 것이 이 post의 핵심이다.
GitHub README에 따르면 preflight는 preflight run --dataloader my_dataloader.py 같은 형태로 실행된다. check는 총 10개이며 severity는 FATAL, WARN, INFO 세 단계로 나뉜다. FATAL failure가 하나라도 있으면 exit code 1을 반환해 CI를 차단한다. 항목에는 nan_inf_detection, label_leakage, shape_mismatch, gradient_check, normalisation_sanity, channel_ordering, vram_estimation, class_imbalance, split_sizes, duplicate_samples가 포함된다. README 예시는 30초 안팎의 pre-flight check를 목표로 하고, JSON output과 GitHub Actions integration도 제공한다.
이 프로젝트의 위치 설정도 현실적이다. 작성자는 pytest를 대체하려는 것이 아니라고 분명히 말한다. code logic test는 pytest가 맡고, comprehensive ML validation platform은 Deepchecks 같은 도구가 맡고, experiment tracking은 WandB나 MLflow가 맡는다. preflight가 노리는 지점은 그 사이, 즉 'code는 돌아가는데 model은 망가진다'는 가장 비싼 실패 구간이다. 특히 label leakage, NaN, wrong channel ordering, dead gradients처럼 Python exception을 던지지 않는 silent failure를 미리 잡아내겠다는 설명은 많은 실무자에게 바로 와닿는다.
설정 방법도 과하게 무겁지 않다. model과 loss를 추가로 넘기면 shape와 gradient, VRAM 관련 검사를 켤 수 있고, .preflight.toml으로 threshold 조정이나 특정 check 비활성화도 가능하다. roadmap에는 --fix 자동 수정, drift detection, dry-run mode, plugin 형태 확장도 적혀 있다. 아직 v0.1.x 초기 도구이지만, 커뮤니티가 반응한 이유는 명확하다. 긴 training run에서 가장 비싼 비용은 compute보다도 늦게 발견되는 silent bug일 때가 많기 때문이다.
Primary source: preflight GitHub repository. Community discussion: r/MachineLearning.
Related Articles
2026년 3월 15일 r/MachineLearning에는 preflight라는 PyTorch용 CLI가 소개됐다. label leakage, NaN, gradient 문제, VRAM 추정 등 10개 점검을 학습 시작 전에 수행해 비용 낭비를 막는 것이 목적이다.
상태를 들고 다니지 않는 optimizer라는 약속은 강했지만, r/MachineLearning 반응은 늘 그렇듯 명확했다. 업데이트 규칙을 보여주고, 시드를 늘리고, 더 어려운 과제로 오라는 요구다.
중요한 점은 model launch의 성패가 가중치보다 serving과 training 지원에서 갈린다는 데 있다. LMSYS는 Day-0 stack이 B200에서 199 tok/s, H200에서 266 tok/s를 기록했고 900K context에서도 흐름이 유지된다고 적었다.
Comments (0)
No comments yet. Be the first to comment!