콘텐츠로 이동

ADR-008: v7 → v8 전환 (VQ Methodology Rescue via track-e v3 Integration)

상태: Approved (2026-04-20)

맥락

v7 단계 0.5 smoke (3 cells × 3 seeds = 9 runs) + 진단 ablation 4 cells (A1/A2/A4/V1~V3) 수행 후 다음 구조적 결함 확정:

  • v7 A3 "full proposed": PAPE 54.3~55.6 (v6 R1b 동일 구조 38.40 대비 16pp 격차)
  • VQ 포함 cell 전부 발산 패턴: A2(56.2) / A3(54.3~55.6) / A4(57.9) / V1(53.9) / V2(54.2) / V3(53.4) — 모두 B0 baseline(52.3) 보다 PAPE 악화
  • VQ 미포함 A1: PAPE 47.1 (v6 R1b 수준 근접, 초록 9.8% claim 근사)
  • 원인 확정: v7_runner가 src/fed_learning/fedpm.pyVectorQuantizer (line 48) 만 import, MemoryAlignmentServer (line 350) + RESET dead-code replacement 2 기법 미연결

track-e v3 계획 (2026-04-19 superseded) 에 이 기법들이 명시되어 있었으나 v7 흡수 시 EMA/K-means (V1/V2/V3) 부분만 scaffold 되고 핵심 2 기법은 미구현.

FedPM 논문 ablation (exp-expert memory fedpm_paper_util_numbers.md): - "w/ Average" aggregation 대체: −7.18% MAE 악화 - "w/ Local Memory" (server 정렬 없음, v7 현 상태): −9.34% MAE 악화

결정

v8 = VQ Methodology Rescue Phase. v7 infrastructure (단계 0 사전 등록, v7_runner, smoke_analysis, 155+ tests, Gate 1~6, 공용 모듈) 은 그대로 유지. v8 은 track-e v3 의 미실시 2 기법을 v7_runner 에 통합하여 A3 VQ 발산을 해결하고 초록 claim C3/C5/C6 복원을 목표로 함.

범위: 코드 2 기법 통합 + 신규 cell V4/V5 + 5-seed 통계 검증 + design spec/TODO update.

우선순위: 속도 + 정확성. 발표자료 마감 기준.

v7 과의 관계: - v7 = clean restart phase (ADR-007) 로 완료 상태 유지 - v8 = v7 위에 VQ 기법 layer 추가 (새 branch 아님, 같은 v7-planning 에서 계속) - 실패 시: 원인 분석 + VQ 방법론 자체 재설계 (파라미터 튜닝 금지)

v7 에서 계승

  • 단계 0 사전 등록: Golden tensor G1~G5, definition_hash 8be2bd2f691deed0, Apt_max_load=Apt88, fail-fast threshold
  • v7_runner.py: CLI + CELL_REGISTRY 12종 + MLflow 로깅 + Gate 1 assertion
  • 공용 모듈: src/peak_analysis/v7/metrics.py
  • smoke infrastructure: v7_stage05_smoke_analysis.py + 6 Gates + rel_decrease 측정
  • 155+ tests 전부 유지
  • 9-run smoke MLflow 데이터: v8 개선 전/후 비교 baseline

v8 신규 사항

  1. CELL_REGISTRY 확장:
  2. V4: A3 + MemoryAlignmentServer (γ=0.95, δ=0.6) — server-side codebook 정렬
  3. V5: A3 + MemoryAlignmentServer + RESET (SoundStream dead-code replacement, threshold=2)
  4. CellSpec 확장: vq_alignment: bool, vq_reset: bool 필드
  5. RESET wrapper: VectorQuantizerWithReset(VectorQuantizer) subclass in v7_runner.py (v6 파일 수정 금지)
  6. MLflow 신규 metric: codebook_alignment_sim_mean, codebook_n_components per-round
  7. design spec §3 단계 4 V4/V5 추가, 단계 4 workload 15→25 runs (~5.5h → ~9h)

실패 시 프로토콜 (user 지정)

V4/V5 검증에서 PAPE ≥ 50 (A1 수준 도달 실패) 시: - 파라미터 튜닝 금지 (γ, δ, dead_threshold 조정 등으로 우회하지 않는다) - 원인 분석 + VQ 방법론 재설계: 가능 옵션 - (a) Gumbel-softmax VQ (soft → hard) - (b) Product Quantization (PQ) - (c) RQ-VAE (Residual VQ) - (d) VQ 대체: shared linear adapter / low-rank projection - exp-expert 가 원인 분석 후 대안 선정 → 새 cycle 시작

근거

  • v6 R1b 증거: 같은 구조로 PAPE 38.40 달성 → 구현 결함이 원인 (설계 결함 아님)
  • FedPM 논문 ablation: "w/ Average" / "w/ Local Memory" 각 7.18% / 9.34% 악화 → server 정렬 복원 시 이론적 개선폭 커버
  • track-e v3 는 계획만 있고 미실시 상태로 아카이브됨. v8 이 계획을 실제 실행으로 전환

진행 현황

  • v7 → v8 결정 (2026-04-20)
  • docs/reference/project_state/track_v8_vq_rescue.md 작성
  • todos/track-v8_vq_rescue.md 작성
  • docs/reference/project_state/track_e_vq_codebook_research.md status 갱신 (partially-adopted-into-v8)
  • engineer: V4/V5 + alignment + RESET 통합
  • V4/V5 1-seed 검증 smoke
  • Stage 1 진입 판단 (PAPE 기준)
  • 5-seed 통계 검증

미결 사항

  • V4/V5 실패 시 VQ 방법론 재설계 옵션 중 어느 것을 선택할지 → 실패 시점에 exp-expert가 결정
  • 단계 4 workload 25 runs 확정 시 발표자료 마감 (D+3~4) 재확인 필요