콘텐츠로 이동

Source: report/version6/exp-expert/v6_0419_track_e_workload_estimate.md

FL Baseline Workload Estimate (D+0 실측)

1. 실측 환경

항목
GPU NVIDIA RTX 5070 Ti
Config 5-client (Apt6/15/30/51/88), R=1, E=5, batch=32
Seed 42
seq_len / pred_len 96 / 24
Data Umass HH split (train=5758, val≈817, test=1657 per HH)
MLflow experiment track-e-fl-baseline-bench

2. 1-round 실측 결과

Method 1-round (sec) 1-round (min) R=100 extrapolation (h)
B0 (Individual DLinear) 9.1 0.15 0.25
B1 (FedAvg) 7.5 0.13 0.21
FedRep 15.2 0.25 0.42
Ditto 18.7 0.31 0.52

실측 조건: 1 GPU, bf16, R=1, E=5, 5 clients. 각 값은 단일 run 시간 (seed=42).


3. 30min/run 가정 vs 실측 비교

track-e v3 §5.2에 기재된 pessimistic 가정 (FedRep/Ditto: 40min/run) 대비 실측:

Method 가정 (min/run) 실측 R=100 extrapolation (min) 실측/가정 비율
FedRep 40 25.3 63% (가정보다 37% 빠름)
Ditto 40 31.2 78% (가정보다 22% 빠름)
B1 (FedAvg) 30 12.5 42% (가정보다 58% 빠름)

결론: 모든 방법에서 실측 시간이 pessimistic 30~40min 가정보다 50% 이상 빠름.
±50% 임계값 기준 모두 "Optimistic path" 판정.


4. Tier 1a workload 재검증

track-e v3 §5.2 표 (pessimistic 30~40min 기반 ~30 GPU-hours) 재계산:

실험 셀 runs pessimistic 가정 (h) 실측 extrapolation 기반 (h)
B0 Individual 5 0.83 0.02
B1 FedAvg 5 2.50 0.10
P1 peak-weighted 5 2.50 ~0.10 (B1 동일 구조)
R1b vanilla VQ 5 2.50 ~0.10 (구조 유사)
y_vq=0 ablation 5 2.50 ~0.10
VQ-EMA 5 2.50 ~0.10
VQ-KMEANS 5 2.50 ~0.10
VQ-EMA+KMEANS 5 2.50 ~0.10
FedRep 5 3.33 0.35
Ditto 5 3.33 0.43
Dirichlet α=0.1 5 2.50 ~0.10
Dirichlet α=1.0 5 2.50 ~0.10
Dirichlet α=10.0 5 2.50 ~0.10
합계 65 ~30 h ~2 h

VQ 관련 실험은 FeDPM-Original 구조 (Conv + VQ) 사용으로 B1보다 더 오래 걸림.
track-d Exp6 실측 median 17min/run (R=100, M=256, D=64) 참고 시 VQ 셀은 ~1.4h/run × 5-seed = 7h.
최대 pessimistic 실측 기반 총합 ≈ 10~12 GPU-hours (원 30h 가정 대비 3분의 1 수준).


5. 결론 및 Tier 1a 확정 권고

  1. 30min/run 가정은 크게 보수적 — DLinear 기반 B0/B1/FedRep/Ditto는 R=100 extrapolation에서 모두 1h 미만.
  2. 실제 워크로드 제약 요인은 VQ 셀 — FeDPM 구조 실험(EMA/KMEANS/RESET)은 track-d Exp6 median 기반 약 14~18min/run 예상.
  3. Tier 1a 구조 동결 권고: 65 runs × pessimistic 18min = ~20 GPU-hours. D+1~D+6 총 144h 여유 내 충분히 수용 가능.
  4. FedRep/Ditto 축소 불필요: §5.4 축소 체크리스트 발동 조건 미충족. C5 초록 방어 유지.

6. 구현 산출물

파일 설명
src/fed_learning/fedrep.py FedRepDLinear 스켈레톤 (shared encoder + per-client head)
src/fed_learning/ditto.py DittoDLinear + ditto_personal_loss (λ=0.1)
experiments/federated/v7_0419_fl_baseline_benchmark.py 1-round 실측 스크립트
tests/test_fedrep.py FedRep 단위 테스트 13개 (all pass)
tests/test_ditto.py Ditto 단위 테스트 9개 (all pass)