인공지능 in 네부캠 AI 4기/파이토치

Monitoring tools for PyTorch

제로타이 2022. 9. 29. 22:56

우리의 모델이 잘 학습하고 있는지, 어떤 상태인지를 확인하려면 앞서봤듯이 로그를 남기는 방법이 있을 것이다. 그러나 그렇게 긴 시간 동안 쌓이는 데이터를 시각화하고, 모니터링을 할 수 있도록 도와주는 툴들이 있다.
이번에 알아볼 것은 전통 강자인 텐서보드와, 신흥 주자로 떠오르는 weight & biases(이름 왜 이따구냐)가 있다.

해당 내용은 이러한 모니터링 툴에 대한 간략한 소개를 담고 있는데 이것도 결국 직접 쓰려면 알아서 공부하는 시간을 가질 필요가 있다. 그래서 나도 이런 것들이 있구나 하면서 넘어간지라, 자세하게 정리를 하지는 않았다.

텐서보드

두가지방법

텐서보드에 띄우는 방법 두가지. 두번째 방법으로 하면 6006포트로 연결이 된다고 한다. 첫번째 방법은 주피터나 코랩에서 바로 사용할 수 있는 방법이다.

첫번째 방법

파일 위치를 바꿔가면서 저장을 하면 매 학습마다 다른 위치에 로그가 남게 되고, 이를 텐서보드로 또 다양한 비교를 하면서 볼 수 있다.

히스토그램

add_histogram을 이용해 분포도 관찰할 수 있다.

이러한 목록들은 add_{images distributions histograms etc.}라는 방식으로 추가를 해줄 수 있다. 데이터를 넣었다면 꼭 flush()를 써서 텐서보드에 반영이 될 수 있도록 해주자.

그래프!

다양한 사용법이 있는데, 강의에서는 이런 정도로 쓸 수 있다는 것만을 알려주고 있다. 잘 다루려면 직접 더 공부하는 시간을 가질 필요가 있다.

weight & biases

MLOPS 도구로 쓰인다. 추가적인 기능을 사용하기 위해서는 비용을 지불해야 하는 상용도구. 이 도구는 깃처럼 쓸 수 있어서 협업이나 버전 관리, 결과 기록이 용이해서 최근에 많이쓰이고 있다. 

Home – Weights & Biases (wandb.ai)

 

Sign In with Auth0

Sign in with Microsoft Account

wandb.ai

여기에서 가입을 하고, 여기에서 생성되는 키로 로그인을 하면 된다..고 영상에서 봤는데 무슨 일인지 나는 잘 되지 않는다. 그래도 직접 만져보면서 느낌을 보고 싶었는데, 나중으로 미뤄야 할 듯.

config를 설정해주고, 로그를 남긴다. 이게 텐서보드의 add랑 비슷한 부류라고 할 수 있다. 하게 되면 해당 사이트에 들어가서 기록을 확인할 수 있는데, 이게 팀과의 공유가 가능해서 협업이 아주 유용하다.