brunch

You can make anything
by writing

C.S.Lewis

by being cognitive Jun 24. 2024

GPT-2 from Scratch 강의

Andrej Karpathy 강의 공유 

https://youtu.be/l8pRSuU81PU?si=sSPh_Qo4-ex3Bb0g 


주말에 무심코 클릭했다가, 어찌어찌 끝까지 보게 되었습니다. (하루가 꼬박 걸렸네요;;) 


. 지난 토크나이저 강의를 봤으면 조오금 이해가 더 쉬운 부분이 있긴하지만, 크게 관련이 없기도 합니다. 스킵하고 이 영상에서 바로 시작해도 괜찮습니다.  

. (1) Attention is All You Need Paper, (2) OpenAI의 GPT-2, (3) GPT-3 세개 Paper를 주축으로 GPT-2 (124M) 모델을 from scratch 새롭게 만듭니다. (그리고, 그 결과 기존 GPT-2의 성능을 상회하는 모델을 만들어냈습니다-!)

   (1) 구현할 Transformer 아키텍처의 기본 스켈레톤

   (2) (1)을 기반으로 GPT-2에서 변경된 주요 사항들 반영 (Layer normalization위치 변경 등)

   (3) (2)에는 주요 Hyper Parameter값이 기재되어있지 않음. 


. 새로 만드는 이유

   : 공개된 gpt-2 소스코드가 가독성이 낮고 복잡함.

   : 이제는 잘 사용되지 않는 tensorflow 대신 pytorch 프레임워크 사용. 


. LambdaLabs라는 GPU클라우드 업체를 활용하면 ~$10 수준의 비용으로 모델을 학습시킬 수 있다고 하는데, 여기까지는 안해봤습니다. (그래서 코딩 따라간건 중간까지만...) 


. 수많은 실전 최적화 기법들이 소개되어있습니다.

   : model.compile 한 줄 넣기

   : fp32 대신 TF32 혹은 BF16 사용하기 (아주 약간의 Precision은 포기하지만 학습속도의 상승이라는 효익이 매우 큼)

   : 가능한 모든 파라미터를 ugly 넘버 대신 GPU에서 잘 동작하는 2의 배수 사용하기 (e.g. 토큰개수를 50257 -> 50304로 변경하면 속도 향상.)

   : learning_rate scheduler 적용하기 등 


* 지난 AI Ascent 영상에서 Andrej Karpathy는 특정 회사를 위해 일하기 보다는, AI생태계를 위한 Coral Reef _산호초와 같은 기여를 하고 싶다-라는 말을 한 적이 있었는데요, 지난 토크나이저 강의도 그렇고 이와 같은 엄청난 강의를 만들어내는 것이 그가 말한 산호초의 활동인가 싶습니다. https://youtu.be/c3b-JASoPi0?si=HKTx3mKphB3aFN1u


* Lex Fridman 팟캐스트에서도 Andrej가 비슷한 얘기를 한 적이 있습니다. https://www.youtube.com/watch?v=cdiD-9MMpb0 본인은 행복한 사람들을 보는 것을 좋아하는데, 본인의 강의를 보면서 사람들이 고마워하고 행복해하는 것을 볼 수 있어서 좋다-라고 합니다. 저 멀리 바다건너서 저도 이렇게 고급 수업을 들을 수 있으니, 저도 행복하고 감사한 일입니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari