본문 바로가기

728x90

boostcamp AI tech

(73)
GPT-3 and Latest Trend 1. Scaling Law GPT의 발전 추세를 보면 모델의 크기를 키워서 LLM이 성능확보를 얻어가는 것 같다. layer를 많이 쌓아서 혹은 layer 하나에 들어가는 파라미터 수를 늘려서 와 같은 방식으로 모델의 크기를 키우고 있다. 실제로 openAI 연구진들이 모델의 크기를 키움에 따라 실험한 결과를 보면, 같은 성능을 얻는데 큰 모델이 훨씬 적은 학습 샘플을 요구하며 학습 속도도 더 빠름을 알 수 있다. 하지만 오른편 그래프를 보면 모델이 커짐에 따라 원하는 test loss를 달성하기 위해 GPU 연산량도 늘어남을 알 수 있다. 크기를 키운 모델이 달성할 수 있는 최적의 성능을 얻고 싶다면 그에 맞게 데이터의 양도 크게 키워야 한다. 이런 분석 결과(발견한 패턴)를 Scaling Law 라고..
Boostcamp AI - week8 이번 주에는 MLOps와 관련된 내용을 공부했다. 쉽게 모델을 serving할 수 있는 방법과 모델 배포를 위해 사용되는 다양한 툴에 대해 간단하게 알아보았다. 모델링만 잘하는 개발자가 아니라 engineering도 잘하는 개발자가 되어야 경쟁에서 살아남을 수 있을 것 같다. 연구와 프로덕트에 적용이 동시에 일어나고 있고 그 직무에 대한 수요가 커지고 있다. research를 이해하고 implementation할 수 있는 것과 더불어 product로 만들 수 있는 역량이 필요하다. 현업에서 AI서비스가 만들어지고 배포되는 과정, AI의 저작권과 윤리, 프롬프트엔지니어링 등에 대한 특강들로 한주를 마무리 했다. linux basic command : https://jsdysw.tistory.com/435 ..
PyTorch Lightning Preview pytorch를 한단계 더 추상화한 framework이다. 1. Data Preparation def fit(self): if global_rank == 0: # prepare data is called on GLOBAL_ZERO only prepare_data() ##
Introduction to NLP task Sequence to Sequence 구조를 여러 목적에 맞게 활용할 수 있다. N21 - topic, 긍/부정 등의 classification N2N - 품사 태깅처럼 각 토큰별 판단 N2M - 대화, 번역, encoder-decoder가 동시에 활용된다. 1. N21 Classification의 모습이다. 문장의 긍/부정을 판단한다던지 혹은 이 문장(혹은 문단)이 어떤 주제의 글인지 topic classification을 수행할 수 있다. SEP 토큰을 활용하면 다수 문장간의 Semantic Textual Similarity(두 문장이 유사한가?)를 판단할 수 있다. 혹은 A->B 처럼 방향이 있는 관계를 예측하는 Text Entailment 를 수행할 수 있다. 예를 들면 A->B 의 논리 관계가 ..
Boostcamp AI - week6,7 그동안 배운 이론들을 가지고 써먹을 때가 됐다. 배운 이론들을 구현해보며 점검하고 그동안 읽어온 좋은 코드들과 얼마나 가깝게 구현을 할 수 있을까 기대되는 한 주였다. 역시 실험을 하는건 정말 괴롭다. 학습이 시작되면 두 손 모아 기도하는 것 외에 할 수 있는게 없다. 짧은 시간 내에 실험 결과들을 바탕으로 옳은 결정들을 찾아가는게 AI 연구자의 가장 중요한 스킬이 아닐까 싶다. 나는 늘 이 능력이 부족하다고 생각했었다. 이번에야말로 극복할 수 있는 좋은 기회다. 숫자에만 집착하지 말고 이 leader board 경쟁을 통해서 내가 시도해 보아야할 경험들을 다 겪었는지에 집중하자. 반드시 이 실험 지옥에 대한 트라우마를 극복하겠다. 1. project 구조화, 전 과정에 대한 이해 ✅ - dataset ..
Self-Supervised Pre-training Model (GPT-2, GPT-3, ALBERT, ELECTRA) 1. GPT-2 모델 구조는 GPT-1과 크게 다를게 없다. 마찬가지로 다음에 오는 단어를 예측하는 LM(language modeling)으로 학습을 진행했다. 대신 gpt-1보다 더 깊고 사용한 데이터도 더 커졌다. byte pair encoding을 사용했다. nlp task에 대해 생각해보면 어떤 문장이 주어졌을때, 어떤 주제에 속하는것 같은지? 긍,부정? 혹은 특정 단어의 품사? 등등 다양한 task를 떠올릴 수 있다. 어떤 task가 주어지던 똑같이 단어를 embedding vector로 변환하고 attention을 거치는 것은 똑같다. 그리고 잘 생각해보면 '이 영화 재밌다!' 뒤에 이 '이 문장이 긍정적인 것 같니?' 라고 덧붙이면 사실상 Question Answering 문제가 된다. '나..
Self-Supervised Pre-training Model (GPT-1, BERT) self-attention block으로 구성된 encoder-decoder모델은 nlp의 다양한 분야에서 놀라운 성능을 보여주었다. pre-training model로 gpt-1, bert를 알아본다. 더 깊게 attention block을 쌓았다는 점을 제외하면 구조적으로 차별화되는 큰 점은 없다. 다만 self supervised learning framework를 활용한 대규모 데이터로 학습되었다. general purpose로 동작하는 모델인 gpt-1, bert를 가지고 특정 task를 위해 이 pretraining model을 가지고 한번 더 fine-tuning하는 transfer learning이 대세가 되었다. 1. GPT-1 special token들을 제안함으로써 모델이 여러 목적의..
Transformer - Multi-Head attention 1. Multi-head attention self-attention을 유연하게 더 확장한 multihead attention에 대해 알아본다. 그림에서 보면 중첩된 블럭들이 보인다. self-attention에서는 한번 Q, K, V쌍이 만들어지고 attention 블럭을 한번 통과하는데 반해 self-attention에서는 여러개의 Q, K, V를 만들고 여러번 attention 블럭을 통과한다. 즉 Wq, Wk, Wv가 여러개 존재한다. 서로 다른 attention 블럭마다 서로 다른 encoding vector가 만들어지고 이를 모두 concat하여 하나의 결론도출에 사용한다. 이를 여러개의 head를 갖는다고 하여 multi head attention이라고 하고 각 head마다 (Wq, Wk, ..

728x90