---
tags: '멘토링'
---
211006 멘토링
===
사전 질문
---
멘토링 진행 과정
---
- 현재 진행방향은?
- 역할분담
- 코드리팩토링
- 파이토치 라이트닝 시도
- AEDA 시도
- RBERT를 이용하여 Entity 토큰 모델 생성
- LSTM 모델 추가
- zero-shot으로 시도해 보았는가?
- 대회 데이터셋을 학습하지 않은 pre-trained 모델을 그대로 불러와서 사용해 보았는가?
- 이러한 방식으로 base line을 정해보는 것도 좋다
- Test 데이터셋에 대해서 어떻게 성능을 높이는가?
- 그러게 말입니다...
- Data Augmentation 적용
- KoEDA, AEDA 사용
- 석민님의 sub obj entity 활용한 Augmentation
- 마지막에 어떻게 모두가 한 것을 잘 조화롭게 합치기 위해서 해야할 것들은 무엇이 있나요?
- 체감상 시간이 이전 p-stage보다 더 촉박한 느낌
- 당연히 성능 기준으로 우선순위를 정하라
- Layer 구성, Augmentation, 학습 방법, hyper parameter 최적화 등
- 팀 레포트 작성 팁
- 템플릿은 상관이 없다
- 기록으로 남겼을 때 유의미하고 가치가 있으려면, "실험의 양"이 중요하다
- 이것이 가장 중요하고 성능이 좋았다는 것을 증명해야 함
- 결과가 좋지 않더라도 어떤 실험을 해서 결과가 좋지 않았는지를 기록해야 한다
- 시도를 하기 전, 문제를 정의하고 왜 시도를 했는지에 대한 내용을 언급하고 시작하는 것도 할 수 있다면 좋다
- hyper parameter 최적화
- greedy search
- random search
- 베이지안 optimization(BO)
- package나 tool 사용 권장
- bohb(?), bo, hyper band
- hyper band => 리소스 최적화
- Ray의 하이퍼파라미터 최적화를 찾아보자
- 산업에서 Ray는 필수적이니까 꼭 공부해보자
- ray - GPU 병렬 최적화
- lr, batch size, loss function 종류 등은 공통적으로 고려하는 편
- seed, warmup_step, weight_decay, gradient_accumulation_steps, 배치사이즈를 썼다.
- 저번 코드리뷰는 어떠한가?
- 멘토님은 AI를 왜 선택하셨을까요?
- 전공은 컴공.. BE, FE, Server, Network 등을 다 제외하고 AI를 왜 선택했을까
- 학부생때 머신러닝 과목 하나만 있었음
- 취준하면서 갑자기 업계가 뜨면서 혹한 것이 크다
- 애초에 흥미도 있었다
- 좋아하는 일과 돈이 되는 일의 사이의 고민
- AI 업계는 그래도 아직 정형화 되어 있지 않은 것 같다
- 비교적 하고 싶은 일을 연구하고 개발 할 수 있지 않나..
- 좋아하는 족으로 찾아 갈 수 있을 수도 있다
- 학습시간이 오래걸릴 때, 어떻게 일 해야 하는가?
- 기본적으로 학습시간을 줄이기 위한 기본은 "병렬처리"
- "병렬학습" => "분산학습"(?)이랑 같은건가?
- GPU resource가 많이 필요하고, task를 잘 할당하는 것
- 한 바퀴가 정상적으로 동작하는지를 먼저 확인하고 나서 전체 Data를 돌려야 한다
- 작은 사이즈의 toy 예제를 돌려보면서 base line을 구축하는 것
- 방법을 보고 분석하는 것은 시간이 오래걸리니까, 생각한 모든 방법을 돌리고 나서 결과를 한꺼번에 보면서 정리하는 것도 좋다
동규님 정리
---
프로젝트 기록을 잘 남기는 방법
- 많은 실험량이 보이는 레포트는 신뢰도가 높다. 다양한 실험을 시도했음과 그에 대한 결과 분석, 프로젝트 수행과정을 잘 보여주는 것이 레포트의 신뢰도에 많은 영향을 미친다.
- 실험 계획 설정에 대한 근거를 달아주는 것. ⇒ Sota 모델의 방법론들을 따라했음. 논문에서 제시한 근거를 설명해주면서 근거를 달면 될듯.
- 하이퍼파라미터 서치 마지막 시도 좋은 선택일수 있음.
Ray, BOHB (BO + 하이퍼밴드), BO, scheduler, 하이퍼밴드 (⇒ resource를 효율적으로 쓸 수 있게 해주는 애) => (뭔지는 잘 모름...)
- GP - 오래걸리지만 좀 더 정확한 결과를 제공
- TP 라는 것도 있다고 함.
- 어쩔수 없지만 random search가 더 유용할때도 있다. search space가 굉장히 큰 경우.
- 일반적으로 시도해보는 하이퍼파라미터 유형: Learning rate, Batch size , Weight decay, Optimizer 종류, Loss function
+ Ray는 현업에서도 정말 많이 씀.
+ Ray 공부 방법 ⇒ 멘토님은 공홈 정독하셨다고함.
+ 병렬화 성능을 높이는 것의 중요성은 아무리 강조해도 부족하지 않다!