토치의 호흡: RISE OF TORCH

그는사악해·2023년 1월 4일
2

Torch's Breath

목록 보기
1/13
post-thumbnail

Updated 2023.03.10: Torch's Breath on Github

INTRO

2022년 이어드림과정에서 LM으로서, 수강생분들의 Pytorch의 Basic Flow를 익히는 데 도움을 줄 수 있도록, '토치의 호흡'을 운영했다. 그 때 당시에 필자 스스로도 공부를 많이 했다. 수강생분들에게 최대한 정확하고 많은 것을 알려드리기 위해서 말이다. 이제는 그 내용들을 내 기술블로그에 '토치의 호흡' 시리즈로 이제 출간하려고 한다. Pytorch에 허우적대는 영혼들을 위해 작은 도움을 드리고자 이렇게 소소한 시리즈로 남겨보려고 한다.

이어드림2기 근무 마지막날, '트랜스포머 오픈 특강'을 진행하였다. 다소 부족한 면들이 있지만, 그래도 수강생분들의 만족도가 내 생각보다 많이 높아서 아직도 감사해하고 있다. 그래서 이번 '토치의 호흡' 시리즈에 트랜스포머에 관한 내용도 넣을 것이다.

탄생배경

: 탄생 배경은 이어드림 수강생분들과 운영진분들은 아실 것이다. 굳이 쓰지 않겠다. 하지만, 토치의 호흡 덕분에 Pytorch에 대한 공부가 많이 되었고 방황하는 수강생분들에게 작게나마 도움을 줄 수 있었던 것 같다.

  • TMI: 당시 Slack에서 나 스스로를 '토치의 호흡 창시자'라고 불렀었다.
  • 네이밍: PYTORCH + 귀멸의 칼날
  • Kaggler 'Debarshi Chanda' Code를 많이 보고 공부
    • Kaggle Competition에서 Debarshi Chanda 님의 코드를 보고 코드필사를 많이 하며 공부를 했다.
    • 그래서 현재 토치의 호흡 코드들은 Debarshi Chanda 님의 코드 Flow와 많이 비슷할 것이다.
    • Debarshi Chanda 님의 코드는 상당히 이해하기 쉽고 원한다면, wandb 연동도 쉽게 할 수 있다.

주의사항

  1. 아직 필자도 Pytorch에 대해서 엄청 자세히 알지는 못 한다.
    • Engineer 레벨의 코드는 아직 모른다. (아직 풋내기이다.)
    • 토치의 호흡은 철저히 Basic Flow를 익히는 데 초점이 맞춰져있다.
  2. Transformer: Attention is all you need
    • 위에서도 말했듯이, 이 내용도 담을 것이다.
    • 코드 구현 중신의 내용으로 올릴 것이지만, 일단 기대는 하지 말자.
  3. 실습환경: 아래 둘 중 하나의 환경에서는 돌아가게 되어있다.
    • COLAB
    • JUPYTER NOTEBOOK(.ipynb) - M1에서 돌아가는 .ipynb 파일
      • 아마 둘의 차이점은 device에 있을 것이다.
      ## Colab
      device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
       
      ## M1
      device = torch.device("mps") if torch.backends.mps.is_available() else torch.device("cpu")
  4. 설명
    • Pytorch의 Basic Flow 위주로 작성할 것이다.
      • Pytorch Code의 흐름을 익히고 파악하는 데 주 목적
        : 타인의 코드를 봤을 때에도 이해 가능하도록 해야하는데, 이게 처음에 쉽지 않다. 이것을 가능하도록 하는 데 도움을 주려는 것이 목적.
    • 상세하지는 않을 것이다.
      • 상세하게 하면 너무 길어져서 최대한 설명을 자제하려고 한다.
      • 어느 정도의 딥러닝 관련 기본개념은 알고 있다는 것을 전제로 한다.

아직 많이 부족하다.

: 혹시라도 잘못된 부분이 있다면 꼭 알려줬으면 한다.

profile
데이터를 베어라

0개의 댓글