저는 grokking(모듈러 덧셈 mod 97, 트레인 스플릿 35%, 작은 MLP, 멤버 20개, 20k 스텝, 전체 배치)에 대해 학습률(learning rate)과 가중치 감쇠(weight decay)를 사용하여 Population Based Training (PBT)을 실행했습니다. 그리드 검색(grid search) 결과와 비교했을 때 (동일한 컴퓨팅 자원, 3개 시드): 가장 좋은 고정 셀은 317 ± 29 스텝 만에 95%의 검증 정확도(val acc)에 도달했습니다. PBT는 2667 ± 2244 스텝이 걸렸습니다. 모든 시드에서 PBT가 더 느렸지만, 그리드의 모서리 부분만으로 이미 정답을 포함하고 있었습니다.
데드 존 시작(dead-zone start) (lr 1e-4 ~ 1e-3, wd 0.01 ~ 0.08, 아무런 고정 설정도 grok하지 못하는 영역): 고정 방식은 3개 중 0/3, 느린 PBT는 0/3이었으나, 빠른 PBT (매 100 스텝마다 ×0.5/×2)는 약 6850 스텝에서 3/3을 달성했습니다. 그 경로는 다음과 같습니다: lr이 바닥까지 떨어지고, 그다음 wd가 천장까지 올라간 후, 다시 lr이 상승합니다. 검증 손실(Val loss)은 초기에 낮은 lr × wd를 보상하는데, 이는 grokking에 잘못된 방향이며, 나중에 부호가 반전됩니다.
제거 실험(Ablations): 무작위 기여자(random donor) 역시 탈출할 수 있지만, 시간이 더 걸립니다. 선택 과정이 없을 때, 멤버들은 grok하지만 결국 전체 집단은 이를 잃습니다. 10개 시드: 넓은 무작위 탐색(wide random search)은 중앙값 300 스텝 만에 95%를 달성했지만, 데드 존에서의 PBT는 6650 스텝이 걸렸습니다. PBT는 때때로 lr-바닥/wd-천장 모서리로 붕괴되어 영원히 벗어나지 못하는 경우도 있습니다.
재생(Replay): PBT를 사용하지 않은, 신규 초기화(fresh inits) 상태에서의 승리한 lr/wd 스케줄은 55/60이 95%에 도달했습니다. 스케줄의 기하 평균값으로 일정한 노브(Constant knobs at the schedule’s geometric mean): 0/60입니다. 이 결과는 가중치 복사(weight copying)가 아니라 스케줄 자체가 결과를 전달합니다.
결론: PBT는 속도 향상 도구가 아니라, 나쁜 범위에서 탈출하는 구조적 보조 도구입니다. 주의사항: 단일 작업, 단일 모델, 단일 분할에 대한 결과입니다. 테스트당 3개에서 10개의 시드를 사용했으며, p-값은 대부분 0.05보다 높았습니다. 재생된 스케줄들은 사후적으로(post-hoc) 찾아낸 승리자들입니다. PBT가 무작위 탐색을 능가해야 하는, 아예 grokking 영역이 없는 범위는 아직 테스트하지 않았습니다.
상호 작용 그래프가 포함된 상세 보고서: https://shauryasharma.tech/pbt-grokking.html 코드 및 모든 결과: https://github.com/Shaurya-34/grok-pbt /u/Virtual-Message-9739 님이 제출했습니다. [link] [comments]