AI 15

[논문리뷰] GLaM: Efficient Scaling of Language Models with Mixture of Experts

1. 주요 쟁점 1 - 1. 환경 문제 최근, 딥러닝 연구가 과한 전기를 사용하고, 이것이 지구온난화를 악화시키고 있다는 연구들이 많이 나오고 있다. 이 논문은 그러한 사회 분위기를 이해하고 거대 모델을 학습시킴에 있어서 더 적은 계산량만으로 충분히 좋은 성능을 내게 만드는데 초점을 맞추었다 1 - 2. data의 중요도 이 논문은 Introduction에서 "거대 모델이라 할지라도 좋은 퀄리티의 자언어 이해 모델을 만들고자 한다면 좋지 않은 데이터를 추가해서라도 대량의 데이터를 모으기보다는 이에 타협하지 않고 양질의 데이터만을 학습에 사용하는데에 집중을 해야 한다" 고 밝혔다. GPT-3 등의 거대 모델들이 초대량의 언어 데이터셋으로 학습하는 과정에서 온라인 상의 다양한 데이터들을 스크랩해서 사용했고 ..

AI/논문 리뷰 2023.10.09

Softmax 결과의 총합이 1 이하로 나오는 경우

만약 softmax를 썼는데 결과의 총합이 1이 아닐 경우, 이는 softmax를 사용한 위치와 loss 함수의 특성을 다시 한번 살펴봐야 한다. 대표적인 예로, 만약 loss 함수로 CrossEntropyLoss를 쓰는데 모델이 output을 logit이 아니라 softmax의 결과 값을 쓴다면 이와 같은 문제가 발생할 수 있다. PyTorch에서 CrossEntropyLoss는 내부적으로 log_softmax와 NLLLoss를 사용하며, input 값이 probability가 아닌 logit 값이 들어오기를 기대한다. 따라서, softmax와 log_softmax의 중복으로 인해 위와 같은 문제가 발생할 수 있다. 당연히 이는 학습을 불안정하게 하는 원인이 된다. 참고: https://discuss...

AI/PyTorch 2022.07.18

Torch.mm과 Torch.matmul 차이점

torch.matmul vector 및 matrix 간의 다양한 곱을 수행한다. broadcast 기능을 제공하며 가장 일반적으로 사용되나, broadcast 기능이 도리어 debug point가 될 수 있다. broadcast 기능은 아래의 예제와 같이 T1(10, 3, 4) T2(4)을 곱할 때, 맨 앞의 dim이 3개 일 때는 첫 dim을 batch로 간주하고 T1 (3, 4) tensor의 10개의 batch와 각각 T2(4)랑 곱을 해주는 것이다. torch.matmul(input, other, *, out=None) → Tensor torch.mm torch.matmul과 차이점은 broadcast가 안 된다는 점이다. 즉 mm은 정확하게 matrix 곱의 사이즈가 맞아야 사용이 가능하다. 따..

AI/PyTorch 2022.03.16

Bagging과 Boosting 그리고 Stacking

Ensemble, Hybrid Method 앙상블 기법은 동일한 학습 알고리즘을 사용해서 여러 모델을 학습하는 개념입니다. Weak learner를 결합한다면, Single learner보다 더 나은 성능을 얻을 수 있다는 아이디어입니다. Bagging 과 Boosting 이 이에 해당합니다. 동일한 학습 알고리즘을 사용하는 방법을 앙상블이라고 한다면, 서로 다른 모델을 결합하여 새로운 모델을 만들어내는 방법도 있습니다. 대표적으로 Stacking 이 있으며, 최근 Kaggle 에서 많이 소개된 바 있습니다. ​ Bagging Bagging은 샘플을 여러 번 뽑아 각 모델을 학습시켜 결과를 집계(Aggregating) 하는 방법입니다. 아래의 그림을 통해 자세히 알아보겠습니다. 먼저 대상 데이터로부터 복..

AI/Machine Learning 2020.04.07