일지/네부캠 AI 4기(22.09.19~23.02.14)

20221129화-dkt12, 오프라인

제로타이 2022. 11. 30. 01:34

오프라인에 대하여

화요일은 우리 팀이 오프라인으로 모여서 협업을 진행하는 날이다. 
그래서 정리를 하면서 하기가 빡센 측면이 없잖아 있다. 일단 첫번째 애로사항은 바로 사용하는 기기의 문제. 집에서야 데스크톱을 쓰면 되지만(심지어 최근에 듀얼 모니터가 되어 더 쓰기 좋아졌다), 오프라인으로 할 경우 태블릿과 내가 처음 대학에 들어갔을 때 샀던 lg gram 초기 모델을 사용해야 한다. 태블릿으로 주력으로 쓰기에는 vscode나 하다못해 터미널이라도 사용할 수 있으면 좋으련만, 그게 안 된다. 주피터 환경으로 하려면? 주피터의 터미널은 아주 대단한 게 탭으로 자동완성도 안 되고, 그 단순한 위쪽화살표를 눌러 이전 명령어를 다시 치는 것조차 안 된다. 결국 노트북을 사용해야 하는 것인데, 노트북은 연식이 됐다 보니 엄청 느리다. 화면도 작고 안 쓴지 오래 돼서 손에도 잘 안 익는달까. 그럼 코드만 노트북으로 치고 나머지는 태블릿으로 하랴? 그렇게 하기에는 양쪽 기기를 만져야 하는 내 손이 너무 바쁘다. 그리고 키보드와 마우스가 내가 쓰는 것이 없어 타자를 치거나 화면을 통해 작업하는 게.. 정말 힘들다.
두번째 애로사항. 팀원과의 소통이 실시간으로, 풀타임으로 이뤄짐에 따라 나만의 시간을 두는 것이 힘들다. 다양한 이야기가 빠르게 오고가기도 하고, 구두로 전달되는 모든 이야기를 글로 적는 건 애초에 속기사 정도되는 것 아니면 힘든 일 아니냐.. 또한 정리는 결국 나만의 시간을 들여서 해야하기에 또 힘들기도 하다. 다만 이것은 정리를 하는 데에 있어서는 분명 제약이 되지만, 한편으로는 좋은 점이 정말 많다. 혼자 하는 작업의 비중은 줄어들지만 대신 다양한 이야기를 나누면서 아이디어가 많이 나오고 언어만을 통해 이뤄지던 커뮤니케이션이 더 효율적으로 이뤄지기 때문에 더 많은 것을 배울 수 있다. 인강을 듣는 것과 과외를 받는 것은 확연히 다르다는 것과 비슷한 이치렷다.
아무튼 결국 이러니 저러니 해도 집에서 하는 만큼의 일을 할 수는 없는 것이다. 최소한 공부와 작업을 하면서 정리까지 하는 것은 절대 무리다. 애초에 멀티태스킹에 취약한 나로서는 이 불편함을 다 감수하면서 해내는 것은 너무 무리한 과제인 듯하다. 그래서 오늘은 거의 포기하다시피 했다. 저번 주에는 어떻게 조금이라도 꾸역꾸역 시도라도 했었는데, 오늘은 시도도 안 했다. 팀과의 오프라인에서는 새로운 방식으로 공부하고 일을 하는 게 맞다고 생각이 들었기 때문이다.

what we did

그래도 무얼 어떤 순서로 진행했는지는 어느 정도 적어둘걸 그랬나 싶은 생각도 든다.
일단 생각나는 대로 무얼 했는지만 생각해보자. 다음부터는 이 정도는 적어두면서 하는 게 좋겠다. 

데일리스크럼 시간에는 간반에 있었던 것에 대한 간략한 공유가 있었다. 이후에 멘토님 과제를 대비해 다같이 모여서 시계열 모델을 공부하는 시간을 가졌다. 이때 이해가 가장 깊은 성훈이 형이 코드를 치면서 시계열 데이터가 토치의 시계열 모델에 어떤 형태로 들어가는지를 보여주었다. bidirectional 인자가 들어가니까 갑자기 엄청 어려워지더라.. 시간이 꽤나 소요되어 결국 전부 마치지는 못하고 점심을 먹으니 어느새 멘토링 시간!

멘토링 시간에는 일단 auc에 대한 이해를 위한 논의를 나눴다. 내가 팀원들에게 조금 더 잘 설명을 해줬어야 했는데 간단하게 내가 이해한 유튜브 정도만을 공유하는 것은 그다지 좋지 않은 선택이었던 것 같다. 차라리 내가 내용 이해를 더 해서 팀원들에게 설명하는 식으로 공유를 하는 게 분명 더 좋았다. 내가 공부한 것을 협업에 좋게 나누지 못한 내 불찰이 크다. 
이후에는 우리 프로젝트에서 인코더 뿐만 아니라 디코더까지 사용할 때 오히려 성능이 떨어지게 되는 것에 대한 논의를 했다. 이에 대해 멘토님은 riiid에서 쓰인 어텐션 모델이 있으면 그것 역시 인코더만 쓰는 형식일 것이라며 sakt paper로 검색하라는 조언을 주었다.
이후에 드디어 숙제에 대한 멘토링이 시작됐다. 우리의 숙제는 임베딩의 뜻과 뉘앙스 생각해오기, 어텐션 구조에서 QKV를 임베딩의 관점에서 이해해보기, 포지셔녈 인코딩의 방식을 알아오기였다. 이걸 얼추 정리하려다가, 머리에 다 안 들어가서 중간부터는 거의 포기. 선형대수학적인 이야기가 들어갈 때 나는 이해도가 너무 얕아 다양한 해석들을 곧이곧대로 받아들이지 못 했다. 상준이가 노션에 잘 정리해둔 것을 참고하는 것이 도움이 되는 듯..

멘토링이 끝난 이후에는 깃 브랜치를 정리하는 작업을 진행했다. 부스팅 모델을 각자 만지면서 작업을 했는데, 저마다 만진 부위가 조금씩 달라서 이를 통합하는 과정이 필요했다. 그리고 통합을 이루면서 조금 더 깃을 체계적으로 쓰기 위해 조금 더 깃 컨벤션을 정했다. 이 작업이 마무리되고 나서 고양이 만지는 업무를 조금 나누고, 계획을 세웠다. 
leakage가 묵인되는 이상 철저하게 써보자! interaction 컬럼을 늘려보자! 피쳐 중요도를 고려해보자! 등의 태스크를 저마다 가지고 진행했다. 그러다가 전번에 성훈이 형이 트레이너로서 나를 부려서 최고 지표를 냈던 값을 다시 내려는 게 잘 안 돼서 그것을 만지면서 결국 오늘 공부 끝!

상준이가 그때 냈던 것을 바탕으로 돌려봤는데 그때의 점수가 나오지 않는다 하여 내가 마침 혹시 몰라 저장해뒀던 당시의 코드를 바탕으로 다시 내보니까, 이번엔 결과가 더 좋아졌다..?
무슨 상황인지는 명확하게 파악이 안 되는데, 아무튼 분류 문제임에도 회귀로 접근하는 것이 좋다는 결론에 도달했다. auc이기에 당연하기도 한 것 같은데, 손실 함수를 바꾸는 것도 큰 영향을 주는 것 같기도 하다. 오히려 손실함수를 다양하게 가져가면서 테스트를 해보는 것도 좋은 시도가 될 것 같다. 

회고 및 다짐

모든 게 마냥 계획대로 되지는 않았다. 멘토링 시작 전에 시계열 모델에 대해 완전히 공부를 끝마치지는 못 했고, 원래 오프라인 때 진행하기로 했던 CS 스터디는 내일로 미뤄졌다. PM 이행식도 하지 못 했다! 
뭐, 그래도 놓친 것 만큼이나 많은 소득을 얻었다고도 생각한다. 또 간혹 막힐 때 혼자 하다 보면 멍 때리거나 딴 짓을 하게 되는 경우도 왕왕 있는데 함께 있다보니 그런 게 절대 없었다. 그럴 생각이 애초에 들지를 않는다. 느려도, 확실하게 무언가 진행되고 있다는 느낌. 앞으로도 이런 식으로 됐으면 하는 바람이다!

'일지 > 네부캠 AI 4기(22.09.19~23.02.14)' 카테고리의 다른 글

20221201목-dkt14  (0) 2022.12.02
20221130수-dkt13  (0) 2022.12.01
20221128월-dkt11  (0) 2022.11.29
20221127일-라이트닝1~2, 밑러닝14~19, 리트코드  (2) 2022.11.27
20221125금-dkt10,스미5  (0) 2022.11.26