개발자로 후회없는 삶 살기

네이버 부스트캠프 AI Tech 3주차 회고 본문

[AI]/[네이버 BoostCamp 회고]

네이버 부스트캠프 AI Tech 3주차 회고

몽이장쥰 2023. 11. 22. 08:38

서론

본격적으로 딥러닝을 파헤쳐보는 3주차 느낀점을 기록합니다.

 

본론

- 얕은 지식 부수기 🚨

[https://www.istockphoto.com]

딥러닝의 기본적이자 필수가 되는 원리를 배우며 제가 가지고 있던 지식을 검증하고 새로운 사실을 배우는 시간을 가졌습니다. 결정적으로, 제가 "그러려니~" 알고 있던 얕은 지식을 부수고 보다 디테일한 사실을 습득할 수 있었습니다. 부스트캠프가 정말로 전문가를 양성하는 과정임을 제대로 느끼는 시간이었습니다.

 

1) cnn의 모토는 깊이는 깊게 하면서 w를 줄여 일반화 성능을 높이는 것
2) w가 적을수록 성능이 좋아서 최신 트렌드는 앞 단의 conv를 깊게 쌓고 뒷단의 fc를 얕게 쌓는 것
3) w의 수를 줄이기 위해 1 by 1으로 채널을 줄일 수 있고 최신 모델들은 3, 5, 7 보다 큰 필터 사이즈를 쓰지 않았다는 것

특히 CNN에서 제가 정립해온 내용이 어느 정도는 사실이지만 디테일한 이유는 몰랐던 부분을 파악할 수 있었습니다. 위 3가지의 경우 부캠이 아니라면 이유를 궁금해하지도 않았을 것처럼 보이지만 딥러닝, CNN, 컴퓨터 비전의 역사와 백본 네트워크의 근간을 위한 중요한 포인트입니다.

 

 

- 파이토치의 디테일

배치 노말라이제이션과 드롭아웃은 훈련 때만 사용하고 테스트 때는 안 되는 데 동일한 모델을 사용하니 테스트 때도 레이어를 거치게 됩니다. 그러면 불필요한 메모리 낭비인데 어떻게 해야 할까요?

 

-> train(), eval() ✅

[파이토치 템플릿]

파이토치에서는 train(), eval()을 정의하여 동일한 모델이 훈련과 테스트에서 다르게 동작하도록 할 수 있습니다. 이를 통해 메모리를 아끼고 인퍼런스 속도를 향상 시킬 수 있습니다. 현재 마스터님 수업에서 TF를 쓰는 사람이 없다고 하시는 데 그 이유를 알 수 있을 만큼 파이토치의 편리함과 섬세함을 알 수 있을 것 같습니다.

 

-> 모든 것은 nn.Module로 ✅

[https://thebook.io/080289/0013/]

VIT 모델을 분석하면서 강의와 동일한 코드 구조에 놀라고 제 커스텀 CNN 모델과 학습 코드가 똑같아서 놀랐습니다. VIT 거창한 모델을 구현하면 학습 코드도 복잡할 거라 생각했는데 파이토치 프레임워크를 사용하면 동일한 학습 코드로 학습할 수 있었고 따라서 기본적인 규격을 정확히 이해해야 하는 것을 다시 한 번 느꼈습니다.

 

- AI 엔지니어로 꿈을 잡다

운 좋게 AI 엔지니어이신 멘토링과 매칭 되어서 제 진로에 대한 고민을 깊게 대화 나눌 수 있었고 그 과정에서 제가 오해하고 있던 부분을 분명히 짚어, 현재 제가 갈 방향을 명확하게 잡을 수 있었습니다.

 

-> 인퍼런스 서버는 파이썬? 자바? 🚨

[https://class101.net/ko/products/6236d0db3f4369000d0e14db]

위에 대한 질문은 모두 틀렸습니다. 인퍼런스 서버는 인퍼런스 노드로 만듭니다. ONNX와 TensorRt를 사용해서 인퍼런스 워커를 만들고 어플리케이션 서버에서 HTTP 호출하는 개념이었습니다. 저는 레벨 2부터 이쪽으로 강화하기 위해 노력할 것입니다.

 

[https://brunch.co.kr/@localmotive/6]

1주 차부터 임성빈 마스터님께 질문 들렸던 고민에 대한 답변으로 진로에 혼란을 느꼈는데, 덕분에 복잡했던 마음이 편해졌습니다. 이 또한 부스트캠프에 들어온 이유라고 생각합니다.

 

 

- 최성준 교수님의 마스터 클래스 🚨

이번 주도 역시 한 주의 깨달음과 고민을 마스터 클래스로 정리하는 것 같습니다. 세상은 호락 호락하지 않고 간절함과 잉여력을 수반하는 세상 속에서 남들보다 뛰어나다는 것은 무엇일지 항상 고민해 보는 것이 중요할 것 같습니다.

Comments