You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[FEATURE] neuron Phase 15 — sparsity-driven edge prune (training-time dynamic param count 의 첫 실질 단계) #71
Phase 14 (PR #70 머지) 에서 block 전체가 graph 인 paradigm 완성 — attention qkv/out + FFN fc1/fc2 모두 HybridGraphLinear. 그러나 여전히 정적 위상 — 모든 채널이 동일 경로 길이, edge 가 dense topology 로 고정.
paradigm 의 ultimate goal (training-time dynamic parameter count) 의 실질적 첫 단계는 edge 자체를 추가/제거 하는 동적 위상 변화. Phase 15 는 sparsity-driven prune — 학습 중 edge magnitude 가 낮은 것들을 영구 제거.
목표
edge prune mechanism — HybridGraphLinear 에 buffer edge_mask 추가, 학습 중 |adj_outer · adj_inner · W| < threshold 인 edge 영구 0 처리
gradient resurrection 방지 — pruned edge 는 forward 에서 mask=0, gradient 도 mask 통해 차단되어 다시 살아나지 않음
sparsity tracking — 학습 후 effective sparsity ratio 측정
function preservation — mask=1 (no prune) 시 Phase 14 와 forward 동치
sweep: dense (no prune) vs 다양한 threshold prune — sparsity ratio 와 final_loss trade-off
설계 결정
buffer (학습 X) 로 edge_mask 등록 — state_dict 에 포함, optimizer 가 업데이트 안 함
one-shot prune at midpoint (max_steps/2 시점 1회) — 가장 단순한 시작 형태
threshold 기반 prune 만 1차 구현 — top-k prune 은 향후 확장
prune 대상은 HybridGraphLinear 단위 — Phase 14 의 FullGraphTransformerBlock 의 모든 4 layer (qkv/out/fc1/fc2) 가 영향 받음
작업 항목 (단일 PR)
src/graphlm/neuron/graph_hybrid.py 확장 — edge_mask buffer + prune_by_magnitude(threshold) + effective_sparsity() 메서드
src/graphlm/neuron/hybrid_transformer_demo.py 확장 — train loop 에 prune step 추가 (config 의 prune_at_step + prune_threshold)
tests/neuron/test_graph_hybrid.py 확장 — prune 동작 / gradient blocking / sparsity ratio / state_dict 보존
notebooks/02-function-level/14-phase15-sparsity-prune.ipynb 신규 — dense vs prune (3 thresholds) sweep
완료 조건
182 → ~200+ tests, all green
coverage ≥ 70%
노트북 sweep 정상 실행, sparsity vs final_loss trade-off 시각화
Activity
Merge pull request #72 from EinSofINTEREST/feature/#71/neuron-phase15…