LLM을 검색에? LLM2Vec: Large Language Models Are Secretly Powerful Text Encoders - 논문 리뷰
https://arxiv.org/abs/2404.05961
LLM2Vec: Large Language Models Are Secretly Powerful Text Encoders
Large decoder-only language models (LLMs) are the state-of-the-art models on most of today's NLP tasks and benchmarks. Yet, the community is only slowly adopting these models for text embedding tasks, which require rich contextualized representations. In t
arxiv.org
기존 Attention 메커니즘은 전체적인 입력 시퀸스에서 정보를 포착하는 것을 방해한다고 합니다.
그래서 이 논문에서는 양방향으로 진행되는 Attention을 통해 진행합니다.
또한 Masking된 토큰을 맞추거나, 비지도 대조학습을 통해 전체적인 문서 임베딩을 잘 생성하도록 진행합니다.
모든 방향에서 Bi만 적용했을 때 정확도가 떨어지는 경향을 보여줬지만 Mistrial의 경우는 낙폭이 적은 것을 볼 수 있다.
그래도 NMTP와 SimCSE를 적용할 경우 단순한 모델보다 성능이 향상되고, SimCSE는 표현을 조정하기에 성능이 약간 떨어지는 것을 볼 수 있다.
MTEB에서 임베딩 성능은 향상된 것을 볼 수 있다.
기존 Encoder-only모델보다 성능이 확실하게 좋아지는 것을 볼 수 있다.
이게 생성 능력까지 얼마나 망가지는 지가 궁금하네요....?
연구 목적 | 디코더 전용 대형 언어 모델(LLM)을 텍스트 임베딩 모델로 변환하는 방법인 LLM2Vec 제시. |
핵심 방법론 | LLM2Vec는 세 가지 주요 단계로 구성됨: 1) 양방향 어텐션 활성화 2) 마스킹된 다음 토큰 예측(MNTP) 3) 비지도 대조 학습(SimCSE) |
디코더 모델의 한계 | 기존의 디코더 모델은 인과적 어텐션(causal attention)만을 사용하여 이전 토큰만 참조, 전체 문맥을 파악하는 데 한계가 있음. |
LLM2Vec의 개선점 | 양방향 어텐션을 사용하여 전체 시퀀스를 고려한 문맥적 의미 캡처. 마스킹된 다음 토큰 예측(MNTP)과 SimCSE로 성능 향상. |
실험 모델 | 1.3B ~ 8B 파라미터를 가진 S-LLaMA, LLaMA-2, Mistral 모델을 사용하여 LLM2Vec 적용. |
단어 수준 작업 | 청킹, NER, POS 태깅에서 LLM2Vec로 변환된 모델들이 기존 인코더 전용 모델보다 뛰어난 성능을 보임. |
시퀀스 수준 작업 | Massive Text Embeddings Benchmark(MTEB)에서 LLM2Vec가 새로운 상태-오브-더-아트 성능을 기록. |
강점 | - 파라미터 효율성: 적은 수정으로 뛰어난 성능 도출. - 적은 데이터와 빠른 훈련 시간. - 텍스트 생성 모델을 텍스트 임베딩 모델로 변환 가능. |
단점 | - 훈련 시간이 길어질 수 있음. - 모델 크기와 메모리가 커져 자원 소모가 많을 수 있음. |
LLM2Vec의 기여 | - 디코더 모델의 잠재력을 텍스트 임베딩에 적용. - 양방향 어텐션을 활용하여 문맥 정보를 풍부하게 반영. - 적은 자원으로 뛰어난 성능을 발휘할 수 있음. |
향후 연구 방향 | - 다양한 언어와 비지도 학습 환경에 적용 가능성 탐색. - 다양한 NLP 작업에 디코더 전용 모델을 활용할 수 있는 가능성 확대. |
기존 연구와의 차이점 | 기존 연구는 인코더 전용 모델에 의존했으나, LLM2Vec는 디코더 모델을 텍스트 임베딩 모델로 변환하여 효율적이고 강력한 성능을 보임. |
결론 | 디코더 전용 LLM을 텍스트 임베딩 모델로 변환하는 효율적이고 강력한 방법론을 제시. LLM2Vec는 비지도 학습으로도 뛰어난 성능을 보이며, 향후 다양한 작업에 적용 가능. |
논문 "LLM2Vec: Large Language Models Are Secretly Powerful Text Encoders" 는 대형 언어 모델(LLM)을 강력한 텍스트 인코더로 변환하는 방법인 LLM2Vec을 소개합니다. 이 방법은 텍스트 임베딩 작업을 위해 기존의 인코더 모델을 사용하던 방식에서 벗어나 디코더 전용 LLM을 효율적으로 활용할 수 있도록 돕습니다. 아래는 문제, 방법, 결과에 대한 요약입니다:
문제:
- 텍스트 임베딩 작업: 텍스트 임베딩은 자연어 처리(NLP)에서 의미적 유사도, 정보 검색, 군집화 등 다양한 작업에 사용됩니다. 전통적으로 BERT와 같은 양방향 인코더 모델이 이러한 작업에 사용되었지만, 디코더 전용 LLM(예: GPT 모델)은 텍스트 임베딩에 적합하지 않다고 여겨졌습니다. 이는 디코더 모델의 인과적 주의(causal attention) 메커니즘 때문인데, 이는 각 토큰이 이전 토큰에만 의존하게 하여 전체 문맥을 포착하는데 제한이 있습니다.
방법:
- LLM2Vec 접근법:
LLM2Vec은 디코더 전용 LLM을 텍스트 인코더로 변환하기 위한 간단한 비지도 학습 방식입니다. 이 방식은 세 가지 주요 단계로 구성됩니다:- 1단계: 양방향 주의 활성화: 디코더 모델의 인과적 주의 메커니즘을 제거하고 모든 토큰이 서로를 주의할 수 있는 양방향 주의를 활성화합니다.
- 2단계: 마스크된 다음 토큰 예측(MNTP): 모델이 양방향 주의를 효과적으로 활용하도록, 마스크된 토큰 예측을 통해 모델을 훈련시킵니다. 이 과정은 모델이 앞뒤 문맥을 모두 고려할 수 있도록 합니다.
- 3단계: 비지도 대비 학습(SimCSE): 문장을 두 번 통과시키고 드롭아웃 마스크를 다르게 적용하여 얻은 두 가지 표현을 대비 학습합니다. 이 방법은 문장 수준의 임베딩을 향상시킵니다.
- 모델 훈련 및 세부 사항:
- 실험에 사용된 모델은 LLaMA, Mistral, Meta-LLaMA와 같은 다양한 크기의 모델(1.3B에서 8B 파라미터까지)입니다.
- 훈련은 영어 위키백과 데이터를 사용하며, 레이블이 없는 데이터만으로 학습을 진행합니다.
결과:
- 단어 수준 작업: LLM2Vec으로 변환된 모델은 DeBERTa와 같은 강력한 인코더 모델을 능가하며, 청킹, 명명된 개체 인식(NER), 품사 태깅(POS) 등의 작업에서 뛰어난 성능을 보입니다.
- 문장 수준 작업: Massive Text Embeddings Benchmark(MTEB)에서 LLM2Vec은 비지도 학습 모델 중 새로운 최첨단 성과를 기록하며, 검색, 군집화, 분류와 같은 작업에서 뛰어난 결과를 보였습니다. Mistral-7B와 같은 모델에서는 양방향 주의만 적용해도 성능이 크게 향상되었습니다.
- 샘플 효율성: LLM2Vec 모델은 훈련 초기 단계에서 더 빠르게 좋은 성능을 내며, 이는 적은 리소스나 컴퓨터 환경에서 특히 유용합니다.
- 지도 학습 파인튜닝: LLM2Vec을 지도 대비 학습과 결합하면 성능이 더욱 향상되며, 공개 데이터만을 이용한 학습에서 우수한 결과를 보였습니다.
- Echo 임베딩과 비교: LLM2Vec은 Echo 임베딩 방법과 비교하여 더 효율적이고, 추가적인 입력 복사 없이 뛰어난 성능을 보입니다. Echo 임베딩은 입력 텍스트를 복사하여 처리하는 방식으로 계산 비용이 더 많이 듭니다.
결론:
- LLM2Vec은 디코더 전용 LLM을 강력한 텍스트 인코더로 변환하는 데 성공적인 방법입니다. 이 방법은 MTEB 벤치마크에서 뛰어난 성과를 보여주며, 비효율적인 입력 복사나 추가적인 파인튜닝 없이도 높은 성능을 발휘합니다. 간단하고 효율적인 이 방식은 텍스트 임베딩 작업을 위한 새로운 해결책을 제시하며, 레이블 데이터가 부족하거나 컴퓨팅 자원이 제한된 환경에서 특히 유망한 접근법입니다.
이 연구는 디코더 전용 모델이 텍스트 임베딩 작업에 적합하도록 변형할 수 있다는 가능성을 보여주며, NLP 작업에서의 활용 범위를 넓힐 수 있는 중요한 결과를 제공합니다.
LLM2Vec 방법론
LLM2Vec는 기존의 디코더 전용 대형 언어 모델(LLM)을 텍스트 임베딩 모델로 변환하기 위한 방법론으로, 크게 세 가지 주요 단계를 포함합니다: 양방향 어텐션 활성화, 마스킹된 다음 토큰 예측(MNTP), 그리고 비지도 대조 학습(SimCSE) 입니다. 각 단계를 하나씩 살펴보며, 어떻게 모델이 기존의 제한을 극복하고 성능을 향상시키는지 예시와 함께 설명하겠습니다.
1. 양방향 어텐션 활성화
디코더 전용 LLM(예: GPT)은 '인과적 어텐션'(causal attention)을 사용하여, 각 토큰이 이전 토큰들만을 참고하고 그 이후의 토큰은 무시하도록 설계되어 있습니다. 이는 텍스트를 생성할 때 필요한 특성이지만, 텍스트 임베딩 작업에서는 모든 토큰 간의 관계를 고려하는 것이 중요합니다.
문제점:
기존의 디코더 모델은 한 번에 앞쪽의 토큰만을 참조하므로, 전체 문맥을 고려한 풍부한 의미를 담기 어려운 제한이 있습니다. 예를 들어, "나는 사과를 먹었다"라는 문장에서 "사과"라는 단어는 그 자체로 과일을 의미하지만, 문맥에 따라 "사과"가 "사과하다"의 의미로 사용될 수도 있습니다. 디코더 모델은 "먹었다" 이후의 정보를 반영하지 못합니다.
해결책:
LLM2Vec는 디코더 모델의 어텐션을 양방향 어텐션으로 변경합니다. 양방향 어텐션은 모든 토큰이 서로를 참조할 수 있게 하여, "사과"가 문장 내 다른 토큰들과의 관계를 바탕으로 다양한 의미를 포착할 수 있게 합니다. 이를 통해 모델은 문맥에 맞는 더 정교한 의미 표현을 생성합니다.
예시:
- 원래의 디코더 모델은 "사과"의 의미를 문맥 상에서 적절히 파악하지 못합니다.
- 양방향 어텐션을 통해, "사과를 먹었다"에서 "사과"가 과일인지 아니면 "사과하다"의 의미인지 문맥에 따라 파악하게 됩니다.
2. 마스킹된 다음 토큰 예측(MNTP)
양방향 어텐션을 적용한 후, LLM2Vec는 마스킹된 다음 토큰 예측(MNTP) 을 사용하여 모델을 더 적합하게 만듭니다.
문제점:
양방향 어텐션을 추가했다고 해서 바로 임베딩 성능이 개선되는 것은 아닙니다. 디코더 모델은 원래 다음 토큰 예측(next token prediction)을 훈련 목표로 하므로, 양방향 어텐션을 추가만 했을 때는 모델이 혼란스러워할 수 있습니다. 이를 해결하기 위해서, 마스킹된 토큰을 예측하는 목표를 추가합니다.
해결책:
MNTP는 마스킹된 토큰을 예측하는 방식으로 모델을 훈련시킵니다. 입력 시퀀스에서 일부 토큰을 마스킹하고, 모델이 이 마스킹된 부분을 양방향으로 참조하여 정확하게 예측하도록 훈련합니다. 예를 들어, "나는 사과를 먹었다"에서 "사과"라는 단어를 마스킹한 후, 모델이 이전과 이후 문맥을 바탕으로 마스킹된 "사과"를 정확히 예측하도록 합니다.
예시:
- 마스킹된 토큰 예측을 통해 모델은 "사과를 먹었다"에서 "사과"가 과일임을 제대로 예측할 수 있습니다.
3. 비지도 대조 학습(SimCSE)
마지막 단계는 비지도 대조 학습(SimCSE) 입니다. 이 단계에서는 문장 간 유사도를 학습하여 모델이 고차원적인 문장 임베딩을 잘 생성할 수 있도록 합니다.
문제점:
양방향 어텐션과 마스킹된 예측은 각 토큰의 의미를 잘 포착하게 도와주지만, 문장 수준에서의 의미를 학습하는 데는 한계가 있습니다. 즉, 단어들 간의 관계를 잘 학습했더라도, 문장 전체의 의미를 반영하는 임베딩을 생성하는 것은 추가적인 훈련이 필요합니다.
해결책:
SimCSE는 같은 문장을 두 번 모델에 입력시켜, 서로 다른 드롭아웃 마스크를 적용한 후, 두 문장의 표현이 더 비슷해지도록 훈련시킵니다. 이를 통해 모델은 동일한 문장이 여러 번 입력되었을 때 유사한 임베딩을 생성하도록 학습됩니다. 이 방법은 비지도 방식으로 작동하므로, 별도의 레이블 없이 대량의 텍스트 데이터를 활용할 수 있습니다.
예시:
- 같은 문장 "사과를 먹었다"를 두 번 모델에 입력하고, 서로 다른 드롭아웃 마스크를 적용하여 두 문장의 임베딩이 가까워지도록 학습합니다.
- 두 문장이 동일하면 임베딩을 비슷하게 만들어 문장 간의 의미적 유사도를 잘 반영합니다.
결론
LLM2Vec는 디코더 전용 LLM을 텍스트 임베딩 모델로 변환하는 간단하면서도 효과적인 방법론입니다. 각 단계에서 모델이 문맥을 풍부하게 이해하고, 문장 수준의 의미를 잘 반영할 수 있도록 도와줍니다. 양방향 어텐션, 마스킹된 토큰 예측, 그리고 비지도 대조 학습은 서로 시너지를 이루며 디코더 전용 모델을 강력한 텍스트 인코더로 변환하는 데 중요한 역할을 합니다.
이 방법론은 적은 파라미터 조정과 적은 양의 훈련 데이터만으로도 강력한 텍스트 임베딩 성능을 얻을 수 있어, 특히 계산 자원이 제한적인 환경에서 매우 유용합니다.
관련된 연구 및 논문
이번 연구인 LLM2Vec는 디코더 전용 대형 언어 모델(LLM)을 텍스트 임베딩 모델로 변환하는 방법을 제시합니다. 이를 위해 논문에서는 기존의 여러 연구들을 기반으로 혁신적인 방법을 제시하는데, 이와 관련된 연구들 및 차이점을 세세히 살펴보겠습니다.
1. 기존 연구
기존 연구는 주로 텍스트 임베딩을 위한 인코더 전용 모델을 중심으로 이루어졌으며, 대표적으로 BERT(Devlin et al., 2019), T5(Raffel et al., 2020), DeBERTa(He et al., 2023) 등이 있습니다. 이들 모델은 모두 양방향 어텐션을 기반으로 하며, 토큰 간 관계를 모두 고려한 텍스트 임베딩을 생성합니다. 주로 마스킹 언어 모델링(MLM) 방식과 다음 문장 예측(NSP)을 사용하여 모델을 훈련시키며, 대규모 데이터셋을 사용하여 임베딩 성능을 높이는 방법론을 적용했습니다.
주요 연구들:
- BERT (2019): 양방향 Transformer 아키텍처를 기반으로 하여 마스킹 언어 모델링(MLM)과 다음 문장 예측(NSP)을 통해 문맥 정보를 캡처하는 텍스트 임베딩 모델을 제시.
- T5 (2020): 텍스트를 텍스트로 변환하는 통합적인 프레임워크를 제시하며, 다양한 자연어 처리 작업을 통합하는 모델.
- SimCSE (2021): 비지도 대조 학습을 사용하여 문장 임베딩을 학습하는 방법을 제시. 특히, 동일한 문장에 대해 두 개의 서로 다른 표현을 학습하여 문장 간 유사도를 개선.
- DeBERTa (2023): 주어진 단어와 그 문맥 간의 관계를 더 잘 캡처하기 위한 개선된 BERT 아키텍처로, 수정된 어텐션 메커니즘을 사용해 성능을 향상시킴.
2. 기존 연구와 이번 연구(LTM2Vec)의 차이점
기존 연구의 한계점
기존의 인코더 전용 모델들(BERT, T5, DeBERTa 등)은 양방향 어텐션을 통해 문장 내의 모든 토큰 간 관계를 고려하여 텍스트 임베딩을 생성하지만, 이들은 주로 텍스트 분류, 질문 응답, 문장 쌍 비교 등 특정 작업을 목표로 설계된 모델입니다. 따라서 텍스트 생성 및 언어 모델링과는 거리가 먼 구조적 제약이 존재합니다.
또한, 디코더 전용 모델인 GPT 시리즈와 같은 모델들은 생성 모델로서 우수한 성능을 보였지만, 텍스트 임베딩에 적합한 구조로 사용되기 어려운 문제점이 있었습니다. 그 이유는 인과적 어텐션(causal attention) 방식으로, 각 토큰은 오직 이전 토큰만을 참조하고, 이를 통해 전체 문맥을 이해하기 어렵기 때문입니다.
LLM2Vec의 차별화된 접근
LLM2Vec는 디코더 전용 LLM을 텍스트 임베딩 모델로 변환하기 위해, 세 가지 핵심 단계를 제시합니다:
- 양방향 어텐션 활성화: 기존의 디코더 모델을 양방향 어텐션을 통해 텍스트 내 모든 토큰 간 관계를 참조하도록 변경.
- 마스킹된 다음 토큰 예측(MNTP): 양방향 어텐션을 활용한 예측 훈련을 통해, 모델이 문맥을 제대로 이해하고 예측할 수 있도록 만듦.
- 비지도 대조 학습(SimCSE): 문장 임베딩을 더 잘 학습하기 위해, 같은 문장을 두 번 모델에 입력시켜 유사도를 최대화하도록 훈련.
이 방식은 기존 인코더 전용 모델들보다 파라미터와 데이터 효율성이 뛰어나며, 적은 데이터와 계산 자원으로도 효과적인 텍스트 임베딩을 생성할 수 있는 장점이 있습니다.
3. 기존 연구와 LLM2Vec의 장단점
장점
- 파라미터 효율성: LLM2Vec는 디코더 전용 모델을 적은 수정으로 텍스트 임베딩 모델로 변환할 수 있어, 파라미터 수가 매우 효율적입니다. 이를 통해, 대형 모델을 사용해도 낮은 계산 비용으로 우수한 성능을 낼 수 있습니다.
- 적은 데이터 요구: LLM2Vec는 비지도 학습 방식으로 훈련이 가능하여, 라벨이 없는 대규모 데이터에서도 좋은 성능을 보입니다. 기존의 Supervised contrastive learning 기법보다 훨씬 적은 데이터로도 효과적인 텍스트 임베딩을 얻을 수 있습니다.
- 텍스트 생성 모델의 활용: 기존의 텍스트 생성 모델인 GPT 계열을 임베딩 모델로 변환할 수 있어, 생성 작업과 임베딩 작업 간의 연결성을 높여줍니다. 즉, 같은 모델이 다양한 NLP 작업을 수행할 수 있는 장점이 있습니다.
단점
- 훈련 시간: 비록 파라미터 효율성은 높지만, 마스킹된 다음 토큰 예측(MNTP)과 비지도 대조 학습(SimCSE) 단계가 추가됨에 따라 훈련 시간이 늘어날 수 있습니다. 대형 모델에서 이 두 단계를 동시에 훈련하는 것은 기존 모델보다 긴 학습 시간을 요구할 수 있습니다.
- 모델 크기: 대형 모델을 사용해야 하므로 모델 크기가 커지며, 메모리와 계산 자원이 많이 소모될 수 있습니다. 특히, 상대적으로 작은 모델을 사용하려는 경우, LLM2Vec의 효과가 덜할 수 있습니다.
- 선험적 모델에 의존: LLM2Vec는 기존의 GPT 기반 모델에 의존하기 때문에, 모델에 내재된 제약이나 편향을 그대로 반영할 수 있습니다. 이는 특히 특정 도메인에서 더 강하게 나타날 수 있습니다.
4. 결론
LLM2Vec는 기존의 디코더 전용 모델을 텍스트 임베딩에 적합하게 변환하는 혁신적인 방법론을 제시하며, 비지도 대조 학습(SimCSE) 과 같은 기법을 통해 적은 데이터로도 우수한 성능을 낼 수 있습니다. 기존 BERT나 T5와 같은 인코더 기반 모델들에 비해 파라미터 효율성과 계산 자원 효율성에서 큰 장점을 가지지만, 훈련 시간과 모델 크기에서 단점이 있을 수 있습니다. 또한, 디코더 모델이 갖고 있는 특성을 잘 활용하여 다양한 NLP 작업에 적합한 모델로 발전할 수 있는 가능성을 지니고 있습니다.
이번 연구는 디코더 전용 모델의 잠재력을 텍스트 임베딩 작업에 효율적으로 활용하는 방법을 제시하여, 향후 생성 모델을 다양한 작업에 활용하는 데 중요한 기여를 할 것입니다.
결과 (Results)
이 연구는 LLM2Vec라는 방법론을 통해 디코더 전용 대형 언어 모델(LLM)을 효과적인 텍스트 임베딩 모델로 변환하는 성과를 얻었습니다. 연구팀은 다양한 디코더 전용 모델들(1.3B에서 8B 파라미터 모델)을 대상으로 LLM2Vec를 적용하고, 단어 수준과 시퀀스 수준의 여러 작업에서 실험을 진행했습니다.
단어 수준 작업 (Word-level Tasks):
- 청킹(Chunking), 명명된 엔터티 인식(Named-Entity Recognition, NER), 품사 태깅(Part-of-Speech tagging, POS) 등의 작업에서 LLM2Vec로 변환된 모델들은 기존의 인코더 전용 모델들(예: DeBERTa-v3-large)보다 훨씬 뛰어난 성능을 보였습니다. 특히, LLM2Vec는 양방향 어텐션을 활성화하고 마스킹된 다음 토큰 예측(MNTP) 을 적용하여 텍스트의 문맥을 더 잘 이해하고, 정확한 토큰 임베딩을 생성할 수 있음을 보여주었습니다.
시퀀스 수준 작업 (Sequence-level Tasks):
- Massive Text Embeddings Benchmark(MTEB) 에서 LLM2Vec로 변환된 모델들은 비지도 학습 상태에서도 새로운 상태-오브-더-아트 성능을 기록했습니다. 가장 높은 성능을 보인 모델은 Mistral-7B로, 56.8점이라는 우수한 점수를 달성했습니다. 이는 기존의 비지도 모델들보다 월등히 높은 성과였습니다.
- 또한, SimCSE(비지도 대조 학습)와 결합한 LLM2Vec 모델은 상위 성능을 달성하며, 공개 데이터만을 사용한 모델 중에서 최고의 성능을 보였습니다.
추가 실험 및 분석:
- LLM2Vec는 양방향 어텐션을 활용하여 디코더 전용 모델들이 미래 토큰의 정보를 잘 반영하도록 했습니다. 특히 Mistral-7B 모델은 양방향 어텐션을 활성화한 후, 별도의 훈련 없이도 문맥 이해에서 우수한 성과를 보였습니다.
- 훈련 효율성 측면에서, LLM2Vec는 빠른 학습 속도와 효율적인 계산을 통해 자원 제한적인 환경에서도 우수한 성능을 발휘할 수 있음을 확인했습니다.
결론 (Conclusion)
LLM2Vec는 기존의 디코더 전용 언어 모델을 강력한 텍스트 임베딩 모델로 변환하는 효과적인 방법론임을 입증했습니다. 이 연구에서는 양방향 어텐션, 마스킹된 다음 토큰 예측(MNTP), 그리고 비지도 대조 학습(SimCSE) 라는 세 가지 단계를 통해 디코더 모델의 한계를 극복하고 우수한 텍스트 임베딩을 생성할 수 있음을 보여주었습니다.
- 효율적인 학습: LLM2Vec는 파라미터 효율적이고 계산 자원 효율적으로 텍스트 임베딩을 학습할 수 있기 때문에, 낮은 리소스 환경에서도 뛰어난 성능을 보입니다. 이 연구는 기존의 대형 모델이 텍스트 임베딩 분야에서도 매우 유용하게 활용될 수 있음을 시사합니다.
- 기존 모델들과의 비교: LLM2Vec로 변환된 디코더 모델은 기존의 인코더 전용 모델들보다 성능이 뛰어나다는 결과를 도출했습니다. 특히, 비지도 학습 상태에서도 새로운 상태-오브-더-아트 성능을 기록하면서, 디코더 전용 모델의 잠재력을 텍스트 임베딩 작업에 효과적으로 적용할 수 있다는 점을 강조합니다.
- 확장 가능성: LLM2Vec는 다양한 NLP 작업에서 범용적으로 사용될 수 있으며, 특히 대형 모델을 활용한 다양한 언어와 도메인에서도 그 효과를 확장할 수 있는 가능성이 큽니다. 향후 다양한 언어와 비지도 학습 환경에서의 적용을 통해 더욱 발전할 수 있을 것입니다.
마무리 (Discussion)
LLM2Vec의 제안은 디코더 전용 모델을 텍스트 임베딩 모델로 변환하는 새로운 접근 방식을 제시하며, 효율적인 훈련과 낮은 계산 비용을 통해 자원 제한적인 환경에서도 뛰어난 성능을 달성할 수 있다는 점에서 큰 의의가 있습니다.
주요 기여:
- 양방향 어텐션을 디코더 모델에 적용하여 문맥 정보를 더 잘 반영하도록 하였고,
- 비지도 대조 학습을 통해 문장 수준에서의 임베딩을 개선하였으며,
- 적은 데이터와 빠른 학습 시간을 통해 기존의 대형 모델들이 효율적인 텍스트 임베딩 모델로 활용될 수 있음을 보여주었습니다.
이 연구는 텍스트 임베딩 작업에서 디코더 모델의 가능성을 새롭게 조명한 중요한 연구로, 향후 다양한 NLP 작업에 있어 디코더 전용 모델의 활용도를 크게 확장할 수 있는 기초가 될 것입니다.
아래 논문 내용에서 기존의 Attention이 전체적인 맥락을 파악하는데 방해를 하는지 알려줘
원래 Self-Attention이 모든 단어와의 qkv 계산을 통해 연산을 진행하니까 양방향이 맞지 않아?
기존의 Self-Attention 메커니즘이 전체 맥락을 파악하는데 방해가 되는 이유는 디코더 전용 모델의 인과적 어텐션 (causal attention) 방식 때문입니다.
Self-Attention 메커니즘은 기본적으로 각 단어가 쿼리(Query), 키(Key), 값(Value) 계산을 통해 모든 다른 단어들과 상호작용하도록 설계됩니다. 이 방식은 본질적으로 양방향에서 토큰 간의 관계를 학습할 수 있기 때문에, 전체 문맥을 이해하는 데 유리합니다.
하지만 디코더 전용 LLM에서 사용하는 인과적 어텐션은 각 토큰이 자기 자신 이전의 토큰들만 참조하도록 제한을 둡니다. 즉, 토큰 i의 표현은 그 이전의 토큰들만 영향을 주고, 토큰 i 이후의 토큰들은 전혀 영향을 미치지 않습니다. 이러한 방식은 생성 모델에서 필요한 특성으로, 텍스트 생성 시는 이전 토큰들을 기반으로 다음 토큰을 예측하는 데 유리하지만, 텍스트 임베딩에서는 전체 입력 시퀀스에 대한 정보를 고루 반영하기 어렵습니다.
따라서, 디코더 전용 모델의 인과적 어텐션은 전체 입력 시퀀스에 걸친 풍부한 문맥 정보를 반영하지 못하게 되어, 텍스트 임베딩 작업에서 텍스트의 의미를 정확히 반영한 임베딩을 생성하는 데 어려움을 겪게 됩니다. 이런 이유로 양방향 어텐션이 텍스트 임베딩에서 더 중요한데, 양방향 어텐션을 통해 모델은 모든 단어 간의 관계를 고려할 수 있기 때문입니다.
결론적으로, 디코더 전용 모델의 인과적 어텐션은 문맥을 전방향으로만 처리하므로, 전체 문장이나 텍스트의 맥락을 정확히 파악하는 데 제한이 있는 것입니다. 이를 해결하기 위해 양방향 어텐션을 적용하면, 모델이 전체 시퀀스를 이해하고 문맥 정보를 풍부하게 반영할 수 있게 됩니다.
그럼 디코더 모델 학습할 때 사용했던 마스킹을 없애고, 그냥 전부 다 사용해서 학습을 한다는 듯인가...?
맞습니다, 디코더 전용 모델에서 사용되던 마스킹을 제거하고, 전체 토큰을 동시에 고려해서 학습하는 방식입니다.
디코더 모델의 마스킹과 인과적 어텐션
디코더 전용 모델에서 사용하는 인과적 어텐션(causal attention)은 각 토큰이 자신 이전의 토큰들만을 참조하게끔 제한하는 마스크를 사용합니다. 이 마스크는 현재 토큰의 표현이 이후 토큰들의 정보를 참조하지 않도록 만들어져 있습니다. 즉, 각 토큰은 자기 자신 이전의 정보만을 기반으로 계산되며, 미래의 정보는 아예 고려되지 않게 됩니다. 이 방식은 생성 작업에서는 자연스러운 특성으로, 다음 단어 예측을 위한 유용한 방법입니다.
하지만 텍스트 임베딩 작업에서는 전체 시퀀스의 문맥을 고려해야 하기 때문에, 양방향 어텐션을 사용하여 모든 토큰 간의 관계를 동시에 고려하는 것이 필요합니다.
LLM2Vec에서의 변화
LLM2Vec에서는 기존의 인과적 어텐션을 양방향 어텐션으로 변경합니다. 즉, 디코더 모델의 마스크를 제거하고, 모든 토큰 간의 상호작용을 허용합니다. 이렇게 하면 전체 입력 시퀀스에 대한 정보를 동시에 고려할 수 있게 되어, 각 토큰의 표현이 이전 토큰들뿐만 아니라 이후 토큰들까지 반영하여 더 풍부한 문맥적 의미를 갖게 됩니다.
핵심:
- 기존: 디코더 모델은 인과적 어텐션을 통해 이전 토큰들만 참조하는 마스크 방식.
- 변경: 양방향 어텐션을 적용하여 전체 입력 시퀀스에 대해 모든 토큰 간의 상호작용을 고려, 마스크를 없애고 전부 다 사용하여 학습.
결과:
이렇게 학습을 하면, 디코더 전용 모델이 전체 문맥을 고려하여 문장 임베딩을 생성할 수 있게 되어, 텍스트 임베딩 작업에서 더 우수한 성능을 발휘할 수 있습니다.