[Boostcamp AI Tech] [모델 최적화] 17주차 Day 5 학습 기록

bluegun·2021년 11월 26일
0

AI Tech 2기 활동

목록 보기
78/87

요약

무엇을 했나요?

  • 마스터님의 대회 조언을 보고 trial의 수와 epoch 수를 줄이고 hyperparameter를 고정하여, 모델 변화에 따른 차이만 두고 학습 진행중
  • 코드 분석 및 Optuna tutorial을 참고하며 해야 할 일 정리(DB 연동, Pruning 적용, Visualizing 적용, early stopping 적용)

무엇을 했나요?

Optuna 공부를 하면서 GPU를 놀게 둘 순 없으니 solution 코드로 학습을 돌렸다. 근데 문제점이, default로 trial 수가 500, trial 당 epoch 수가 50이었는데 이걸 그대로 돌리면 모든 trial을 완료하는 데 1주일 이상이 소요되고, 모든 trial을 완료해야 best_trial을 확인할 수 있는 구조여서 반드시 trial을 다 끝내야만 했다. 강의 중에 AutoML은 scalability 문제가 가장 크다고 했었는데, 직접 해보니 확실히 시간이 많이 필요해 이를 적절하게 해결할 수 있어야 했다.

그 와중에 마스터님께서 대회 진행을 위한 tip을 주셨는데, 일단 epoch을 줄이고 hyperparameter를 고정한 후 적은 학습시간으로 많은 trial을 해보고, 그 중 가능성 있는 결과만 모아 그 결과에 대해 전체 epoch으로 학습을 돌리는 게 시간을 절약할 수 있는 방법이라고 하셨다. 그래서 hyperparameter를 고정하고 epoch 수를 10까지 줄여 학습을 시도했고, 평균 한 trial에 10분정도 걸렸다.

이제 best trial을 저장할 수 있어야 했기 때문에 찾아본 결과, DB를 연동해야만 가능하다는 것을 알게 되었다. 다음 주 월요일에 DB 연동 강의가 있지만 학습에 걸리는 시간을 생각해 주말에 미리 해보는 게 좋을 것 같다.

그 외 Optuna를 공부하다보니 가망 없는 trial을 가지치기해주는 Pruning, optimize 완료 후 각 trial의 결과를 보여주는 visualizing, callback 함수를 활용해 중간에 optimize를 종료하는 early stopping 기법들에 대해 찾을 수 있었고, 남은 기간 동안 이를 구현하고 학습을 돌려 결과를 내는 것을 목표로 정하였다.

피어 세션

다른 팀원들도 나처럼 DB나 early stopping에 대해 고민하였었고, 다음 주 강의를 참고하려는 분도 계셨다.

최종 프로젝트 구현을 위해 클라이언트 개발 단에서 어느 정도까지의 기능을 수행할 지에 대해 얘기를 나눴고, 의논 결과 카메라 ON/OFF, 기능 ON/OFF 정도의 단순하지만 핵심적인 기능들을 확실히 구현하기로 하였다.

느낀 점

오랜만에 대회에 의욕을 제대로 느낀 한 주였던 것 같다. 진작 이랬으면 좋았을텐데...

baseline 코드를 보면서, 아직 여전히 이를 참조하지 않고 코드를 구현하기엔 많이 부족하다는 생각이 들었고, 다음 주가 끝날 땐 몸으로 습득하여 자유롭게 구사할 수 있었으면 좋겠다.

0개의 댓글