0 / 0
영어 버전 문서로 돌아가기
IBM slate-125m-english-rtrvr-v2 모델 카드
마지막 업데이트 날짜: 2024년 11월 28일
IBM slate-125m-english-rtrvr-v2 모델 카드

버전 2.0.1 날짜: 06/30/2024

모형 설명

slate.125m.english.rtrvr-v2 모델은 바이인코더를 기반으로 한 표준 문장 변환기 모델입니다. 이 모델은 쿼리, 구절, 문서 등 주어진 입력에 대한 임베딩을 생성합니다. 높은 수준에서 모델은 두 입력 텍스트(예: 텍스트 A(쿼리 텍스트)와 텍스트 B(구절 텍스트) 사이의 코사인 유사성을 최대화하도록 훈련되어 문장 임베딩 q와 p가 생성됩니다. 그런 다음 코사인 유사도를 사용하여 이러한 문장 임베딩을 비교할 수 있습니다.

슬레이트 인코딩된 쿼리 텍스트와 인코딩된 구절 텍스트를 비교한 다이어그램

그림 1. 검색을 위한 바이 인코더 임베딩 모델

기본 언어 모델

임베딩의 기본 언어 모델(LM)은 “slate.125m.english”입니다. RoBERTa-base 트랜스포머 모델(12개 레이어)과 동일한 아키텍처를 가지고 있으며 약 1억 2500만 개의 파라미터와 768개의 임베딩 차원을 가지고 있습니다. 특히, slate.125m.english는 “slate.125m.english”(이전에는 WatBERT)에서 미세 조정되었습니다. 최종 모델은 slate.125m.english.rtrvr입니다. 접미사는 기본 모델 아키텍처가 검색 기반 작업에 맞게 미세 조정되었음을 나타냅니다.

트레이닝 알고리즘

최신 기술이거나 MTEB 리더보드 상위에 있는 대부분의 임베딩 모델은 일반적으로 3단계로 학습됩니다.

  1. 작업별(검색 기반) 사전 교육
  2. 채굴된 쌍에 대한 작업별 미세 조정
  3. 감독되는 쌍에 대한 미세 조정.

동일한 접근 방식을 따르고 마지막으로 학습된 여러 모델의 가중치를 평균하여 모델 융합을 수행합니다.

slate.125m.english.rtrvr는 단계적으로 학습된 다음 모델의 가중치를 평균하는 '모델 융합'을 수행하여 생성되며, 다음과 같은 변형이 있습니다:

  • 위에서 언급한 세 단계 모두에서 미세 조정된 모델 1
  • 모델 2는 위의 모든 단계에서 미세 조정된 모델에서 증류한 것입니다.

작업별 사전 교육

이 단계에서는 기본 LM을 보다 검색 지향적으로 만들기 위해 RetroMAE 프레임워크를 사용합니다. 표 1의 데이터를 사용하여 slate.125m.english로 기본 LM을 초기화하고 RetroMAE 사전 학습을 계속 진행합니다. 하이퍼 매개변수는 학습률입니다: 2e-5, 단계 수: 190000, GPU: 24 A100 40GB.

참고: 다음 2단계에 대한 기본 LM입니다.

대규모 비지도 데이터로 미세 조정하기

이 모델은 사전 학습된 모델인 RetroMAE로 초기화되며 다음과 같이 학습됩니다.

그림 1에서와 같이 임베딩 모델 학습을 위해 바이 인코더 프레임워크를 사용합니다. RetroMAE 사전 학습된 LM은 <query, passage> 텍스트 쌍으로 대비 손실 목표를 사용하여 미세 조정합니다. 표 2에 표시된 것처럼 다양한 도메인에서 대규모 쌍을 채굴합니다. 이 모델은 전제를 해당 가설과 일치시키는 NLI(자연어 추론)와 같은 분류 작업을 포함하여 다양한 쌍으로 학습됩니다. 하이퍼 매개변수는 학습률입니다: 2e-4; 단계 수: 35000; GPU: 8 A100_80GB, 유효 배치 크기: 16k 쌍

하드 네거티브가 있는 소규모 감독 데이터로 미세 조정하기

마지막으로, 검색 작업을 위해 하드 네거티브 마이닝을 통해 감독을 받는 고품질 감독 훈련 쌍으로 모델을 미세 조정합니다. 중간 모델 체크포인트는 반복적으로 데이터 세트별 하드 네거티브를 마이닝하는 데 사용되며, 이후 감독된 미세 조정에 사용됩니다. 이 프로세스는 모델이 스스로 실수를 통해 학습하게 함으로써 모델을 더욱 견고하게 만들고 훨씬 적은 데이터로 안정화하는 데 도움이 됩니다.

학습 데이터 섹션에서 언급한 데이터 세트의 하위 집합(보류된 데이터 세트에 대한 검증 실험을 수행하여 찾은)을 사용하여 다음과 같이 모델을 미세 조정합니다: AllNLI, Squad, Stackexchange, NQ, HotpotQA, Fever 및 5M Specter, S2orc, WikiAnswers 각각에서 하위 집합을 사용합니다. 또한 Mixtral-8x7B-Instruct-v0.1을 사용하여 질문-답변, 사실 확인 등의 양질의 쌍을 만들기 위해 합성적으로 트리플을 생성하기도 합니다. IBM 특정 사용 사례에 더 나은 성능을 제공하기 위해 IBM 소프트웨어 지원 데이터와 IBM Docs에서 생성된 쌍도 포함합니다.

학습 하이퍼파라미터는 학습 속도입니다: 2e-5; 최대 쿼리 길이: 64; 최대 통로 길이: 512; 최대 단계: 5000; 유효 배치 크기: 512; GPU: 1A100_80GB

훈련 데이터

테이블 1. 사전 교육 데이터
데이터 세트 단락
Wikipedia 36396918
도서 코퍼스 3401308
스택 교환 15999837
테이블 2. 비지도 및 지도 미세 조정 데이터
데이터 세트
SPECTER 인용 세쌍둥이 684100
스택 교환 중복 질문(제목) 304525
스택 교환 중복 질문(본문) 250519
스택 교환 중복 문제(제목+본문) 250460
자연스러운 질문(NQ) 100231
SQuAD2.0 87599
PAQ(질문, 답변) 쌍 64371441
스택 교환(제목, 답변) 쌍 4067139
스택 교환(제목, 본문) 쌍 23978013
스택 교환(제목+본문, 답변) 쌍 187195
S2ORC 인용 쌍(제목) 52603982
S2ORC (제목, 초록) 41769185
S2ORC_citations_abstracts 52603982
WikiAnswers 중복된 질문 쌍 77427422
SearchQA 582261
HotpotQA 85000
발열 109810
Arxiv 2358545
Wikipedia 20745403
PubMed 20000000
미라클 엔 페어 9016
DBPedia 제목-본문 쌍 4635922
합성: 쿼리-위키백과 구절 1879093
합성: 사실 확인 9888
IBM: IBM Docs(제목-본문) 474637
IBM: IBM 지원(제목-본문) 1049949

사용량

# make sure you’ve sentence transformers installed

pip install -U sentence-transformers

from sentence_transformers import SentenceTransformer, util

model = SentenceTransformer('path_to_slate_model')

input_queries = [
' Who made the song My achy breaky heart? ',
'summit define']

input_passages = [
" Achy Breaky Heart is a country song written by Don Von Tress. Originally titled Don't Tell My Heart and performed by The Marcy Brothers in 1991. ",
"Definition of summit for English Language Learners. : 1 the highest point of a mountain : the top of a mountain. : 2 the highest level. : 3 a meeting or series of meetings between the leaders of two or more governments."]

query_embeddings = model.encode(input_queries)

passage_embeddings = model.encode(input_passages)

print(util.cos_sim(query_embeddings, passage_embeddings)

이 모델의 최대 시퀀스 길이는 512토큰입니다.

평가

기준선

공정한 비교를 위해 다음 기준선과 비교합니다:

  1. BM25 (tf-idf 기반 기존 모델)

  2. ELSER(Elastic에서 제공하는 상용 검색 알고리즘)

  3. all-MiniLM-l6-v2: 인기있는 오픈 소스 문장 변환기 모델입니다. 이 모델은 slate.30m.english.rtrvr와 동일한 아키텍처를 공유하며 상업용 라이선스 없이 더 많은 데이터로 학습되었습니다. 자세한 내용은 huggingface 모델 카드를 참조하세요.

  4. E5-base: BEIR 벤치마크에서 매우 우수한 성능을 보이는 최신 오픈 소스 트랜스포머 모델입니다. 기본 사이즈 모델이며, slate.125m.english.rtrvr와 동일한 아키텍처를 가지고 있습니다. [참고: 왕 et.al.., 2022: 약한 감독 대비 사전 학습을 통한 텍스트 임베딩]. 허깅페이스 모델 카드

  5. E5-small: 오픈 소스 E5 제품군 내의 더 작은 모델입니다. 이 모델의 임베딩 크기는 slate.30m.rtrvr(384)와 일치하지만 레이어가 12개이므로 더 크고 약간 느립니다. [참고: 왕 et.al.., 2022: 약한 감독 대비 사전 학습을 통한 텍스트 임베딩]. 허깅페이스 모델 카드

  6. BGE-base: 768 임베딩 크기에 대해 BEIR 벤치마크에서 최고의 성능을 자랑하는 최신 오픈 소스 변압기 모델입니다. 허깅페이스 모델 카드

  7. BGE-small: 384 임베디드 크기에서 BEIR 벤치마크에서 최고의 성능을 자랑하는 최신 오픈 소스 변압기 모델입니다. 허깅페이스 모델 카드

또한 이 모델들의 성능을 이전 버전의 슬레이트 모델인 slate.125m.english.rtrvr-012024 및 slate.30m.english.rtrvr-012024와 비교하기도 합니다.

평가 기준: BEIR( MTEB 검색 탭 )

BEIR 벤치마크는 제로 샷 설정에서 평가된 15개의 오픈 소스 검색 작업으로 구성되어 있습니다. BEIR은 9가지 검색 작업을 포함해 다양성에 중점을 두었습니다: 팩트 체크, 인용 예측, 중복 질문 검색, 논거 검색, 뉴스 검색, 질문 답변, 트윗 검색, 바이오-의료 IR, 기업 검색 등입니다. 또한 다양한 텍스트 도메인의 데이터 세트, 광범위한 주제(예: Wikipedia)와 전문 주제(예: COVID-19 출판물), 다양한 텍스트 유형(뉴스 기사 vs. 트윗), 다양한 크기의 데이터 세트(3.6k - 15M 문서), 쿼리 길이(평균 쿼리 길이 3~192단어) 및 문서 길이(평균 문서 길이 11~635단어)가 다른 데이터 세트 등 다양한 데이터 세트가 있습니다. BEIR은 정규화된 누적 할인 이득(구체적으로는 nDCG@10) 메트릭을 사용하여 평가합니다.

긴 NQ

Long NQ는 전체 RAG 파이프라인을 평가하기 위해 설계된 IBM 데이터 집합으로, NaturalQuestions 데이터 집합의 하위 집합을 기반으로 합니다. 개발자 세트에는 2,345개의 Wikipedia 문서에 포함된 178,891개의 구절로 구성된 300개의 답변 가능한 질문이 있습니다. 또한 각 문제와 관련된 골드 위키백과 구절도 제공합니다. 검색하는 동안 모든 문제에 대해 말뭉치에서 관련 골드 통로를 얻는 것이 과제입니다.

결과

테이블 3. BEIR 벤치마크에서의 성능 비교(MTEB 검색 탭)
모델 BEIR-15 (NDCG@10)
BM25 42.02
ELSER 49.01
all-miniLM-L6-v2 41.95
ES-small-v2 49.04
ES-base-v2 50.29
BGE-small 51.68
BGE 기반 53.25
slate.30m.english.rtrvr 01.20.2024 46.91
slate.125m.english.rtrvr-01.20.2024 49.37
slate.30m.english.rtrvr 06.30.2024 49.06
slate.125m.english.rtrvr-06.30.2024 51.26

슬레이트 및 기타 모델에 대한 결과를 보여주는 그래프

그림 2. BEIR 벤치마크에서의 성능 비교(MTEB 검색 탭)

표 4. Long NQ 데이터 세트의 성능 비교
모델 LONGNQ (NDCG@10)
all-miniLM-L6-v2 58.10
BGE-small 59.33
BGE 기반 61.29
ES-small-v2 61.88
ES-base-v2 63.80
slate.30m.english.rtrvr 01.20.2024 59.94
slate.125m.english.rtrvr-01.20.2024 65.01
slate.30m.english.rtrvr 06.30.2024 62.07
slate.125m.english.rtrvr-06.30.2024 66.80

슬레이트 및 기타 모델에 대한 결과를 보여주는 그래프

그림 3. Long NQ 데이터 세트의 성능 비교

런타임 성능

성능 런타임은 466개의 쿼리가 있는 재순위 지정 작업에서 측정됩니다. 각 쿼리에 대해 top-100에서 얻은 BM25 구절의 순위를 다시 지정하고 모든 쿼리에 대한 평균 시간을 보고합니다. 순위 재조정은 A100_40GB GPU에서 수행되었습니다.

표 5. 재랭크 시 런타임 성능
모델 시간/쿼리
all-miniLM-L6-v2 0.18 초
E5-small 0.33 초
E5-base 0.75 초
BGE-small 0.34 초
BGE 기반 0.75 초
slate.125m.english.rtrvr 0.71 초
slate.30m.english.rtrvr 0.20 초
일반적인 AI 검색 및 응답
이러한 응답은 제품 문서의 컨텐츠를 기반으로 하는 watsonx.ai 의 대형 언어 모델에 의해 생성됩니다. 자세히 알아보기