논문 및 개념 정리

논문 및 개념 정리

[2023] The Wisdom of Hindsight Makes Language Models Better Instruction Followers

0. Abstract We consider an alternative approach: converting feedback to instruction by relabeling the original one and training the model for better alignment in a supervised manner 1. Introduction Human alignment를 위해 두 가지 정도의 방향성이 있음 Proximal Policy Optimization (PPO): rather complex, sensitive to hyperparameters, and requires additional training in the reward model and value network imitation ..

논문 및 개념 정리

Hold-out vs Cross-validation 차이

1. Hold-out Hold-out 방법은 데이터를 train, test set으로 나누고 train set에서 학습된 모델을 test set에서 성능을 평가하는 방식이다(held-out method라고도 함) 2. Cross-validation Cross-validation은 k-fold cross validation이라고도 하며, hold-out 방법을 k번 시행하되 매번 새로운 train/test set으로 진행하는 방식이다. 아래 그림에서 처럼 모든 데이터셋이 test set으로 사용될 때 까지 돌린다. * Hold-out vs Cross-validation Hold-out은 데이터셋이 매우 크고 시간이 없거나 PoC 컨셉으로 모델을 테스트해볼 때 유용하다. Cross-validation은 시간..

논문 및 개념 정리

Propensity Score

Bio Statistics 분야에서 많이 활용되는 개념인 Propensity Score에 대해서 정리하고자 한다. 0. Propensity Score가 필요한 상황 Clinical research 분야에서 Randomized Controlled Trials(RCT)는 꽤 중요한 개념이다. 어떤 집단 A에 treatment에 대한 효과를 통계적으로 검증한다고 했을 때, 가장 이상적인 방법은 집단 A를 반으로 나눠 한쪽은 control group으로, 한쪽은 treatment를 진행한 group으로 나눠 수치를 얻어내는 것이다. 하지만 의료 분야에서는 현실적이지 않을 뿐더러 윤리적으로도 수행할 수 없는 경우가 많다. 흡연자에 대한 treatment를 검증하고자 할 때, 강제적으로 흡연을 시킬 수 없으니 말이..

논문 및 개념 정리

[2021] (FLAN)FINETUNED LANGUAGE MODELS ARE ZERO-SHOT LEARNERS (Instruction-Tuning 논문)

GPT계열 LLM 모델의 zero-shot 성능을 높인 방법인 instruction-tuning에 대한 논문 내용을 정리하고자 한다(논문링크). 1. Introduction GPT3와 같은 모델들은 few-shot 성능이 (기대보다)뛰어나다는 특징이 있는 반면, zero-shot에 대해서는 성능이 낮다. FLAN은 자연어 instruction과 one-shot example을 데이터셋으로 구성하여 fine-tuning 시켜(Instruction Tuning) unseen task에 대한 zero-sho 성능을 높인 연구이다. FLAN 연구의 intuition은 다음과 같다. LM(Language Model)에 주어지는 입력인 zero-shot prompt(no few-shot example)은 실제 모델..

논문 및 개념 정리

[2015] Deep Residual Learning for Image Recognition (ResNet 논문)

여러 이미지 관련 논문에서 baseline 모델로 사용되고 있는 ResNet 논문에 대해 정리하고자 한다(논문링크). 핵심 내용은 다음과 같다. Layer를 매우 많이 쌓을 때 특정 block 마다 입력을 layer 출력에 더해서 학습하면 더 잘된다 1. Introduction CNN의 layer 수를 증가시켜 deep하게 쌓으면 성능이 좋아질 것이라 예상됐지만 실제로는 위 그림처럼 train, test error 모두 증가하고 vanishing/exploding gradient 문제가 발생한다. 또한 deep 해지면 모델이 수렴은 했지만 성능이 나빠지는 degradation 문제가 발생한다. 본 연구에서는 이러한 문제들을 해결하는 deep residual learning에 대해 소개한다. Residua..

논문 및 개념 정리

[2021] Learning Transferable Visual Models From Natural Language Supervision(CLIP 논문)

이미지, 텍스트(title or description) 쌍을 활용하여 효과적인 이미지 representaion을 학습한 방법인 CLIP(Contrastive Language-Image Pre-training) 논문을 정리하고자 한다.(논문링크, openAI 블로그 글) 1. Introduction 최근의 딥러닝 모델들은 auto-regressive, MLM과 같이 task-agnostic objective를 사용하되 모델사이즈를 키워 성능을 매우 올려왔으며, 기존의 crowd-labeled 데이터셋 보다 웹상에서 모은 데이터셋을 활용하는게 더 효과적이었다. Computer vision의 경우 여전히 label set이 고정된 형태의 데이터가 많이 사용되고 있었으며 때문에 확장성이 있는 모델을 만드는데 한..

논문 및 개념 정리

[2022] Controlling the Focus of Pretrained Language Generation Models

언어모델로 generation 시 특정 입력에 더 집중된 문장이 생성될 수 있도록 한 모델에 대해 정리하고자 한다(논문링크). 1. Introduction 현재 대부분의 언어모델은 transformer의 attention 메커니즘을 기반으로 하며 corpus만 주어지면 언어적인 특성과 주어진 입력을 잘 반영한 contextualized embedding을 생성할 수 있다. 하지만 입력 컨텍스트의 특정 부분에 집중하고 싶어도 기존의 attention 메커니즘 만으로는 이를 구현하기가 어렵다. 본 연구는 focus vector를 학습하여 이를 해결하고자 하였으며 주요 포인트는 다음과 같다. trainable focus vector의 효과를 탐색함. 이때 기존의 언어모델의 파라미터는 고정시켜 활용할 수 있다...

논문 및 개념 정리

[2019] How Contextual are Contextualized Word Representations?

Transformer 계열의 언어모델에서의 contextualized embedding에 대해 분석한 논문을 정리하고자 한다(논문, 저자 블로그). 1. Introduction 기존의 static word embedding(ex. Word2Vec)은 문맥과 상관없이 단어에 대해 하나의 embedding만을 부여했다. 하지만 transformer 계열 모델들은 문맥을 반영한 embedding을 계산하게 되는데 저자는 문맥에 따라 embedding이 얼마나 차이나는지를 보고자 하였다. 'mouse'라고 하는 단어는 쥐, 컴퓨터기기 두 가지 의미가 있는데 1) 두 의미 각각에 대한 representation이 계산되거나(왼쪽 그림) 2) 아니면 문맥에 따라 매우 다른 representation이 계산(오른쪽 ..

논문 및 개념 정리

[2020] ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT

Document 랭킹을 성능 및 서비스 측면에서 고민한 ColBERT 논문에 대해 정리하고자 한다. 1. Introduction BERT 등의 큰 언어모델(LM)은 성능이 우수하나 계산량이 많아 latency가 생긴다. 때문에 query-document pair를 입력을 받아 수십만개의 문서 중 정답이 있을만한 문서를 찾는 문서탐색의 경우 시간이 매우 오래걸린다. ColBERT는 이를 해결하기 위한 방법으로 1) 미리 계산한 문서 임베딩을 저장해두고(pre-computation) 2) query를 입력으로 받아 계산량이 낮은 연산(late interaction)으로 문서탐색을 수행하는 모델이다. 2. ColBERT 모델 1) Architecture ColBERT는 두 개의 encoder와 late in..

논문 및 개념 정리

[2022] SimCSE: Simple Contrastive Learning of Sentence Embeddings

효과적인 Sentence embedding을 얻기 위한 SimCSE 논문 내용을 정리하고자 한다. 1. Introduction BERT와 같은 transformer 계열 인코더들은 context를 반영한 문장 임베딩을 잘 뽑는다. SimCSE는 contrastive learning + dropout을 사용하여 인코더를 추가학습해 성능을 향상시켰다. 논문에서는 unsupervised, supervised 내용을 담고 있지만 unsupervised 내용이 더 핵심적이다. 2. Background 1) Contrastive Learning Contrastive Learning은 self-supervised learning의 방법 중 하나로 unlabled data를 활용하되 이를 positive, negati..

논문 및 개념 정리

[2021] LoRA: Low-Rank Adaptation of Large Language Models

LoRa 논문은 큰 언어모델을 fine-tuning하기 위한 여러가지 방법 중 효과가 꽤 괜찮은 방법을 제시했는데 그 내용을 정리하고자 한다. 1. Introduction 매우 큰 언어모델을 만들고 이를 도메인에 맞게 fine-tuning하는 일은 매우 빈번하다. GPT3 계열의 모델은 크기가 매우 크기 때문에 원래의 모델은 freeze 해두고 태스크별로 별도 layer를 두는 방식을 사용한다. 하지만 모델 크기가 매우 크기 때문에 제대로 학습이 안될 수도 있고 inference 속도가 충분하지 않을 수 있다. 논문에서 제시하는 아이디어는 간단하다. 딥러닝 layer에서 hidden dimension의 차원이 아무리 커도 그 공간의 rank는 낮을 수 있다고 생각하는데, 이를 활용하는 것이다. We ta..

논문 및 개념 정리

[2021] GPT Understands, Too (P-tuning)

GPT3와 같이 매우 큰 언어모델을 서비스 목적에 맞게 fine-tuning하는 것은 비용도 클 뿐더러 성능이 안정적이지 않을 수 있다. 이런 fine-tuning을 효율적으로 하기 위해 p-tuning, LoRA와 같은 방법들이 소개가 되었다. 개인적으로는 p-tuning이 개발기간도 짧고 안정적인 성능향상이 있기 때문에 더 선호하는데 이를 정리해보고자 한다.(논문링크)(공개소스) 1. Introduction 언어모델은 다음과 같이 크게 3종류가 있다. unidirectional LM(a.k.a auto-regressive model): GPT 계열 bidirectional LM: BERT 계열 hybrid LM: XLNet, UniLM GPT 계열의 단점은 NLU 태스크(NLI, AE 등)에서 성능이..

논문 및 개념 정리

[2020] Poly-encoders: architectures and pre-training strategies for fast and accurate multi-sentence scoring

Information retrieval이나 question answering 모델을 구성할 때 매우 큰 search space에서 속도와 성능이 둘다 중요한데 이를 위해 Retrieval & Rerank 구조가 많이 쓰인다(SBERT 설명글). Retireval 엔진으로는 Bi-encoder, Reranker 엔진으로는 Cross-encoder가 많이 쓰인다. Microsoft에서 발표한 Poly-encoder는 Bi-encoder, Cross-encoder의 장점을 취해 Bi-encoder의 성능을 향상시킨 모델이며 효과가 좋은 것으로 알려져있다(원문). 참고로 이 Github에 깔끔하게 구현되어 있다. 1. Introduction 두 입력 sequence에 대한 비교나, 입력 sequence에 대한 ..

논문 및 개념 정리

[LM] Perplexity 개념

언어모델을 평가하기 위한 하나의 척도인 Perplexity에 대해 정리하고자 한다. 원문 내용을 많이 참고하였다. 1. 언어모델이란? 언어모델(Language Model)은 가능한 단어 시퀀스에 대한 확률을 계산하는 모델이다. 어떤 문장이 주어질 때, 언어모델이 보유한 모든 토큰들에 대해 그 다음에 올 확률을 계산하면 엔지니어가 태스크에 맞게 최대 확률값을 가진 토큰을 1개 이상 사용하여 문장을 완성할 수 있다. 좋은 언어모델은 real 또는 syntactically correct한 문장에 더 높은 화률을 부여하는 모델이다. $n$개의 단어 $(w_{1}, w_{2}, \cdots, w_{n})$로 이루어진 문장 $W$에 대한 확률은 다음과 같이 표현할 수 있다(문장에 대한 확률이라는 말이 조금 어색할 ..

논문 및 개념 정리

[GPT3] 주요 내용 정리

GPT 모델은 auto-regressive 모델 계열 중 하나이며 특히 GPT3는 transformer 계열 언어모델의 크기에 따른 성능을 매우 잘 보여주었다. 본 글에서는 GPT3 논문의 주요 내용 및 궁금했던 점들을 정리하고자 한다. 궁금한 점들 in-context learning이란? & few(one, zero)-shot learning이란? prompt 및 GPT3 입력 더 좋은 contextualized embedding을 얻기 위한 많은 노력들 끝에 transformer 계열 모델들이 등장했다. 이후 사전학습(pre-training)된 언어모델을 사용하기 위해서 fine-tuning을 거치면 task 데이터셋에 대해서 높은 성능을 보이는 것이 확인되었으나 이는 다음과 같은 한계점들이 있다. ..

Fine애플
'논문 및 개념 정리' 카테고리의 글 목록