본문 바로가기

논문 리뷰/Language Model

Generative Representational Instruction Tuning (GRIT)

[Github]

[arXiv](2024/02/15 version v1)

 

 

Abstract

Instruction tuning을 통해 LLM이 embedding과 generative task를 구별하여 처리할 수 있도록 훈련된 GRIT (Generative Representational Instruction Tuning) 소개

 

 

 

GRIT

 

Representational instruction tuning

In-batch negatives와 함께 contrastive objective를 사용하여 손실을 계산한다. (참고)

위 그림과 같이 bidirectional attention을 채택하고 최종 표현을 생성하기 위해 마지막 hidden state에 mean pooling을 적용한다.

 

fθ = GRIT, σ = pooling&cosine similarity, q = query, d = document.

 

Generative instruction tuning

일반적인 다음 토큰 예측 목표 사용.

 

주요 고려 사항은 손실을 샘플 수준으로 집계할지, 토큰 수준으로 집계할지 선택하는 것이다.

 

샘플 수준 집계는 일반적으로 사용되며 각 샘플에 동일한 가중치를 부여한다.

토큰 수준 집계는 각 토큰에 동일한 가중치를 부여하며, 많은 토큰이 포함된 샘플이 더 중요해지므로 긴 답변을 생성하는 경향이 있다.

둘을 혼합하여 사용할 수도 있다.

 

Total loss:

 

 

 

RAG with GRIT

임베딩&생성 단일 모델인 GRIT을 통해 Retrieval-Augmented Generation (RAG)를 단순화할 수 있으며 속도를 60% 이상 향상시킨다.

 

 

 

Experiments

Setup

Model: Mistral 7BMixtral 8x7B를 fine-tuning.

Data: E5, Tulu 2

또한 부록에 설명된 메모리를 줄이기 위한 여러 가지 방법들 사용.

 

Main Results

 

Ablations