부스트캠프 AI Tech 주간학습정리 - week2

lijm1358·2023년 3월 17일

새로 학습한 내용

  • Tensor관련 여러 연산들
  • PyTorch hook, apply
  • Multi GPU 환경에서의 학습(DataParallel, DistributedDataParallel)
  • PyTorch 프로젝트 템플릿
  • wandb, ray, gpuutil과 같은 도구들

고민 및 정리 내용

회고

2주차 학습

PyTorch의 Tensor연산, 학습 방법, Dataset/DataLoader, 다중 GPU 환경 학습, 하이퍼파라미터 튜닝 등 PyTorch와 관련된 전반적인 내용을 배웠다.

Tensor 연산은 몰랐던 여러 연산이 있었고, 특정 연산이나 함수가 기억나지 않을 때 공식 문서를 어떻게 봐야 할 지 알 수 있었다.

이전에 DataParallel, DistributedDataParallel과 관련해 type hinting관련으로 개인적으로 작업한 적이 있었는데, 그 당시에는 이 두 클래스가 무슨 역할을 하는 지 몰랐었지만, 이번에 Multi GPU환경에서 사용된다는 것을 배울 수 있었다. 이후 여건이 된다면 GCP 등에서 multi gpu환경 instance를 만들어 직접 사용해 볼 예정이다.

또한, wandb, ray와 같은 이름만 알고 있던 도구들에 대해서 알 수 있었고, 추후 프로젝트에 활용할 수 있도록 더 공부할 예정이다.

이번 주차는 강의와 과제를 빨리 끝내는 바람에 목요일 쯤 부터는 코어타임 때 공부를 제대로 하지 않은 것 같다. 3주차부터는 다시 열심히 해야겠다고 마음을 다잡야야겠다.

피어 세션

2주차부터 AI 분야 관련 기술면접 질문 중, 몇 가지를 정해 매일 답변을 해보는 시간을 가졌다. 처음 질문을 봤을 때는 대략적으로만 알던 내용들을 질문을 대답하기 위해 여러 자료를 찾아보니 훨씬 더 공부가 되는 좋은 활동이었다.
다만, 진행 방식에 있어서는 다르게 진행했으면 좋겠다는 말이 나와 3주차부터는 각자 돌아가면서 한 질문에 대해 답변하고, 나머지 팀원들이 해당 답변에 의견을 덧붙이는 식으로 진행하기로 결정했다.
(그리고 2주차가 되니 팀원들과 더 친해져서 좋았다)

멘토링

이번 시간에는 수학적 관점으로 딥러닝의 여러 부분을 어떻게 보는지 설명해주셨다. 특히, parameter를 통계론적 관점에 대해서 설명하시고, 데이터와 가중치가 왜 vector로 표현되며 그 계산은 matrix를 쓰는지 설명해 주셔서 좀 더 수학적인 내용에 대해 고찰해 볼 수 있었다.
다음 주에 멘토님께서 직접 논문 리딩을 하실 예정이어서 그 이후로 내가 논문 읽는 데에 많은 도움이 될 것이라고 기대하고 있다.
논문 읽기 전, 다른 사람의 논문 리뷰를 본 다음 논문을 읽는 것을 권장하셨는데, 지난 주차 마스터클래스 내용과 상반되어서 좀 놀랐다. 아마 여러 방법을 시도해보면서 나한테 잘 맞다고 생각하는 방법을 선택하는 것이 중요할 것이다.

마스터클래스

최성철 마스터님께서 진행해주셨다. 저번 주가 수학과 관련한 이야기였다면, 이번주는 코딩 쪽과 관련한 이야기었던 것 같다. 최근에는 이미 높은 성능을 달성한 모델이 많아 새로운 모델을 연구하고 개발하는 것은 소수의 전문가가 이끌어나가고, 현업에서 AI 분야 일을 한다면 단순히 모델 구현이나 사용을 넘어서, 네트워크, 데이터 처리, 클라우드 등 다양한 분야에 발을 걸쳐야 한다고 설명하셨다.
나 또한 논문 읽기, 모델 구현과 더불어 네트워크 부분, SQL, Docker/k8s 등을 공부해야 되겠다고 느낄 수 있는 시간이었다.

앞으로의 계획 및 고칠 점

  • 나태해질 때 마다 1주차 때의 열정을 떠올리기
  • 아직은 논문 읽기가 많이 부족하니, 1주일에 한번 정도만 읽기
  • 주말에 놀지만 말기...
profile
ML, DL 공부중

0개의 댓글