본문 바로가기
TIL

[23.03.28] Wandb와 ONNX

by rahites 2023. 3. 28.

# 꽃이 피는 봄 

 

1. Wandb

오늘 가장 먼저 한 일은 Transformer 코드 변환이었다. 이전에 X:AI에서 공부했던 Kor-Eng Transformer 코드를 Eng-Kor 형태로 바꾸는 것이었는데, Trainer 코드와 Embedding을 바꾸어 주는 것으로 문제를 해결하였다. 다음은 학습을 시킬 때 loss값을 Wandb로 찍어보고 싶어 이를 연동하는 것을 찾아 진행했다. Wandb는 작년 D&A Conference를 진행할 때 다뤄본 적이 있는데, 그때는 내 계정으로 진행하지 않았어서 어떤 식으로 작동하는 건지 잘 알지 못했다. 따라서 이번 기회에 디테일하게 찾아보았고 Wandb 회원가입과 터미널 로그인, Transformer의 Train 함수에 Log를 추가하는 것으로 연동을 완료하였다.

 

그렇게 완성한 코드를 백엔드 서버에서 돌아가게 돌려놓았고, Wandb에 연동하여 이렇게 돌리니까 백엔드에 다시 접속했을 때에는 보이지 않던 이전 Loss가 Wandb에 저장되어 확인할 수 있다는 장점이 있었다. 1 epoch에 12분 정도 걸려 이 글을 쓰는 현재 100 epoch 정도 돌아 갔는데, 추후 성능 테스트 해보고 금요일 회의 전에 Batch size와 파라미터를 수정해 성능을 더 높여 볼 생각이다.

 

2. ONNX

다음은 ONNX이다. 이는 학부연구생으로 현재 연구하고 있는 모바일 딥러닝 분야의 사전 연구로서 공부해 보았다. Pytorch 모델을 ONNX로 변환하는 샘플 코드를 중심으로 코드 분석과 이론적인 공부를 진행하였는데, 샘플 코드 자체는 그리 어렵지 않아서 하나하나 구글링 해가며 이론과 함께 공부했던 것 같다. 또한, 내일 교수님과의 미팅에 사용할 발표 자료를 만들면서 찾은 이미지들에 표현이 잘 되어있어 이해가 잘 되었던 것 같다. 

 

하지만 이론이 이해되었을 뿐, 실제 무거운 딥러닝 모델을 모바일에 넣는 데에는 많은 제약 조건이 있을거라 생각한다. 이에 곧 인턴일을 시작하게 되는데, 기존 모바일 코드를 보고 더 많은 공부가 필요할 것 같다.

'TIL' 카테고리의 다른 글

[23.03.29] Transformer와 추천시스템  (0) 2023.03.30
[23.03.27] AutoEncoder  (0) 2023.03.27
[23.03.26] 잔디와 추천시스템  (0) 2023.03.27

댓글