프롬프트 엔지니어링
대규모 언어 모델을 사용한 텍스트 임베딩 개선

텍스트 임베딩은 단어, 문장, 문단 또는 문서의 의미를 포착하는 벡터 표현입니다. 정보 검색, 질문 답변, 의미 검색 등 많은 자연어 처리(NLP) 애플리케이션에서 핵심 빌딩 블록으로 사용됩니다.
최근 대규모 언어 모델(LLM)인 GPT-3의 발전은 少샷 학습과 자연어 생성에서卓越한 능력을 보여주었습니다. LLM을 사용하여 텍스트 임베딩을 개선할 수 있을까요? 마이크로소프트 연구진은 “LLM을 사용한 텍스트 임베딩 개선“이라는 논문에서 새로운 방법을 제안했습니다. 이 방법은 LLM을 사용하여 합성 훈련 데이터를 생성하고 미세 조정하여 우수한 결과를 얻습니다.
기존 방법의 한계
전통적인 텍스트 임베딩 기법인 가중 평균 또는 TF-IDF는 텍스트의 풍부한 문맥 정보를 충분히 포착하지 못합니다. 최근의 방법은 사전 훈련된 언어 모델인 BERT를 기반으로 하지만, 복잡한 다단계 훈련 파이프라인이 필요합니다.
이러한 파이프라인은:
- 수십억 개의 약한 레이블 또는 인공 텍스트 쌍으로 사전 훈련
- 제한된 수동으로 레이블링된 데이터셋으로 미세 조정
이러한 파이프라인은大量의 컴퓨팅 자원과 데이터 수집을 위한 인간의 노력이 필요합니다. 훈련 데이터는 또한 다양성과 언어 범위가 제한적입니다. 예를 들어, BEIR 벤치마크는 영어로만 15개의 검색 작업을 포함합니다.
기존 방법은 주로 작은 BERT 스타일의 아키텍처를 백본 모델로 사용합니다. 이러한 모델은 더 발전된 LLM을 활용하지 못합니다.
LLM을 사용한 합성 데이터 생성
이러한 제한을 극복하기 위해, 연구진은 LLM을 사용하여 다양한 합성 훈련 데이터를 생성하는 새로운 단일 단계 훈련 접근 방식을 제안합니다.
주요 단계는:
- 작업 분류: 텍스트 임베딩 작업을 비대칭 작업과 대칭 작업으로 분류합니다.
- 프롬프트 디자인: 각 작업 유형에 맞는 프롬프트 템플릿을 생성하여 LLM이 관련된 훈련 예제를 생성하도록 합니다.
- 합성 데이터 생성: 프롬프트를 사용하여 LLM이 수십만 개의 (쿼리, 문서) 쌍을 생성하도록 합니다.
- 모델 훈련: 미세 조정을 위해 강력한 오픈소스 LLM인 Mistral을 사용합니다.
이 방법은 인간의 레이블링 노력 없이 다양한 작업과 언어에 대한 충분한 훈련 데이터를 생성할 수 있습니다. LLM의 지식을 활용하여 높은 품질의 데이터를 생성할 수 있습니다.
결과
연구진은 MTEB 벤치마크에서 모델을 평가했습니다. 이 벤치마크는 분류, 클러스터링, 의미 유사성, 요약 및 정보 검색 등 다양한 작업을 포함합니다.
제안된 모델은 이전의 최적 결과를 2.4점으로超过했습니다.
| 모델 | 이전 최적 결과 | 제안된 모델 |
|---|---|---|
| 분류 | 76.0 | 78.5 |
| 클러스터링 | 46.1 | 50.3 |
| 페어 와이즈 분류 | 87.1 | 88.3 |
| 재정렬 | 60.0 | 60.2 |
| 검색 | 54.3 | 56.9 |
| STS | 83.1 | 84.6 |
| 요약 | 31.6 | 31.4 |
| 평균 | 64.2 | 66.6 |
이러한 결과는 LLM을 사용하여 텍스트 임베딩을 개선할 수 있음을 보여줍니다.
분석
이 연구는 몇 가지 중요한 결론을 제공합니다.
- LLM은 다양한 NLP 작업을 위한 높은 품질의 합성 훈련 데이터를 생성할 수 있습니다.
- 텍스트 임베딩을 위한 대조적 사전 훈련은 미세 조정에 비해 거의 keine 개선을 제공합니다.
- LLM은 텍스트 임베딩을 개선하기 위한 유용한 도구입니다.
- 저자원 언어에 대한 성능 개선이 필요합니다.
- 언어 모델링과 텍스트 임베딩은 동일한 언어 의미를 이해하는 두 가지 측면입니다.
미래 연구 방향으로는:
- GPT-NeoX와 같은 오픈소스 LLM을 사용한 합성 데이터 생성
- 경량화된 후 훈련을 통해 임베딩을 더 긴 컨텍스트에 적응시키기
- 프롬프트 엔지니어링 기술 개발
- 산업용으로의 적용을 위한 추론 지연과 저장 비용 개선
LLM을 사용하여 텍스트 임베딩을 개선하는 것은 미래를 위한 유망한 방향입니다.
사용자 정의 및 제어
합성 데이터의 주요 이점은 사용자 정의 예제를 생성할 수 있다는 것입니다.
그러나 현재 프롬프트 디자인 관행은 예술보다 과학에 가깝습니다. 시스템적인 방법을 개발하여 생성된 데이터의 속성을 제어할 수 있다면 이 기술의 적용 범위를 확대할 수 있습니다.
대규모 훈련
사전 훈련된 LLM은 이미大量의 언어 지식을 포함하고 있습니다. 그러나 이러한 모델은 아직 훈련 데이터 생성을 위해 최적화되지 않았습니다.
웹 규모의 훈련 데이터 생성을 위한 아키텍처와 목적 함수를 개발하여 이 방법의 품질과 효율성을 향상시킬 수 있습니다.
다중 작업 및 다중 언어
저자원 언어에 대한 성능 개선은 여전히 문제입니다. 대규모 LLM을 사전 훈련하는 대신, 특정 데이터 모드 또는 언어 도메인에 chuyên가 모델을 훈련할 수 있습니다.
이러한 전문가 모델을 사용하여 저자원 언어의 성능을 개선할 수 있습니다.
결론적으로, 이 연구는 LLM을 사용하여 텍스트 임베딩을 개선하는 새로운 개념을 제안합니다. 결과는 이 방법의 효과를 보여줍니다. LLM과 합성 데이터 기술이 발전함에 따라, 이러한 지식을 활용하여 임베딩을 훈련하는 것은 매우 유망한 방향이 될 수 있습니다.













