본문 바로가기

nlp13

Large Language Models are Zero-Shot Reasoners 논문 리뷰 논문 배경 설명Large Language Models are Zero-Shot Reasoners 논문은 2022년 NeuIPS에 발표된 논문이다.기존 CoT Prompting에서 task 별 prompt 설계와 사람이 개입한 예제 추출을 간단한 트리거 prompt만으로 대체하여 성능 향상을 보였고, zero-shot 개념의 prompt로 확장 가능성을 크게 늘렸다. AbstractNLP에서 CoT prompting 방식은 복잡한 문제를 각 단계들로 나눠서 추론하는 방식을 사용하여, 연산, 기호 추론 등 복잡한 문제에서 좋은 효과를 입증했다.이런 CoT prompting의 성능은 LLM의 few-shot 학습 능력 덕분이라고 여겨지지만, 이 논문에서는 각 답변에 "Let's think step by ste.. 2025. 7. 22.
CLIP : Learning Transferable Visual Models From Natural Language Supervision 논문 리뷰 CLIP 배경 설명CLIP(Contrastive Language-Image Pre-training)은 OpenAI가 2021년 1월 발표한 멀티모달 AI 모델이다.자연어의 대규모 데이터들을 이용한 학습 방법을 Computer vision 분야에 확장했다는데 그 의의가 있다. AbstractSOTA(그 당시) Computer vision 모델들은 정해진 카테고리 내에서 학습되었고, 새로운 label에 대해 새로운 학습이 필요하다는 일반화의 약점이 있었다. 이미지를 raw text(category화 되지 않은)으로부터 직접 학습하는 것은 일반화의 약점을 극복할 수 있는 방법이다..이미지와 텍스트 쌍들의 데이터 중, 어떤 캡션이 어떤 이미지에 해당하는지를 예측하는 간단한 pre training task를 진행.. 2025. 5. 12.
Transformer Pytorch 구현 Transformer는 사실, NLP 분야뿐만 아니라, 다양한 분야에서 많이 사용되기 때문에, 그만큼 구현 소스를 쉽게 찾을 수 있다. 나도, Transformer를 자주 사용하지만, 라이브러리에서 읽어오는 형태로 사용하기 때문에, 그 상세 구조에 대해서는 대략적으로만 알고 있다. 이번 기회에 Transformer를 pytorch로 직접 짜보면서 그 구조를 정확히 이해하고자 한다. Full source : https://github.com/daehwichoi/transformer-pytorch/blob/main/model/transformer.py 구현 방향 사실, pytorch로 Transformer를 구현한 사례는 google 검색만 해도 굉장히 많이 나온다. 하지만, original transfor.. 2023. 7. 15.
PaLM(Scaling Language Modeling with Pathways) 논문 리뷰 PaLM 배경 설명 PaLM은 google에서 2022년에 발표한 LLM 관련 논문이다. GPT 이후의 NLP 분야의 거의 모든 논문이 그랬듯, Model Paramter를 더 크게 늘렸고, GPT-3의 흐름을 따라, task-specific 한 model이 아닌, 다양한 NLP 분야를 cover 하는 모델로 학습된다. 사실 GPT 등장 이후로 LLM 모델에서의 구조 변화는 크게 없다. Model parameter를 계속 늘리고, 이에따라 성능은 계속 좋아진다. 따라서, 기존 LLM과 달라진 부분에 집중하여 논문 리뷰를 시작한다. Abstract Language Model은 few-shot 방식을 사용하여, task-specific 학습에 필요한 데이터의 양을 줄이면서, 좋은 성능을 보여줬다. few-s.. 2023. 6. 29.
GPT-3 (Language Models are Few-Shot Learners) 논문 리뷰 GPT-3 배경 설명 GPT-3은 요즘 많이 사용하는 ChatGPT의 근간이 된 논문으로, 2020년 OpenAI에서 NIPS에 발표한 논문이다. Language Model의 parameter가 꾸준히 늘어가는 추세였는데, GPT-3에서는 기존의 가장 큰 모델보다 거의 10배 정도의 많은 parameter를 넣을 정도로 큰 모델을 사용하였다. Model scaling-up을 통해 few-shot에서도 Task-Specific 한 기존의 finetuning 모델들의 성능에 필적하는 성능을 보여주었다. (이 시도가 현재 ChatGPT를 만든 것 같다.) Abstract 최근 NLP task에서 large corpus의 pre-training을 기반으로한 언어모델들이 큰 효과를 내고 있다. 하지만, 대부분의 .. 2023. 6. 12.
RoBERTa (A Robustly Optimized BERT Pretraining Approach) 논문 리뷰 RoBERTa 배경 설명RoBERTa는 워싱턴 대학과 Facebook에서 2019년에 나온 BERT에 대한 연구 & 개선 논문이다.BERT의 등장으로 언어 모델의 뼈대가 통일(?)된 상황에서, 그것을 개선할 방법을 제안하였다. BERT 같은 대용량 언어 모델은 학습과 재현이 힘들 것으로 알았는데, 역시 facebook이어서 가능한가 싶다. pretrained model을 사용할때, orginal BERT보다는 RoBERT를 많이 사용하는 것 같다. Abstract언어모델을 Pretraining 방식으로 학습하는 방법이 큰 성능 향상을 이끌었다. Training은 매우 계산 cost가 많이 들고, 모델마다 각기 다른 사이즈의 다른 데이터셋을 통해서 수행된다. 모델의 성능에서 Hyperparameter의 선.. 2023. 6. 3.
GPT-2 (Language Models are Unsupervised Multitask Learners) 논문 리뷰 GPT-2 배경 설명 GPT-2는 OpenAI에서 2019년 발표한 논문이다. GPT-2는 기존의 대규모 LM 구조인 GPT-1의 구조를 따르지만, 학습을 Unsupervised Multitask Learning을 사용하여, 범용성 있는 자연어처리를 할 수 있는 모델을 제시했다. 또한, parameter의 크기와 성능이 log-linear한 상관관계가 있다는 것을 제시하여, 많은 각광을 받았다. Abstract 자연어 처리의 다양한 분야에서 task specific한 데이터셋으로 spervised learning 하는 것이 일반적이다. 이 논문에서는 학습과정에 task specific한 지도학습 없이 학습하는 언어모델을 제안한다. 주어진 문서와 질문에 대한 정답을 구하는 문제에서, training dat.. 2023. 5. 27.
BERT(Pre-training of Deep Bidirectional Transformers for Language Understanding) 논문 리뷰 BERT 배경 설명 BERT는 Google에서 2018년 10월에 나온 NLP 논문이다. 사실 지금은, Chat-GPT 때문에 GPT가 자연어 처리의 대명사가 되었지만, GPT 전에는 BERT가 자연어 처리의 대표 모델로 불리곤 했었다. BERT는 성능이 매우 좋아서, 아직도 많은 NLP Task에서 사용되고 있다. 개인적으로 이 논문을 읽으면서, 2018년 6월에 나온 GPT-1 논문을 굉장히 많이 신경 쓰고 있다는 인상을 받았다. Abstract 이 논문에서는 BERT(Bidirctional Encoder Representations form Transformers)라는 새로운 모델을 소개한다. 기존의 (그 당시) 유행하는 모델들(특히 GPT-1)과 달리 BERT는 단어의 양방향 데이터(이전 데이터와.. 2023. 5. 16.
Transformer (Attention Is All You Need) - (1) 리뷰 Transformer 배경 설명 Transformer는 Google Brain이 2017년 "Attention is All You Need"라는 논문에서 제안된 딥러닝 모델이다. Transformer는 기존 자연어 처리 분야에서 주로 사용되던 RNN, LSTM 같은 순환 신경망 모델 중심의 처리 방법의 대안을 제공하여, 현재는 자연어 처리 분야에서 가장 널리 사용되는 모델 중 하나가 되었다. 사전 지식 기존의 순환 신경망을 사용한 자연어 처리는 아래와 같이 Encoder를 이용해서 Context를 생성하고, Decoder를 따르는 구조를 가졌다. Abstract 기존의(당시) 자연어 처리 분야의 논문에서는 Encoder와 Decoder에 복잡한 순환 모델이나 CNN 구조를 적용하는 방법이 지배적 이었다... 2023. 5. 8.
자연어처리 모델 만들기-(2).데이터 전처리 💬 한국어 텍스트 데이터 전처리 텍스트 데이터는 보통 그 자체로 사용하기보다, 의미의 단위로 나눠서 활용 여부나 사이 연관 관계를 찾는다. 저번 장에서 확인한 대로, 데이터셋의 텍스트 데이터는 한국어 문장으로 구성되어 있다. 학습할 때마다 한국어 형태소 분리를 실행해도 되지만, 시간이 너무 많이 걸려서, 텍스트 데이터를 전처리 해놓기로 한다. 한국어 텍스트 데이터 전처리 방법 텍스트 데이터의 전처리 단계는 다음과 같다. 1. 텍스트 데이터를 형태소 단위로 분리한다. 2. 분리된 데이터 중, 불용어를 제거한다. (Optional) 3. 동의어를 mapping 할 수 있다면, 동의어를 mapping한다. (Optional) 4. word dictionary를 생성 5. word를 정수 인코딩한다. 1. 한국.. 2023. 4. 23.