어떤 LLM이든 임베딩 모델로 바꾸는 방법

퀘벡 AI 연구소(Mila)의 연구원들은 모든 디코더 전용 LLM을 범용 임베딩 모델로 바꿀 수 있는 LLM2Vec 기술을 공개했습니다.

2024년 4월 22일 오후 1:00- 5달 전BDTECHTALKS.COM- Ben Dickson

어떤 LLM이든 임베딩 모델로 바꾸는 방법

요약생성

바쁠 때는 리얼라이즈가 내용을 요약해 드려요.

이 글은 AI 연구 분야의 최신 동향을 다루는 시리즈의 일부입니다.

임베딩 모델은 LLM 애플리케이션에서 텍스트 유사도 측정, 정보 검색, 클러스터링과 같은 작업을 가능하게 하는 중요한 역할을 합니다. 하지만 임베딩 모델은 대부분 생성 작업에 사용되는 것과 다른 트랜스포머 아키텍처를 기반으로 합니다. 이로 인해 생성 모델에서 이루어지는 방대한 작업을 임베딩 모델 개선에 전이하는 것이 어렵고 별도의 병렬적인 노력이 필요합니다.

퀘벡 AI 연구소(Mila)와 ServiceNow Research의 연구원들은 새로운 연구에서 LLM2Vec을 소개했습니다. 이는 모든 디코더 전용 LLM을 강력한 텍스트 인코더로 변환할 수 있는 간단한 비지도 학습 방식입니다. 실험 결과 LLM2Vec 모델은 임베딩 작업에서 최첨단 성능을 보여줍니다.

LLM2Vec은 직관적이고 효율적이며, 조직에서 특수 임베딩 모델을 빠르고 저렴하게 만들 수 있는 새로운 가능성을 열어줍니다.

임베딩을 위한 디코더 전용 트랜스포머

현재 임베딩 모델에 사용되는 주요 아키텍처는 BERT와 T5와 같이 사전 훈련된 양방향 인코더 또는 인코더-디코더입니다. GPT와 Llama와 같은 디코더 모델과 달리 이러한 모델은 토큰을 생성하도록 설계되지 않았지만, 의미적 내용을 숫자 벡터로 인코딩하도록 설계되었습니다.

최근 연구원들은 텍스트를 임베딩하기 위해 디코더 전용 LLM을 탐색하고 있습니다. 디코더 모델의 제한적인 사용은 부분적으로 생성 작업에는 유용하지만 풍부한 임베딩을 학습하기에는 적합하지 않은 단방향 주의 메커니즘 때문입니다.

“예를 들어 검색에서 강력한 지시 따르기 텍스트 인코더가 필요하기 때문에 디코더 전용 LLM을 텍스트 표현에 사용하는 방법을 탐구했습니다.” McGill University와 Mila의 박사 과정 학생이자 LLM2Vec 논문의 주 저자인 Parishad BehnamGhader는 TechTalks에 말했습니다.

디코더 전용 LLM이 임베딩 작업에 적합한 이유는 여러 가지가 있습니다. 첫째, 이들의 훈련 레시피는 인코더 모델이 훈련 중에 입력의 일부를 마스킹하는 것과 달리 모든 입력 토큰에서 학습하도록 합니다. 둘째, 디코더 LLM에 대한 많은 활동이 있으며, 선택할 수 있는 모델, 기술 및 도구의 풍부한 생태계가 있습니다. 마지막으로, 지시 따르기 및 인간 선호도에 맞게 미세 조정된 LLM은 많은 작업에서 일반화되는 범용 텍스트 임베딩 모델을 위한 매우 적합한 기반이 될 수 있습니다.

LLM2Vec

LLM2Vec은 모든 디코더 전용 LLM을 임베딩 모델로 변환하는 데 사용할 수 있는 간단한 비지도 학습 방식입니다.

“이 프로젝트를 시작했을 때, 디코더 전용 LLM을 텍스트 표현에 사용하는 논문은 몇 개밖에 없었습니다. 하지만 대부분 지도 학습 미세 조정에 초점을 맞추었습니다.” BehnamGhader는 말했습니다. “반면에 저희의 목표는 간단하고 모든 디코더 전용 LLM에 적용할 수 있으며, 반드시 레이블이 지정된 훈련 데이터가 필요하지 않은 일반적인 레시피를 만드는 것이었습니다. 따라서 저희는 비지도 및 지도 공개적으로 사용 가능한 데이터를 사용한 매개변수 효율적인 미세 조정에 초점을 맞추었습니다.”

LLM2Vec

LLM2Vec(출처: arxiv)

LLM2Vec은 세 가지 간단한 단계로 구성됩니다. 첫째, 모델이 양방향 주의를 가능하게 하도록 수정됩니다. 이를 통해 각 토큰은 이전 토큰만 볼 수 있는 디코더 전용 LLM의 경우와 달리 다른 모든 토큰에 주의를 기울일 수 있습니다.

다음으로, 모델은 **마스킹된 다음 토큰 예측(MNTP)**으로 훈련됩니다. MNTP는 다음 토큰 예측과 마스킹된 언어 모델링을 결합합니다.

마지막으로, 모델은 문장 임베딩을 위한 비지도 대조 학습 기술인 SimCSE로 미세 조정됩니다. 이 단계에서 훈련 입력 시퀀스는 모델의 드롭아웃으로 인해 서로 다른 마스킹된 노드를 가진 두 개의 복제본으로 만들어집니다. 이렇게 하면 동일한 시퀀스에 대한 두 가지 다른 표현이 생성됩니다. 대조 학습 목표는 모델이 동일한 입력 시퀀스의 수정된 버전 사이의 임베딩 유사성을 극대화하고 배치의 다른 시퀀스 표현과의 유사성을 최소화하도록 강제합니다. 이 단계는 모든 시퀀스 컬렉션에 적용할 수 있으므로 훈련 데이터를 수집하는 데 필요한 노력이 크게 줄어듭니다.

“LLM2Vec은 모든 디코더 전용 LLM에 적용할 수 있는 일반적인 접근 방식입니다.” BehnamGhader는 말했습니다. “디코더 전용 LLM이 우리 분야에서 널리 사용되고 있기 때문에 이를 인코더로 변환할 수 있는 기능은 인코더를 처음부터 훈련하는 것보다 컴퓨팅 효율적인 대안을 제공합니다.”

많은 LLM 애플리케이션에서 검색 강화 생성(RAG)을 사용하는데, 이는 구절과 문서를 임베딩해야 합니다. LLM2Vec을 사용하면 동일한 디코더 전용 LLM이 임베딩 및 생성 작업 모두의 기반이 될 수 있습니다. 이렇게 하면 인프라 요구 사항이 줄어들고 임베딩 및 생성 모델이 일치합니다.

“검색과 같은 텍스트 임베딩 작업은 지시 따르기 동작과 같은 디코더 전용 LLM의 기능으로부터 큰 이점을 얻을 수 있다고 생각합니다.” BehnamGhader는 말했습니다.

LLM2Vec의 실제 적용

연구원들은 13억에서 70억 개의 매개변수 범위의 세 가지 디코더 전용 LLM에 LLM2vec을 적용하고 단어 및 시퀀스 수준 작업에서 결과 모델을 평가했습니다.

그들은 실험한 모델의 사전 훈련 혼합에 포함되었기 때문에 영어 위키피디아 데이터를 사용하여 MNTP 및 비지도 대조 학습 단계를 모두 수행했습니다. 이는 이러한 두 가지 적응 단계가 미래 토큰에 주의를 기울이고 시퀀스 표현을 구성하는 방법을 넘어서는 새로운 지식을 모델에 가르치지 않는지 확인하기 위해서입니다.

그들은 모델 훈련 비용을 줄이기 위해 저랭크 적응(LoRA)을 사용했습니다. 흥미롭게도 LLM2Vec으로 70억 개의 매개변수 모델을 미세 조정하는 전체 프로세스는 80GB A100 GPU에서 4시간 이내에 완료되었는데, 이는 비용이 10달러 미만임을 의미합니다. 그리고 LLM2Vec에 사용되는 훈련 데이터가 디코더 모델 훈련에 사용된 코퍼스에서 추출되었기 때문에 전체 프로세스는 빠르고 효율적입니다.

실험 결과 LLM2Vec 모델은 특히 시퀀스 수준 작업에 적합한 것으로 나타났습니다. 대규모 텍스트 임베딩 벤치마크(MTEB)에서 LLM2Vec으로 변환된 모델은 비지도 모델에서 새로운 최첨단 성능을 달성했습니다.

대부분의 인코더 전용 모델은 디코더 전용 LLM보다 크기가 훨씬 작기 때문에 연구원들은 LLM2Vec을 소규모 모델에서도 테스트했습니다.

“LLM2Vec으로 변환하려는 디코더 전용 모델의 크기는 성능에 영향을 미칩니다.” BehnamGhader는 말했습니다. “LLM2Vec이 대규모 모델에서만 작동하는 것이 아니라는 것을 보여주기 위해 비교적 소규모 디코더 전용 모델에도 적용했습니다.”

13억 개의 매개변수를 가진 Sheared-LLaMA 모델에 대한 실험 결과 LLM2Vec은 소규모에서도 효과적임을 보여줍니다. 연구원들은 LLM2Vec의 코드를 오픈소스로 공개했으며, 실험을 위해 훈련한 모델도 공개했습니다.

“LLM2Vec은 이러한 모델을 텍스트 임베딩 작업에 더 잘 활용하기 위한 첫걸음입니다.” BehnamGhader는 말했습니다. “특히 저자원 설정에 이 접근 방식을 적용하고 처음부터 모델을 훈련할 만큼 충분한 훈련 데이터가 없는 언어에 대한 인코더 모델을 만드는 데 관심이 있습니다.”