배경
Phase 16 메인 이슈 #75 의 sub-issue (1/2). Phase 15 의 static prune 을 확장하여 iterative prune + regrow 로 학습 중 topology 가 진화하는 DST (Dynamic Sparse Training) 구현.
목표
- regrow 메커니즘 — pruned edge 중 일부를 다시 살리기 (mask=0 → mask=1). 두 변형:
- RigL (Evci 2020): 가장 높은 |gradient| 위치 우선 regrow
- SET (Mocanu 2018): random regrow (baseline)
- constant sparsity 유지 — prune step + regrow step 동량 → 총 sparsity 고정
- gradient signal 활용 — pruned edge 의 gradient 가 dense weight 처럼 계산되어야 함 (mask=0 인 위치도 backward 통과 시 grad 측정 가능)
- sweep: Phase 15 dense baseline + 50% prune (static) + 50% prune+regrow (DST RigL) + 50% prune+regrow (DST SET) 비교
설계 결정
- edge_mask 는 그대로 — buffer 로 유지, prune/regrow 가 mask 갱신
- regrow scoring: RigL 의 경우 dense gradient 측정 필요 → forward 시 mask 적용하되 backward 는 dense gradient 가 흐르도록 (mask 의 gradient blocking 우회)
- gradient measurement 한정: regrow score 측정 시점에만 dense gradient 측정 (학습 중에는 정상 mask gradient)
작업 항목
완료 조건
- 202 → ~220+ tests, all green
- coverage ≥ 70%
- 노트북 sweep 정상 실행, RigL vs SET vs static 비교 가능
관련
배경
Phase 16 메인 이슈 #75 의 sub-issue (1/2). Phase 15 의 static prune 을 확장하여 iterative prune + regrow 로 학습 중 topology 가 진화하는 DST (Dynamic Sparse Training) 구현.
목표
설계 결정
작업 항목
HybridGraphLinear확장:regrow_by_gradient(n, grad_metric_tensor): 상위 n 개 pruned 위치 un-maskregrow_random(n): random n 개 pruned 위치 un-maskTrainConfig.regrow_at_steps/regrow_fraction/regrow_method(RigL / SET)15-phase16a-rigl-set-regrow.ipynb:완료 조건
관련
docs/papers/computation-graph/2020-rigl-evci.md(RigL 원논문)docs/papers/computation-graph/2018-set-mocanu.md(SET 원논문)