RoPE를 소개한 논문의 내용을 간단히 정리하고자 한다. 1. 논문 내용RoPE 이전의 모델들은 대부분 absolute & additive한 poisition embedding을 사용했었다.RoPE는 relative & multiplicative한 방식으로 position embedding을 계산한다. 다음과 같이 $\textbf{q}_{m}, \textbf{k}_{n}, \textbf{v}_{n}$($m,n$은 position을 의미)가 있다고 하자.이때 attention은 다음과 같이 계산된다. Absolute Position Embedding의 경우 (1)을 계산할 때 다음과 같이 position 정보를 embedding에 더한다. Rotary Position Embedding이 목표로 하는 특..
Vector Outer Product는 Cross Product와 다르다. Vector Outer Product: In linear algebra, the outer product of two coordinate vectors is the matrix whose entries are all products of an element in the first vector with an element in the second vectorVector Cross Product: Given two linearly independent vectors a and b, the cross product, a × b (read "a cross b"), is a vector that is perpendicular to both..
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 ..
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은 시간..
Bio Statistics 분야에서 많이 활용되는 개념인 Propensity Score에 대해서 정리하고자 한다. 0. Propensity Score가 필요한 상황 Clinical research 분야에서 Randomized Controlled Trials(RCT)는 꽤 중요한 개념이다. 어떤 집단 A에 treatment에 대한 효과를 통계적으로 검증한다고 했을 때, 가장 이상적인 방법은 집단 A를 반으로 나눠 한쪽은 control group으로, 한쪽은 treatment를 진행한 group으로 나눠 수치를 얻어내는 것이다. 하지만 의료 분야에서는 현실적이지 않을 뿐더러 윤리적으로도 수행할 수 없는 경우가 많다. 흡연자에 대한 treatment를 검증하고자 할 때, 강제적으로 흡연을 시킬 수 없으니 말이..
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)은 실제 모델..
여러 이미지 관련 논문에서 baseline 모델로 사용되고 있는 ResNet 논문에 대해 정리하고자 한다(논문링크). 핵심 내용은 다음과 같다. Layer를 매우 많이 쌓을 때 특정 block 마다 입력을 layer 출력에 더해서 학습하면 더 잘된다 1. Introduction CNN의 layer 수를 증가시켜 deep하게 쌓으면 성능이 좋아질 것이라 예상됐지만 실제로는 위 그림처럼 train, test error 모두 증가하고 vanishing/exploding gradient 문제가 발생한다. 또한 deep 해지면 모델이 수렴은 했지만 성능이 나빠지는 degradation 문제가 발생한다. 본 연구에서는 이러한 문제들을 해결하는 deep residual learning에 대해 소개한다. Residua..
이미지, 텍스트(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이 고정된 형태의 데이터가 많이 사용되고 있었으며 때문에 확장성이 있는 모델을 만드는데 한..
언어모델로 generation 시 특정 입력에 더 집중된 문장이 생성될 수 있도록 한 모델에 대해 정리하고자 한다(논문링크). 1. Introduction 현재 대부분의 언어모델은 transformer의 attention 메커니즘을 기반으로 하며 corpus만 주어지면 언어적인 특성과 주어진 입력을 잘 반영한 contextualized embedding을 생성할 수 있다. 하지만 입력 컨텍스트의 특정 부분에 집중하고 싶어도 기존의 attention 메커니즘 만으로는 이를 구현하기가 어렵다. 본 연구는 focus vector를 학습하여 이를 해결하고자 하였으며 주요 포인트는 다음과 같다. trainable focus vector의 효과를 탐색함. 이때 기존의 언어모델의 파라미터는 고정시켜 활용할 수 있다...
Transformer 계열의 언어모델에서의 contextualized embedding에 대해 분석한 논문을 정리하고자 한다(논문, 저자 블로그). 1. Introduction 기존의 static word embedding(ex. Word2Vec)은 문맥과 상관없이 단어에 대해 하나의 embedding만을 부여했다. 하지만 transformer 계열 모델들은 문맥을 반영한 embedding을 계산하게 되는데 저자는 문맥에 따라 embedding이 얼마나 차이나는지를 보고자 하였다. 'mouse'라고 하는 단어는 쥐, 컴퓨터기기 두 가지 의미가 있는데 1) 두 의미 각각에 대한 representation이 계산되거나(왼쪽 그림) 2) 아니면 문맥에 따라 매우 다른 representation이 계산(오른쪽 ..
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..
효과적인 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..
LoRa 논문은 큰 언어모델을 fine-tuning하기 위한 여러가지 방법 중 효과가 꽤 괜찮은 방법을 제시했는데 그 내용을 정리하고자 한다. 1. Introduction 매우 큰 언어모델을 만들고 이를 도메인에 맞게 fine-tuning하는 일은 매우 빈번하다. GPT3 계열의 모델은 크기가 매우 크기 때문에 원래의 모델은 freeze 해두고 태스크별로 별도 layer를 두는 방식을 사용한다. 하지만 모델 크기가 매우 크기 때문에 제대로 학습이 안될 수도 있고 inference 속도가 충분하지 않을 수 있다. 논문에서 제시하는 아이디어는 간단하다. 딥러닝 layer에서 hidden dimension의 차원이 아무리 커도 그 공간의 rank는 낮을 수 있다고 생각하는데, 이를 활용하는 것이다. We ta..
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 등)에서 성능이..