Skip to content

[FEATURE] neuron Phase 12 — hierarchical hybrid graph hidden layer (outer group + inner channel) #65

Description

@juhy0987

배경 — 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)

검증할 가설

  1. function preservation — adj_outer=full + adj_inner=full → standard Linear 와 forward 동치?
  2. gradient flow — adj_outer / adj_inner 둘 다 학습?
  3. 계층적 routing 의 효과 — outer 만 / inner 만 / 둘 다 의 비교
  4. 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 코드

완료 조건

  • HybridGraphLinear 구현
  • function preservation 수학적 검증
  • 0-init 거부 검증
  • ≥7 신규 테스트 통과
  • 데모 노트북 + 4 arch sweep
  • PR 머지

Phase 13+ 계획

  • Phase 13: Transformer 통합 (Q/K/V/O 모두 GraphLinear 또는 HybridGraphLinear)
  • Phase 14: scale-up 정량 실험
  • Phase 15+: real LM benchmark

참고

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions