[Boostcamp] 4주차 회고
Boostcamp AI Tech 7기 NLP Track - 4주차 회고
Main Events
매일 아침, 코딩테스트 문제 풀기 시작
- cue: 생각하는 구조 바로바로 구현하고 싶은데, 파이썬 실력이 부족하다고 느낌. 하지만 매 주 풀고 있는 코딩테스트 문제 양이 너무 적은 것 같아 지금 상태로는 코딩 실력 향상 힘들 것이라 생각함.
- did: 아침에 매일 2문제 이상씩 푸는 습관 생성 시작
- felt: 꾸준히 문제 푸는 것 자체는 뿌듯하지만, 기본적인 알고리즘에 대한 이해는 필요하겠다고 생각됨
- action plan: 사뒀던 ‘파이썬 알고리즘 인터뷰’ 책 기반으로, 기본 알고리즘들 빠르게 훑고 관련 Leet code 문제들 풀어볼 예정. 이후에는 ‘알고리즘 문제 해결 전략’ 책과 코테 문제풀이 (프로그래머스?) 병행할 계획.
(240826-27 월, 화) github 특강
- cue: 코딩을 하면서, github을 잘 쓰고 싶었지만 매 번 막막하게만 다가왔음. github 블로그 시작하면서 기본적인 commit 정도는 할 수 있게 됐지만, 협업 시 어떤 방식으로 써야 할지 막막하기도 했음. 마침 부스트캠프 측에서 github 사용법 전반에 대해 강의를 이틀간 준비했고, 해당 강의 수강함
- did: git과 github의 기본 작동 원리에 대해 이해함. head, main, branch, commit, reset 등의 개념 이해하게 됨. 강의 통해 git의 핵심 매커니즘 이해할 수 있었고, 대략적인 감은 생겼음.
- felt: 원래 github desktop을 썼는데, 매 번 vscode와 왔다갔다 하려니 귀찮았었다. vscode 자체에서만 git 다루는게 훨씬 편한 것 같아 github desktop은 지웠다.. 또 디테일한 작업 할 때에는 cli 명령어로 작업하는게 더 편하다는게 느껴졌다. 이런걸 편하게 느껴가는 내 모습이 신기하기도 하고, 앞으로 더 자유자재로 git을 다룰 수 있길 바란다.
- action plan: 앞으로 프로젝트 진행하면서 git 적극적으로 활용해보고, 많은 문제 상황들 해결하면서 git이랑 친해지기.
(240828 수) MLOps 스터디 미팅
- cue: MLOps 직군으로의 취업이라기 보다는, ML 서비스가 전체적으로 어떤 식으로 운영되는지 궁금했다. 직접 한번 해보면 좀 와닿을 것 같아서 부스트캠프 내에서 조직된 MLOps 스터디에 참가하기로 결정.
-
did: 부스트캠프 내에서 캠퍼들끼리 조직된 스터디. 지난 주는 가벼운 자기소개였고, 이번 주부터 본격적인 스터디가 진행됐다.
- 이론 공부 + 실습 + 개인 프로젝트를 우선 모두 하기로 얘기가 됐다. 메인 프로젝트에 방해 되지 않는 선에서 최대한으로 진행하되, 시간상 불가능할 것 같다 하면 스터디 load 줄일 예정임.
- 이론
- Machine Learning in Production 강의 들음(절반 정도) - 주말 전 끝낼 예정
- 해당 강의 통해 ML 활용한 Production이 어떤 식으로 운영되는지, 각 과정에서 신경써야 할 주요 내용은 뭔지 알 수 있었음. 다만 개괄하는 느낌이지, 디테일한 방식은 알기 힘들었음.
- 이에 Full Stack Deep Learning 강의 들으면서 디테일한 이론들 좀 더 보완하기로 함. 매 주 약 2~3강씩 들을 예정
- 실습
- 기본 커리큘럼에서 제공하는 방향 따라가기로 함.
- 우선 다음주까지 FastAPI의 기본 활용 방법을 익히고 실습 해오기로 함
- 개인 프로젝트
- 팀원 모두 실제로 ML 서비스를 적용해봐야 감이 잡힌다는 데에 동의해서, 각자 개인 프로젝트 하나씩 진행하기로 함. 각자 구상해온 아이디어 소개하는 시간 가짐.
- 내가 구상한 아이디어가 너무 광범위해서, 시간 내에 하기 힘들 수 있을 것 같다는 피드백 받음. 동의함. 이에 scope 정말 작게 줄여서, ML 서비스 운영의 관점에서 실습할 수 있도록 다시금 계획 세워볼 예정(주말 중). 이 프로젝트의 목표는 ML 모델링이 아니라, 서비스 운영임을 기억하자
- felt: 모델 공부가 더 우선이지 않을까, 하는 우선순위에 대한 고민이 있다. 당장 MLOps까지 공부하는게 욕심인가 싶기도 하다. 하지만 시간이야 항상 부족한거고, 시간 핑계로 지금 공부해보지 않으면 앞으로 계속 후회할 것 같아서 우선 해보려 한다. 다만 안그래도 어려운 여러 툴을 다루는데, 다루는 모델까지 방대하면 시간이 너무 많이 필요할 것 같아서, 모델 부분은 최대한 가볍게 가져가보려 한다.
- action plan: 다음주까지 FSDL 강의 듣고, FastAPI 실습 진행하기. 개인 프로젝트 기획서 구체적으로 작성해보기
(240829, 30 목, 금)NLP 기초 이론
- cue: LLM 모델을 이해하려 들면 항상 부족한 NLP 지식이 발목을 잡았다. ‘그냥 하니까 돌아가던데?’ 말고, 기본 구조를 제대로 이해하고 싶었다. 이런 면에서 NLP 기초 이론을 학습하고 싶었는데, 마침 부캠 측에서 2주간 NLP 기초 이론을 상세히 다룬다는 소식이..! 이번 주부터는 강의 들으면서, NLP를 모르는 사람에게 해당 이론을 설명할 수 있는 Level에서 이론을 공부하고, 직접 코드로 구현하면서 작동 방식을 디테일하게 뜯어보고 싶었다.
- did: tokenizer부터, GRU까지의 기본적인 NLP 모델 구조 학습함. 과제 통해서 BPE 방식 tokenizer와 RNN 모델을 구현했다.
- felt: 각 주요 이론이 등장하게 된 배경과 각 모델의 핵심 알고리즘을 직관적으로 파악할 수 있을 뿐 아니라, 수식적으로도 이해할 수 있었음. 강의 들으면서 기존에 모호했던 부분들을 정리할 수 있어 좋았고, 이해한 내용들을 내 언어로 다시금 정리해보고 싶어졌다. 한편, 코드로 모델 구현하면서 확실히 코드를 봐야, 전체적인 작동 흐름이 더 제대로 이해된다고 느꼈다.
- action plan: 주말 전까지 강의는 모두 들을 예정이다. 다음주는 이론들 보완하면서 정리하고, 코드로 직접 구현, 간단한 task에 적용해볼 예정
‘밑바닥부터 시작하는 딥러닝’ 시작
- cue: 딥러닝의 기초 용어와 기본적인 알고리즘을 여전히 잘 모른다고 느꼈다. 하지만 마냥 강의만 듣기에는 너무 지루하고..ㅎ 딥러닝을 바라보는 관점마다 다른 얘기들을 해서 오히려 더 혼란스러워지는 것 같았다. 또, 이게 어떻게 작동하는지 직접 봐야 알 것 같기도 하고. 그런 점에서 ‘밑바닥부터 시작하는 딥러닝’ 책을 선택했다.
- did: 책을 보면서 주요한 내용은 이해하고, 각 step별로 코드가 제시되면, 이 코드를 보기 전에 내가 직접 구현해보고, 책의 코드와 비교해보기를 반복하고 있다. 이를 통해 점점 딥러닝과 친해지고 있다!!
- felt: 빈 구멍이 많아서 그렇지, 이것저것 들은게 있어서 책 내용을 따라가는게 어렵지는 않다. 책 보면서 빠르게 기본 개념들 공부하고, 이후 NLP 모델 이해에 더 집중해보려 한다. 기초체력 쌓는 과정임
- action plan: 빠르게 끝내기. 이 책 본 이후에는, 이제 실제 모델 가져와서 학습시키는 경험 많이 해보기. 뭔가 아이디어 떠올랐을 때, 바로바로 적용해서 테스트해보고 싶은데 지금은 익숙하지 않아서 생각하고 고민하는 시간이 훨씬 길다. 많은 실습이 필요해..
피어세션에서 매일 아침, 나를 알아가는 시간 마련
- cue: 변성윤 님의 두런두런 강의에서 영감을 받아, 팀원들과 함께 매일 ‘나’를 이해하는 시간을 가지면 좋겠다고 생각했다. 나를 생각하는 시간을 의식적으로 가진다는 의미에 더해, 앞으로 진행될 프로젝트 전에 서로의 생각과 성향을 더 이해하면 좋지 않을까 하는 생각이었다
- did: 매일 아침, 질문을 선정해서 노션 페이지에 업로드했고, slack에도 해당 내용을 알렸다! 직접 노션에 들어가 페이지 찾는게 귀찮을 수 있으니(우선 나는 귀찮다..ㅎ) 페이지 링크도 매일 같이 slack에 업로드했다. 자신에 대한 얘기를 하는게 의무가 되면 안될 것 같아, 자율적으로 원할 때 참여하는 방향으로 정했는데, 팀원들이 모두 참여해주고 있다!! (짱)
- felt: 비슷하면서도 서로 다른 방향으로 답을 적는게 재미있다. 평소에 잘 하지 않는 꽤 진지한 질문들이 많은데, 진지하게 고민하고 답변해줘서 팀원들에게 고마운 마음도 든다. 그리고 다들 적어준 답변 봤을 때, 삶과 커리어에 대한 열정이 모두 느껴져서 긍정적인 에너지를 많이 받고 있다. 그리고 멘토님이 매일 이런 시간을 갖는걸 칭찬해주셔서 기쁘기도 했다.
- action plan: level 2 이후에는 팀이 바뀔텐데, 그 전까지는 매일 꾸준히 질문을 업로드하려 한다. 팀원들의 반응도 좋고, 모두에게 좋은 시간이라고 생각하기 때문:)
주간 회고
[+] Positive
- 단순히 코드가 돌아간다!에서 멈추는게 아니라, 좀 더 디테일한 구조들을 살펴본 것. 좀 더 공부해야겠지만, 우선 NLP 모델들이 작동하는 방식을 좀 더 이해하게 됐다
- 매일 꾸준히 코테 문제 푼 것.
- MLOps 강의(machine learning in production) 들은 것. 머신러닝을 이용한 서비스 배포의 전체적인 흐름과, 각 과정에서 유의해야 할 점들을 알 수 있었다.
- 매일 오늘의 질문 꾸준히 업로드했다!
[-] Negative
- 할 게 많다고 생각해서 조금 조급해졌던 한 주였던 것 같다. 좀 더 차분하게, 눈 앞에 있는걸 이해하는데 좀 더 집중해보자
- 하루하루 새로 배운 내용들 제대로 정리해두지 못한 점. 일단 이해가 먼저라고 생각해서 정리는 미뤄두고 있는데, 지식이 날아간다,,ㅎ 공부를 정리하는 시간을 한 두시간정도 매일 비워두자.
[!] To Try
- MLOps 전체 프로세스 돌려보기 위해, 간단한 ML 서비스를 기획해보자! 각 단계에서 어떤 툴을 왜, 써야 할 지 구체적으로 기획서 작성해보기
- 다음 피어세션 논문 리뷰에서 BERT 논문 리뷰를 맡기로 했다. 논문 읽기!
- 강의에서 다룬 주요 NLP 모델 구현하기
- 성윤님이 추천해주신 책 읽기: 함께 자라기 (김창준), 안티프래질 (나심 니콜라스 탈레브)
This post is licensed under CC BY 4.0 by the author.
Comments powered by Disqus.