Files
coorl-lost-cities/docs/research/optimization_sequencing.md
coolguyandClaude Opus 4.7 a899af4d7e Add librarian Stage 1 citation checker with ignore list
scripts/librarian_check_citations.py extracts file:line references from
inline-code spans across docs/**/*.md and verifies each path exists
(and, if cited with a line number, is within range). Skips
docs/archive/ and docs/plans/archive/ which are read-only by policy.

Caught one real drift in docs/research/optimization_sequencing.md: the
note pointed at docs/plans/amp_trainer.md, which had moved into
docs/plans/archive/.

scripts/librarian-ignore.txt holds fnmatch globs for citations that are
intentionally future-tense (planned files described in the plan docs
themselves). Used sparingly so the checker stays useful as a drift
signal.

Updates docs/plans/librarian.md Progress + Next Step. Next concrete
step is a thin scripts/librarian.sh orchestrator over both checkers.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 23:22:34 +09:00

66 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Optimization Sequencing
여러 최적화 lever 사이의 의존성과 권장 진행 순서. 시간 지나면서 update.
## Pending levers
| Lever | 어디서 nail되는지 | 현재 상태 |
| --- | --- | --- |
| **Model size growth** (hidden ≥ 1024 / layers ≥ 6) | `docs/plans/model_size_experiment.md` | 인프라 미설치 |
| **Option B** (per-worker interleaved traversal) | plan 미작성 | 미시작 |
| **AMP** trainer | `docs/plans/archive/amp_trainer.md` (구현 됨, default off) | 모델 키운 후 재측정 |
| **torch.compile** trainer | `docs/plans/torch_compile.md` | 모델 키운 후 재측정 |
| **TensorRT** inference | plan 미작성 | 모델 키운 + eval dense 시점 |
| **Option A re-enable** | 코드 있음 (default off) | 모델 키운 후 또는 Option B 후 |
| **Julia port** | `docs/research/julia_port_evaluation.md` | Torch.jl 결과 대기 중. Flux FAIL. |
## 의존성 그래프
```
Julia decision (Torch.jl pending)
├── PASS → port 작업 (큰 분기)
└── FAIL → Python/Cython 유지
Option B 인프라 작업
모델 크기 실험 (200 iter × 4 config)
┌────────────┼────────────┬─────────────┐
▼ ▼ ▼ ▼
AMP 재측정 compile TensorRT Option A
재측정 (eval-heavy) 재활성
```
## 권장 순서와 사유
**1. Julia 결정 확정 (지금 진행 중)** — Torch.jl criterion 4 결과 도착하면 Julia GO/NO-GO 자동 판정. 이게 "어떤 런타임 위에서 최적화하나"를 결정.
**2. 인프라 최적화 먼저, 모델 크기 실험 뒤에** — 핵심 원칙.
- 모델 크기 실험은 1회성 아님. 4 config × 200 iter = 800 iter의 한 번이 아니라 **여러 변수 바꾸면서 다회 재측정**.
- 인프라 1.3× 빨라지면 모든 미래 학습 실험에 복리 적용. 모델 크기 실험만의 누적 절약 + 그 후 ablation/seed 다중 실행 + selectivity 연구 등 전부 혜택.
- 거꾸로 가면 (모델 크기 → 최적화) 모델 크기 실험 다시 돌려야 할 때 기존 측정값이 인프라 다른 상태에서 나온 거라 비교 신뢰도 낮음.
**3. AMP/compile/TRT는 모델 키운 후** — 이건 doc 곳곳에 이미 박힘. 작은 모델에서 dispatch 오버헤드 > kernel 이득. `docs/performance.md` "Post-A Optimization Calculus" 참조.
**4. Option A 재활성은 옵션 B 또는 모델 키움 후**`docs/performance.md` "Option A Bench Result" 참조.
## 현재 진행 상태 (2026-05-07)
- ⏳ Julia Torch.jl criterion 4 측정 중
- ⏸ Option B: plan 미작성, Julia 결과 후
- ⏸ 모델 크기 실험 인프라: 미시작
- ✅ Cython 봇 (~2.55× on opponent_act)
- ✅ Option A 코드: 머지됨, default off
- ✅ AMP 코드: 머지됨, default off
## 결정 점들
언제 이 doc 다시 보는가:
- Torch.jl 결과 들어올 때 (Julia 트랙 closed/branched)
- Option B plan 작성 시점
- 모델 크기 실험 결과 받을 때 (downstream lever 4개 모두 trigger 결정)