CS/Artificial Intelligence 6

WHERE DID ALL THE MEMORY GO?

참고: ZeRO: Memory Optimizations Toward Training Trillion Parameter Models 공부한거 나중에 보기 편하게 적는다.어떤 특정 딥러닝 모델을 학습시킬 때 매우 많은 메모리가 필요하다 그래서 요즘엔 32bit 실수 FP32 를 FP16으로의 mixed-precision training을 이용한 최적화가 많이 진행된다. 1.5B 딥러닝 모델은 파라미터(가중치 행렬)은 FP16으로 3gb의 메모리를 필요로 한다. 32gb의 single gpu에서 이 모델을 학습 시킬 수 없다. 어떤 부분에서 이러한 메모리 누수(라고 표현하는게 옳은지는 모르겠지만)가 발생하는 것일까?(밑에 내용은 GPT로 번역시킨 것을 적당히 수정) 1. Model States: Optimiz..

Pipeline Parallelism - Weight Stashing / Vertical Sync

PP -> layer 단위로 모델을 쪼개서 적당히 컴퓨팅 자원을 나눠서 분산 학습을 하자. layer로 나눠봤자, layer별로 종속성이 있어서 분산 학습을 하는게 의미가 있을까 싶은데, batch로 쪼개고 학습한다고 생각하면 아이디어를 얻을 수 있다. 높은 Machine으로 갈 때마다 다음 layer로 생각하면 편하다. 이렇게 하면 layer끼리의 종속성도 해결하고, forward pass와 backward pass의 순서도 맞춰지면서 분산 컴퓨팅의 효과를 볼 수 있다. 세부적인 구현 방식인 Weight Stashing / Vertical Sync에 대해 생각해보자.(둘 다 옛날 방식이라 요즘엔 안 쓴다고 한다.) scheduling의 관점에서는 위의 그림이 최적이다. 저걸 잘 구현해야 하는데, 순차적..

Non-Autoregressive (NAR)

Attention / Transformer의 등장으로 엄청난 발전이 있었는데, 그러한 autogressive한 것들의 몇 가지 단점들을 처리하고자 나온 개념인거 같다.  https://nar-tutorial.github.io/acl2022/NAR-ACL%202022.pdf위 글을 보고 공부한 내용이다.  대충 입력에서 출력으로 생성할 때 출력에서 생성된 부분들도 recursive / repetitive하게 이용하여 다음 출력을 이용한다는 느낌이다.Question: What type of food do you like? Answer: I -> I like -> I like spicy -> I like spicy food like를 만들 때 이전 문장인 I가 영향을 주고, 마찬가지로 spicy를 만들 때 이..

Purpose of Regularization

Big model (Like LLM...) 에서 training data에서의 overfitting은 신경쓰지 않는다... 사실 신경쓰지 않는다기보다는 상관이 없다. small model들에서는 overfitting 될 수록 입력 데이터를 "암기" 하는 식으로 가게 된다. 즉 input들의 기본적인 특성을 학습하기 보다는 input과 output을 1대1 매칭하게 된다. 그런데, 모델이 커지게 되면, 모델은 전체적인 특성위주로 학습하게 된다.Regularzation으로 일반적인 특성의 학습을 이어지게 하면 overfitting은 오히려 좋다.gpt는 인간이 만들어낸 신이다..gpt로 공부하는 나 자신..

강화학습에서 Value Iteration / Bellman backup

스탠포드 강의를 듣고 있는데, 이 부분은 어렵게 표현하려고 안달난 것 같다.gpt를 보고 어느정도 이해했다고 생각해서 정리할 겸 올린다.  즉 B라는 연산은 현재 상태에서 할 최적의 행동을 고르는 것이다.여기서 최적이라는 것은 기댓값 처럼 사용해서 구하는데 위에 식에서 보이는 확률이 곱해진 느낌이다. value iteration이라는 것은 이러한 Bellman Backup을 반복적으로 시행하는 것이다.그냥 dp[s] -> s상태에서 갈 수 있는 최적의 값이라고 두면 R(s,a)-> 행동에 대한 보상이니까 대충 확률 dp 느낌? 으로 전이된다. 감마씩 곱해지는게 느낌은 비슷한 것 같다.결국 반복과정에서 수렴하는지를 살펴봐야 한다.수렴할까? 증명 순서는 다음과 같은데  1. B가 축소 사상이다.2. 축소 사..

Cross entropy Loss에서 gradient 구하기

딥러닝 개론 수업 과제를 하면서 꽤나 까다롭게 느껴져서 정리하고자 올린다.일단 gpt를 보고 어느정도 도움을 받기는 했는데 gpt는 softmax function과 sigmoid 함수 관계를 자꾸 설명하지 못해서 내가 손으로 직접 풀었다. 1. Softmax Function  2. Cross Entrophy Loss  Softmax Fuction의 미분은 같이 나오게 되는데, 이는 각각에 대해 편미분을 생각해보면 조금 편하다. 우선 j와 k가 다를 때는 분수함수의 미분을 사용해야 하는데, k에 대해서 생각을 해보면 1/f 꼴의 미분이라는 것을 알 수 있는데,e^x 의 미분은 자기 자신이여서,  f'/f = softmax(sk)가 나온다 j = k 일때는 더 쉽다. 시그모이드 함수를 g라고 하자. g(x)..