출시
vdr-2b-multi-v1
시각적 문서 검색을 위한 최고의 다국어 임베딩 모델입니다. 일반 영어로도 출시되었습니다.vdr-2b-v1
를 오픈소스화하고, 새로운vdr-multilingual-train
이 데이터 세트는 시각적 문서 검색을 위한 최대 규모의 오픈 소스 다국어 합성 데이터 세트입니다. 이 데이터 세트에는 500,000개의 고품질 샘플이 포함되어 있으며 시각적 문서 검색을 위한 최대 규모의 오픈 소스 다국어 합성 데이터 세트입니다.

자랑스러운 존재 vdr-2b-multi-v1
(🤗) 는 여러 언어와 도메인에서 시각적 문서 검색을 위해 설계된 다국어 임베딩 모델입니다. 이 모델은 문서 페이지 스크린샷을 조밀한 단방향 표현으로 인코딩하도록 설계되어 OCR, 데이터 추출 파이프라인, 청킹 없이도 시각적으로 풍부한 다국어 문서를 효과적으로 검색하고 쿼리할 수 있습니다.
vdr-2b-multi-v1
이 모델은 다음을 기반으로 합니다. MrLight/dse-qwen2-2b-mrl-v1
를 사용하여 자체 제작한 대규모 다국어 쿼리-이미지 쌍 데이터 세트에 대해 학습했습니다. 이 모델은 LlamaIndex와 협력하여 구축되었으며 다음과 같습니다. mcdse-2b-v1
다음 반복은 다음 반복은 vdr-2b-multi-v1
학습에 사용된 학습과 방법을 확장하고 개선하여 더 강력하고 더 나은 모델을 만들었습니다.
- 🇮🇹 이탈리아어, 🇪🇸 스페인어, 🇬🇧 영어, 🇫🇷 프랑스어 및 🇩🇪 독일어 교육용: 이들은 함께 50만 개의 고품질 샘플이 포함된 새로운 대규모 오픈 소스 다국어 학습 데이터 세트를 형성합니다.
- 낮은 비디오 메모리와 빠른 추론이미지 블록 768개를 사용한 영어 전용 모델이 2560개의 이미지 블록을 사용한 기본 모델보다 더 나은 성능을 보였습니다. 그 결과 추론 속도가 3배 빨라지고 그래픽 메모리 사용량이 크게 감소했습니다.
- 언어 간 검색: 실제 시나리오에서는 훨씬 더 좋습니다. 예를 들어 이탈리아어 쿼리를 사용하여 독일어 문서를 검색할 수 있습니다.
- 마트료시카 표현 학습벡터의 크기를 3배로 줄이면서도 98%의 임베딩 품질을 유지할 수 있습니다. 이를 통해 검색 속도를 획기적으로 높이는 동시에 스토리지 비용을 절감할 수 있습니다.
사용법
🎲 지금 사용해 보세요!
vdr-2b-multi-v1
다음은 다음에서 찾을 수 있는 데이터 유형의 예입니다. 포옹하는 얼굴 공간 찾아보세요!
센텐스 트랜스포머와 라마 인덱스의 직접 통합을 통해 vdr-2b-multi-v1
임베드 생성은 그 어느 때보다 쉬워졌습니다. 몇 줄의 코드만으로 시작할 수 있습니다:
라마인덱스를 통해
pip install -U llama-index-embeddings-huggingface
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
model = HuggingFaceEmbedding(
model_name="llamaindex/vdr-2b-multi-v1",
device="cpu", # "mps" for mac, "cuda" for nvidia GPUs
trust_remote_code=True,
)
image_embedding = model.get_image_embedding("image.png")
query_embedding = model.get_query_embedding("Chi ha inventato Bitcoin?")
문장 트랜스포머를 통해
from sentence_transformers import SentenceTransformer
model = SentenceTransformer(
model_name_or_path="llamaindex/vdr-2b-multi-v1",
device="cuda",
trust_remote_code=True,
# These are the recommended kwargs for the model, but change them as needed if you don't have CUDA
model_kwargs={
"torch_dtype": torch.bfloat16,
"device_map": "cuda:0",
"attn_implementation": "flash_attention_2"
},
)
embeddings = model.encode("image.png")
트레이닝 데이터 세트
시각적 문서 검색을 위한 우수한 단방향 모델을 학습하려면 고품질 데이터가 필요하지만 현재 상용화된 멀티모달 데이터 세트는 부족하고 다국어가 지원되지 않습니다.
따라서 처음부터 다시 구축하는 데 상당한 시간이 소요되었습니다. 원본 데이터 세트에는 공개 인터넷 PDF를 사용하여 처음부터 수집하고 생성한 50만 개의 다국어 쿼리 이미지 샘플이 포함되어 있습니다. 각 이미지와 연관된 쿼리는 시각 언어 모델링(VLM)을 사용하여 합성적으로 생성되었습니다. 비교하자면, 당사의 데이터 세트는 멀티모달 시각 문서 검색을 위한 이전의 가장 큰 오픈 소스 합성 데이터 세트( 콜팔리 트레이닝 데이터 세트 (폐기된 문서 생성) 10배 더 많은 샘플이 생성됩니다.

데이터 수집
각 언어에 대해 다양한 주제를 포괄하는 긴 쿼리 목록을 생성한 다음, 검색 엔진의 언어 필터링 기능을 사용하여 지정된 언어로 된 문서만 크롤링합니다. 이 '주제별 검색' 기법은 모델이 다양한 주제와 도메인을 파악하고 실제 시나리오에서 우수한 성능을 발휘하도록 보장합니다.
크롤링 프로세스를 통해 약 50,000개의 다국어 문서가 생성되었습니다. 이전과 비교하여 mcdse-2b-v1
모델에 사용된 접근 방식과 달리 페이지가 무작위로 추출되지 않습니다. 대신, 각 PDF의 각 페이지가 문서 레이아웃 분석 모델을 통해 실행되어 페이지에 텍스트 요소가 더 많이 포함되어 있는지 또는 시각적 요소가 더 많이 포함되어 있는지 결정합니다. 그 결과 해당 페이지를 텍스트만, 시각적 요소만 또는 혼합으로 분류하는 숫자가 표시됩니다. 그런 다음 이 마크업 단계를 사용하여 약 10만 개의 페이지를 샘플링하여 페이지 유형별로 균등하게 분포되도록 했습니다.
합성 생성
그런 다음 gemini-1.5-pro 및 Qwen2-VL-72B를 사용하여 쿼리를 생성했습니다. 이들의 임무는 특정 질문과 일반 질문을 제시하는 것입니다. 특정 질문만 모델을 훈련하는 데 사용되지만, 대규모 언어 모델(LLM)이 이 둘을 구분하도록 하면 일반적으로 정보 검색 훈련을 위한 더 강력한 특정 질문으로 이어집니다.
문제가 생성되면 추가 정리 단계를 통해 교육에 충분한지 확인합니다. 여기에는 다음이 포함됩니다:
- 언어가 올바른지 확인
- 서식 지정 문제 해결
- 마크다운 삭제
- 질문은 한 가지 질문만 하도록 합니다.
- 기본 문구 삭제(예: "그림 1에 따르면", "이 문서", ...)
필터링 및 하드 네거티브 케이스 마이닝
이 정리 단계는 쿼리가 구문적으로 정확하고 몇 가지 엄격한 가이드라인을 따르도록 보장합니다. 그러나 여전히 쿼리가 정보 검색에 충분한지는 보장하지 않습니다.
잘못된 질문을 걸러내기 위해 voyage-3 임베딩 모델을 사용하여 각 광범위한 쿼리를 임베딩하고 색인을 생성했습니다. 각 특정 질문에 대해 색인을 검색했습니다. 관련 광의의 질문이 처음 100개의 결과에 나타나면 해당 쿼리는 "양호"로 분류됩니다. 이 방법은 엔트로피가 낮거나 중복되거나 너무 유사한 질문을 제거합니다. 평균적으로 각 언어 데이터 세트에서 40% 쿼리가 제거되었습니다.
그런 다음 임계값이 0.75로 고정된 특정 문제에 대해서만 voyage-3을 사용하여 하드 네거티브 예제를 채굴했습니다. 또한 다음과 같이 사용되었습니다. 엔비디아/NV-Retriever-v1 에 설명된 대로 포지티브 케이스 인식 네거티브 케이스 마이닝으로 실험을 수행했지만, 이 데이터 세트에서는 너무 쉽거나 먼 네거티브 케이스를 생성하는 것으로 보입니다.
다운로드
(VDR-멀티언어-트레인 🤗) 이 훈련 데이터 세트는 이제 오픈 소스로 제공되며 Hugging Face에서 바로 사용할 수 있습니다. 훈련 데이터 세트에는 496,167개의 PDF 페이지가 포함되어 있으며, 이 중 280,679개만이 필터링된 쿼리(위에서 설명한 방법 사용)와 연관되어 있습니다. 쿼리가 없는 나머지 이미지는 여전히 하드 네거티브 예시로 사용됩니다.
다국어 지원 | # 필터링된 쿼리 | # 필터링되지 않은 쿼리 |
---|---|---|
영어(언어) | 53,512 | 94,225 |
스페인어 | 58,738 | 102,685 |
이탈리아어(언어) | 54,942 | 98,747 |
독일어(언어) | 58,217 | 100,713 |
프랑스어(언어) | 55,270 | 99,797 |
(그랜드) 합계 | 280,679 | 496,167 |
데이터 세트는 각각 언어에 해당하는 5개의 서로 다른 하위 집합으로 구성되어 있습니다. 여기에서 직접 찾아볼 수 있습니다:
데이터 세트는 각각 언어에 해당하는 5개의 서로 다른 하위 집합으로 구성되어 있습니다. 여기에서 직접 살펴볼 수 있습니다:
또는 load_dataset
언어를 개별적으로 다운로드할 언어의 하위 집합을 지정합니다:
from datasets import load_dataset
italian_dataset = load_dataset("llamaindex/vdr-multilingual-train", "it", split="train")
english_dataset = load_dataset("llamaindex/vdr-multilingual-train", "en", split="train")
french_dataset = load_dataset("llamaindex/vdr-multilingual-train", "fr", split="train")
german_dataset = load_dataset("llamaindex/vdr-multilingual-train", "de", split="train")
spanish_dataset = load_dataset("llamaindex/vdr-multilingual-train", "es", split="train")
가치 평가

이 모델은 텍스트 전용, 시각적 전용 및 하이브리드 페이지 스크린샷에서 다국어 기능을 테스트할 수 있는 ViDoRe 벤치마크 및 맞춤형 평가 세트에서 평가되었습니다. 평가 데이터 세트는 허깅 페이스에서 공개적으로 사용할 수 있습니다(VDR-다국어 테스트 🤗).
평가 오염을 피하기 위해 이러한 데이터 세트의 페이지가 훈련 세트에 나타나지 않도록 했습니다. 이러한 데이터 세트는 학습 데이터 세트와 동일한 방식으로 수집 및 생성되었지만 샘플 크기는 더 작았습니다. 필터링 단계는 모두 수작업으로 이루어졌습니다. 고품질 데이터를 확보하기 위해 각 쿼리를 평가하고, 대조하고, 정제(필요한 경우)했습니다.
모든 평가는 다음을 사용하여 수행되었습니다. 1536 Vi벡터와 함께 사용할 수 있습니다. 최대 768 토큰 계산하기 위해 표시되는 이미지의 해상도입니다. NDCG@5 연주할 점수.
평균 | 프랑스어(텍스트) | 프랑스어(시각적) | 프랑스어(혼합) | |
---|---|---|---|---|
DSE-QWEN2-2B-MRL-V1 | 93.5 | 94.7 | 90.8 | 95.1 |
VDR-2B-MULTI-V1 | 95.6 | 95.6 | 93.3 | 97.9 |
+2.2% |
평균 | 독일어(텍스트) | 독일어(시각) | 독일어(혼합) | |
---|---|---|---|---|
DSE-QWEN2-2B-MRL-V1 | 93.0 | 93.4 | 90.0 | 95.5 |
VDR-2B-MULTI-V1 | 96.2 | 94.8 | 95.7 | 98.1 |
+3.4% |
평균 | 이탈리아어(텍스트) | 이탈리아어(시각) | 이탈리아어(혼합) | |
---|---|---|---|---|
DSE-QWEN2-2B-MRL-V1 | 95.1 | 95.1 | 94.0 | 96.2 |
VDR-2B-MULTI-V1 | 97.0 | 96.4 | 96.3 | 98.4 |
+2% |
평균 | 스페인어(텍스트) | 스페인어(시각적) | 스페인어(혼합) | |
---|---|---|---|---|
DSE-QWEN2-2B-MRL-V1 | 96.7 | 97.2 | 94.7 | 98.2 |
VDR-2B-MULTI-V1 | 98.1 | 98.3 | 96.9 | 99.1 |
+1.4% |
평균 | 영어(텍스트) | 영어(시각적) | 영어(혼합) | |
---|---|---|---|---|
DSE-QWEN2-2B-MRL-V1 | 98.0 | 98.3 | 98.5 | 97.1 |
VDR-2B-MULTI-V1 | 98.1 | 97.9 | 99.1 | 97.3 |
+0.1% |
다국어 모델은 모든 언어와 모든 페이지 유형에서 기본 모델을 능가하여 평균 +2.31 TP3T의 성능 향상을 보였으며, ViDoRe 벤치마크(+0.51 TP3T)에서도 약간 더 나은 성능을 보였습니다. 저희는 vdr-2b-multi-v1
특히 영어가 아닌 순수 시각적 또는 하이브리드 페이지의 경우 성능이 크게 향상되었습니다. 예를 들어 독일어 순수 시각적 검색의 경우 기본 모델에 비해 NDCG@5가 +6.33% 향상되었습니다.
또한 영어의 하위 집합에 대한 버전도 학습했습니다(VDR-2B-V1 🤗). 전체 ViDoRe 벤치마크(768개 이미지 사용) 토큰 (평가용)에서 다국어 버전과 영어 전용 버전 모두 기본 모델보다 우수한 성능을 보였습니다.
평균 | 시프트 프로젝트 | 정부 | 헬스케어 | 에너지 | ai | docvqa | arxivqa | tatdqa | 인포큐아 | 탭쿼드 | |
---|---|---|---|---|---|---|---|---|---|---|---|
DSE-QWEN2-2B-MRL-V1 | 83.6 | 79.8 | 95.7 | 96.9 | 92.0 | 98.2 | 56.3 | 85.2 | 53.9 | 87.5 | 90.3 |
VDR-2B-MULTI-V1 | 84.0 | 82.4 | 95.5 | 96.5 | 91.2 | 98.5 | 58.5 | 84.7 | 53.6 | 87.1 | 92.2 |
VDR-2B-V1 | 84.3 | 83.4 | 96.9 | 97.2 | 92.6 | 96.8 | 57.4 | 85.1 | 54.1 | 87.9 | 91.3 |
더 빠른 추론

일반 영어 vdr-2b-v1
이 모델은 또한 30%의 이미지 토큰(768 대 2560)만 사용하면서 ViDoRe 벤치마크 합성 데이터 세트에서 기본 모델의 성능과 일치합니다. 이는 추론 속도를 3배나 효과적으로 증가시키고 그래픽 메모리 사용량을 크게 줄입니다.
평균 | 시프트 프로젝트 | 정부 | 헬스케어 | 에너지 | ai | |
---|---|---|---|---|---|---|
DSE-QWEN2-2B-MRL-V1(2560 이미지 토큰) | 93.0 | 82 | 96 | 96.4 | 92.9 | 97.5 |
VDR-2B-V1 (768 이미지 토큰) | 93.4 | 83.4 | 96.9 | 97.2 | 92.6 | 96.8 |
언어 간 검색
이 모델은 각 언어에 대해 개별적으로 학습되었지만, 교차 언어 검색 기능도 향상되었습니다. 이 기능을 테스트하기 위해 독일어 평가 세트 쿼리를 DeepL 을 사용하여 이탈리아어로 번역했습니다. 문서 페이지의 스크린샷은 독일어 원문으로 유지되었습니다.
평균 | 이탈리아어 -> 독일어(텍스트) | 이탈리아어 -> 독일어(시각적) | 이탈리아어 -> 독일어(혼합) | |
---|---|---|---|---|
DSE-QWEN2-2B-MRL-V1 | 93.1 | 92.6 | 93.5 | 93.3 |
VDR-2B-MULTI-V1 | 95.3 | 95.0 | 95.8 | 95.1 |
+2.3% |
이 모델은 모든 문서 유형에서 평균 +2.31 TP3T의 향상된 성능을 보이며, 이러한 검색 기능은 특히 유럽과 같이 언어적으로 분산된 지역의 실제 사용 사례에서 매우 중요합니다. 예를 들어, 복잡한 유럽 바인딩 결정, 사용 설명서, 금융 자산 KID, 의약품 패키지 삽입물 등과 같은 복잡한 다국어 소스에서 언어에 구애받지 않고 검색할 수 있습니다.
MRL 및 바이너리 임베딩
이 모델은 마트료시카 표현 학습(MRL)을 사용하여 훈련됩니다. 훈련 중에 사용되는 손실 함수는 이러한 모든 차원에서의 성능을 추적하도록 보정되어 모델에 가장 중요한 인식 정보를 미리 로드할 수 있습니다. 이를 통해 크기와 예산에 따라 임베딩 차원을 효율적으로 좁힐 수 있습니다. MRL에 대해 자세히 알아보려면 허깅 페이스의이 블로그 게시물이에 대한 좋은 설명이 있었습니다.
다양한 벡터 차원에서 모델의 검색 능력을 테스트하기 위해 이탈리아어 -> 독일어 교차 언어 벤치마크에서 평가했습니다.
NDCG@5(부동 소수점)
평균 | 이탈리아어 -> 독일어(텍스트) | 이탈리아어 -> 독일어(시각적) | 이탈리아어 -> 독일어(혼합) | |
---|---|---|---|---|
1536 Vi | ||||
DSE-QWEN2-2B-MRL-V1 | 93.1 | 92.6 | 93.5 | 93.3 |
VDR-2B-MULTI-V1 | 95.3 | 95.0 | 95.9 | 95.1 |
+2.3% | ||||
1024 V | ||||
DSE-QWEN2-2B-MRL-V1 | 92.2 | 90.9 | 92.3 | 93.5 |
VDR-2B-MULTI-V1 | 94.6 | 93.1 | 95.7 | 95.1 |
+2.5% | ||||
512 Vi | ||||
DSE-QWEN2-2B-MRL-V1 | 89.8 | 87.9 | 89.4 | 92.2 |
VDR-2B-MULTI-V1 | 93.0 | 91.1 | 93.4 | 94.5 |
+3.4% |
NDCG@5(바이너리)
평균 | 이탈리아어 -> 독일어(텍스트) | 이탈리아어 -> 독일어(시각적) | 이탈리아어 -> 독일어(혼합) | |
---|---|---|---|---|
1536 Vi | ||||
DSE-QWEN2-2B-MRL-V1 | 89.8 | 88.2 | 90.3 | 90.8 |
VDR-2B-MULTI-V1 | 92.3 | 89.6 | 94.1 | 93.3 |
+2.8% | ||||
1024 V | ||||
DSE-QWEN2-2B-MRL-V1 | 86.7 | 84.9 | 88.2 | 86.9 |
VDR-2B-MULTI-V1 | 90.8 | 87.0 | 92.6 | 92.8 |
+4.6% | ||||
512 Vi | ||||
DSE-QWEN2-2B-MRL-V1 | 79.2 | 80.6 | 81.7 | 75.4 |
VDR-2B-MULTI-V1 | 82.6 | 77.7 | 86.7 | 83.3 |
+4.0% |
1024차원 부동소수점 벡터는 품질과 크기 사이에서 매우 좋은 균형을 제공합니다. 1024 차원 부동 소수점 벡터는 약 301 TP3T 더 작지만 여전히 991 TP3T의 검색 성능을 유지합니다. 1536 차원 이진수 벡터도 마찬가지인데, 벡터당 바이트 수는 10배 더 적지만 여전히 971 TP3T의 검색 품질을 유지합니다. 흥미롭게도 1536 바이너리 벡터는 기본 모델의 1536 부동 소수점 벡터의 성능과 거의 일치합니다.
결론 및 다음 단계
우리는 다음과 같이 믿습니다. vdr-2b-multi-v1
노래로 응답 vdr-2b-v1
는 많은 사용자에게 유용할 것입니다.
당사의 다국어 모델은 업계 최초로 다국어 및 교차 언어 시나리오에서 성능을 크게 개선했으며, MRL 및 이진 정량화 덕분에 검색이 그 어느 때보다 더 효율적이고 빨라졌습니다. 특히 유럽과 같이 언어적으로 분산된 지역에서 새로운 사용 사례와 기회가 열릴 것으로 기대합니다.
영어 전용 버전은 기본 모델을 크게 개선하여 이제 문서를 3배 더 빠르게 임베드하면서도 메모리는 줄이고 검색 품질은 동일하게(또는 더 좋게) 유지할 수 있습니다.
이 모든 것이 새로운 vdr-multilingual-train
이 데이터 세트에는 500,000개의 고품질 샘플이 포함되어 있습니다. 이 데이터 세트에는 500,000개의 고품질 샘플이 포함되어 있으며 시각적 문서 검색을 위한 최대 규모의 다국어 오픈 소스 합성 데이터 세트입니다.
향후 연구에서는 이 모델을 새롭고 특정한 도메인에 적용했을 때 어떤 성능을 보이는지 살펴볼 예정입니다. 아직 개발 초기 단계이므로 결과를 발표하기 전에 더 많은 작업이 필요하지만, 초기 테스트에 따르면매우 많이더 적은 데이터와 컴퓨팅 리소스로도 인상적인 검색 성능 향상을 달성할 수 있습니다.
향후 업데이트를 기대해 주세요!
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...