배경 — paradigm 의 ultimate 진입
Phase 11 (PR #64) 의 magnitude rule 입증으로 paradigm 안정성 확보. 이제 사용자 vision (히든 레이어 = graph) 의 ultimate 구조 = 계층적 hybrid 진입.
외부 graph: G 개 group node (Phase 9 group-as-node)
↓ adj_outer (G_out, G_in) — group-level routing
↓ 각 group 내부에서:
내부 graph: k 개 channel node per group (Phase 10/11 channel-as-node)
↓ adj_inner (G_out, G_in, k, k) — channel-level fine-grained gate
↓
W: (G_out, G_in, k, k) — block weight
설계 — HybridGraphLinear
수식
forward:
contrib[go, gi] = (adj_inner[go, gi] * W[go, gi]) @ x[gi] # shape (k,)
y[go] = Σ_gi adj_outer[go, gi] · contrib[go, gi] # shape (k,)
y_flat = reshape(y, (G_out · k,))
effective edge weight (channel-pair) = adj_outer[group(out), group(in)] · adj_inner[out, in] · W[out, in]
자유도 (모두 0-init 금지 + magnitude rule 자동 적용)
adj_outer (G_out, G_in): group routing — coarse on/off
- default:
"full" (모두 1) 또는 "identity" (block-diagonal, n_groups_out==n_groups_in 만)
adj_inner (G_out, G_in, k, k): channel routing — fine-grained
- default:
"full" (모두 1, function preserving) 또는 "uniform_around_one" (scale-corrected)
검증할 가설
- function preservation — adj_outer=full + adj_inner=full → standard Linear 와 forward 동치?
- gradient flow — adj_outer / adj_inner 둘 다 학습?
- 계층적 routing 의 효과 — outer 만 / inner 만 / 둘 다 의 비교
- paradigm consistency — Phase 9 group_full ≈ hybrid (adj_outer=full, adj_inner=full)?
범위 — Phase 12 = hybrid foundations
신규 모듈 — src/graphlm/neuron/graph_hybrid.py
HybridGraphLinear(in_features, out_features, group_size, adj_outer_init, adj_inner_init)
- weight: 4D block (G_out, G_in, k, k) — Phase 9 호환
- adj_outer: (G_out, G_in) — Phase 9 GroupGraphLinear 와 동일 위치
- adj_inner: (G_out, G_in, k, k) — Phase 10/11 채널 gate 의 block-organized 버전
- 0-init 거부 + magnitude rule (memory: feedback_no_zero_init.md)
테스트 — tests/neuron/test_graph_hybrid.py
- shape (4D weight, 2D adj_outer, 4D adj_inner)
- adj_outer + adj_inner 다양한 조합 init 검증
- function preservation 수학적 검증 (둘 다 full → standard Linear atol=1e-5)
- 0-init 거부 (adj_outer_init="zero" / adj_inner_init="zero" 모두 ValueError)
- gradient: weight + adj_outer + adj_inner 모두 grad 흐름
- in/out features 검증
데모 노트북 — notebooks/02-function-level/11-phase12-hybrid-graph-foundations.ipynb
- 4 × 2 sweep: arch × seed
- plain (baseline)
- hybrid_full_full (adj_outer=full, adj_inner=full)
- hybrid_identity_full (adj_outer=identity, adj_inner=full — Phase 9 group_identity 분석)
- hybrid_full_around_one (adj_outer=full, adj_inner=uniform_around_one — Phase 11 channel 의 hybrid 버전)
- Phase 9/10/11 baseline 직접 비교
- 학습된 adj_outer + adj_inner 시각화
- 자동 verdict 코드
완료 조건
Phase 13+ 계획
- Phase 13: Transformer 통합 (Q/K/V/O 모두 GraphLinear 또는 HybridGraphLinear)
- Phase 14: scale-up 정량 실험
- Phase 15+: real LM benchmark
참고
배경 — paradigm 의 ultimate 진입
Phase 11 (PR #64) 의 magnitude rule 입증으로 paradigm 안정성 확보. 이제 사용자 vision (히든 레이어 = graph) 의 ultimate 구조 = 계층적 hybrid 진입.
설계 — HybridGraphLinear
수식
effective edge weight (channel-pair) =
adj_outer[group(out), group(in)] · adj_inner[out, in] · W[out, in]자유도 (모두 0-init 금지 + magnitude rule 자동 적용)
adj_outer(G_out, G_in): group routing — coarse on/off"full"(모두 1) 또는"identity"(block-diagonal, n_groups_out==n_groups_in 만)adj_inner(G_out, G_in, k, k): channel routing — fine-grained"full"(모두 1, function preserving) 또는"uniform_around_one"(scale-corrected)검증할 가설
범위 — Phase 12 = hybrid foundations
신규 모듈 —
src/graphlm/neuron/graph_hybrid.pyHybridGraphLinear(in_features, out_features, group_size, adj_outer_init, adj_inner_init)테스트 —
tests/neuron/test_graph_hybrid.py데모 노트북 —
notebooks/02-function-level/11-phase12-hybrid-graph-foundations.ipynb완료 조건
HybridGraphLinear구현Phase 13+ 계획
참고