일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 네이버커넥트재단
- 인공지능 그랜드 챌린지
- 머신러닝
- Lr Scheduler
- VAD
- ai
- 부스트캠프ai
- 음성인식
- Cosine annealing
- deep learning
- aitech
- Machine Learning
- End-To-End
- Learning rate Scheduler
- 인공지능
- 딥러닝
- 부스트캠프
- Today
- Total
목록Machine Learning (7)
AI4NLP

한빛미디어의 도서체험단 리뷰 도서로 받아서 리뷰를 하게 되었다. 아무래도 고등학교 내내 배우는 확률은 빈도주의 기반이다보니 베이지안을 공부해야할 때가 왔을 때, 많은 사람들이 어려움을 겪곤 한다. 이 책은 제목대로 파이썬을 활용해서 다루기 때문에 당연 핸즈온 스타일로 구성되어 있다. 이러한 점은 장점도 있고, 단점도 있는데.. 장점이라면, 유로문제(Euro problem) 등과 같은 문제들을 다룰 때, 계산의 어려움을 적게 겪을 수 있다는 점과, 핸즈온 스타일이기 때문에 책을 보면서 쉽게 따라할 수 있다는 것이다. 단점이라면, 직접 하나하나 따라서 손으로 계산하면서 하는 것도 필요할 때가 있는데, 코드로만 하다보면 그런 부분들을 놓칠 수 있다는 점이다. 하지만, 이런 부분들은 파이썬 핸즈온과는 별개로 손..

1. 시작 해당 논문은 ACL 2021에 long paper로 accept된 논문입니다. GPT에서 제시하였던 prompt tuning 방식은 기존 BERT와 같은 pretrain model에서 fine tuning하는 방식과는 다른, 하지만 더 높은 few-shot performance를 보여주며 주목을 받았던 바 있다. 기존 논문들에서는 prompt-based fine-tuning을 위해 prompt(template,label word)와 demonstration을 수동으로 작성해주었다. 하지만, 이렇게 수동으로 직접 prompt와 demonstration을 작성해야한다는 것은 fine-tuning하고자 하는 task의 domain 지식과 많은 시간들을 요구한다는 단점이 있었다. 해당 논문에서는 pr..
Slurm는 리눅스에서 사용하는 클러스터 관리 및 작업 스케쥴링 (job scheduling) 시스템이다. 회사에서 GPU 클러스터를 구입하면서 Slurm 설정을 하다가 DSNG 시스템에서 도움 받아.. 막힌 부분들을 반영해서 작성한 글이다. 아래처럼 따라하며 설정했을 때에 글쓴이의 클러스터에서는 아무 문제 없이 잘 작동했었다. 우선 Slurm을 사용하기 위해서는 인증 오픈SW인 munge를 설치해야 한다. $ export MUNGEUSER=991 $ groupadd -g $MUNGEUSER munge $ useradd -m -c "MUNGE Uid 'N' Gid Emporium" -d /var/lib/munge -u $MUNGEUSER -g munge -s /sbin/nologin munge 그 후에 ..

Cosine annealing은 "SGDR: Stochastic Gradient Descent with Warm Restarts"에서 제안되었던 학습율 스케쥴러로서, 학습율의 최대값과 최소값을 정해서 그 범위의 학습율을 코싸인 함수를 이용하여 스케쥴링하는 방법이다. Cosine anneaing의 이점은 최대값과 최소값 사이에서 코싸인 함수를 이용하여 급격히 증가시켰다가 급격히 감소시키 때문에 모델의 매니폴드 공간의 안장(saddle point)를 빠르게 벗어날 수 있으며([그림 1] 참조), 학습 중간에 생기는 정체 구간들 또한 빠르게 벗어날 수 있도록 한다. 결과적으로 이러한 방법이 모델의 일반화 성능을 극대화시켜준다. 논문의 실험 결과에 따르면 Cosine annealing을 이용하여 학습한 wide..

이번에 OpenAI에서 발표한 Language Models are Few-Shot Learners, 통칭 GPT-3 Paper를 읽어보았다. 논문이 상당히 길어서 읽기 힘들까 걱정되었지만, 기술적인 내용보다는 모델에 대한 insight에 대해 많이 다루는 편이어서 쉽게 읽혔다. 거대한 모델을 다루는 것에 대한 insight를 얻고 싶었지만, 그에 대한 내용은 상대적으로 적어서 아쉬웠었다. 이번 포스팅은 논문에 대한 재정리라기보단 논문 내용 요약이라고 보는 것이 타당할 것 같다. 1. Introduction Fine tuning 기반의 방법들은 다음과 같은 단점이 있다. 1. 매번 새로운 task를 풀때마다 많은 레이블 데이터가 필요하다. 2. Fine tuning 기반의 방법들은 사전학습 중에는 다량의 ..
이번 포스팅에서는 추천 시스템의 기본이 되는 Collaborative filtering에 대해 기존에 작성했던 코드를 기반으로 다뤄보려고 합니다. Collaborative filtering은 축적해놓은 데이터 (memory)를 이용하기 때문에 memory based method의 한 종류로 분류됩니다. Collaborative filtering의 간단한 Pipeline은 아래와 같습니다. 과거 사용자의 평가를 훈련데이터로 사용합니다. 훈련 데이터의 결측값을 메꾸고, 적절한 행렬로 바꿔줍니다. 쿼리(신규 사용자)에 대해 훈련데이터와 Knn 알고리즘을 이용, 쿼리와 비슷하다고 판단되는 사용자 그룹을 추출합니다. 추출된 사용자 그룹들의 값(Knn 결과물)을 토대로 점수를 예측합니다. 협업 필터링(Collabo..
딥러닝, 머신러닝을 사용할 때에 Model이나 Optimizer에는 많은 신경을 쓰지만 Lr Scheduler에는 많은 신경을 쓰지 않는 경우가 많습니다. (제가 그랬습니다...ㅠㅠ) 실제 학습을 할 때에 어떤 Lr Scheduler를 고르느냐, Lr Scheduler의 Hyperparameter로 어떤 값을 고르느냐에 따라 학습 결과에는 큰 차이가 존재합니다. Lr Scheduler는 미리 학습 일정을 정해두고, 그 일정에 따라 학습률을 조정하는 방법입니다. 일반적으로는 warmup이라는 파라미터를 정하고 현재 step이 warmup보다 낮을 경우는 learning rate를 linear하게 증가 시키고, warmup 후에는 각 Lr Scheduler에서 정한 방법대로 learning rate를 upd..