GPL: 밀집 검색의 비지도 도메인 적응을 위한 생성적 의사 레이블링
정보 검색은 많은 자연어 처리 (NLP) 애플리케이션에 중요합니다. 전통적인 어휘 기반 방법은 텍스트 콘텐츠를 검색하는 데 사용되어 왔지만, 어휘적 간극이라는 문제가 있습니다. 이러한 방법은 동의어를 인식하거나 중의적인 단어를 구별할 수 없습니다.
쿼리와 구절을 공유 벡터 공간에 매핑하는 밀집 검색 방법은 이러한 문제를 해결하기 위해 인기를 얻었으며, 전통적인 접근법보다 개선된 성능을 보여주었습니다. 그러나 이들은 대규모 학습 데이터셋을 필요로 하며 도메인 변화에 민감합니다. 예를 들어, MS MARCO로 학습된 모델은 COVID-19 문헌에서 성능이 좋지 않습니다.
따라서 많은 양의 레이블링된 데이터를 필요로 하지 않으면서 밀집 검색 모델을 새로운 도메인에 효과적으로 적응시킬 수 있는 방법을 만드는 것이 필요합니다. 제안된 방법 중 하나는 GPL(Generative Pseudo Labeling)로, 쿼리 생성기와 의사 레이블링을 결합한 밀집 검색 모델을 위한 비지도 도메인 적응 기법입니다. GPL은 T5 모델을 사용하여 대상 도메인에 대한 쿼리를 생성합니다. 기존 밀집 검색 모델을 사용하여 부정 구절을 검색하고, cross-encoder를 사용하여 (쿼리, 구절) 쌍에 점수를 매깁니다.
GPL은 다른 도메인 적응 방법보다 뛰어난 성능을 보입니다. MS MARCO로 학습된 모델 대비 최대 9.3 nDCG@10(순위 10에서의 정규화된 할인 누적 이득), QGen(Query generation) 대비 최대 4.5 nDCG@10까지 성능을 향상시킵니다.
그림: 도메인 적응 밀집 검색기 학습을 위한 GPL
그림: 도메인 적응 밀집 검색기 학습을 위한 GPL | 출처
이 글에서는 GPL이 도메인 적응 문제를 어떻게 해결하는지, 그 기본 메커니즘, 그리고 이전 도메인 적응 방법에 비해 제공하는 개선 사항을 논의합니다. 자세한 내용은 Generative Pseudo Labeling 논문을 참조하세요.
밀집 검색만으로는 항상 충분하지 않은 이유
인상적인 역량에도 불구하고, 밀집 검색 방법에는 단점이 있습니다. 가장 중요한 문제는 대규모 학습 데이터셋의 필요성과 새로운 도메인에 적응할 때의 어려움입니다. 이러한 과제를 자세히 살펴보면 다음과 같습니다:
데이터 요구 사항: 밀집 검색 모델은 효과적으로 작동하기 위해 많은 양의 학습 데이터를 필요로 합니다. 이러한 데이터 요구 사항은 대규모 레이블링 데이터셋을 사용할 수 없는 전문 도메인에 밀집 검색을 적용하는 데 중대한 과제가 됩니다.
도메인 변화에 대한 민감성: 밀집 검색 모델은 도메인 변화에 매우 민감합니다. 학습된 도메인과 다른 도메인에 적용될 때 성능이 저하됩니다.
어휘적 간극: 밀집 검색의 대안인 전통적인 어휘 기반 방법은 어휘적 간극 문제를 겪습니다. 이들은 동의어를 인식하거나 중의적인 단어를 구별할 수 없습니다.
제로샷 성능: 밀집 검색 모델은 제로샷 설정에서 적용될 때 주어진 코퍼스에서 종종 성능이 좋지 않습니다.
GPL 소개: 도메인 적응을 위한 빠르고 강력한 솔루션
GPL은 새로운 도메인에 적용될 때 밀집 검색 모델의 성능을 향상시키도록 설계된 비지도 도메인 적응 기법입니다. 이 방법은 다음을 포함한 여러 핵심 단계로 구성됩니다:
쿼리 생성
부정 샘플 마이닝
의사 레이블링
밀집 검색기 학습
T5를 통한 쿼리 생성
GPL 프로세스는 쿼리 생성으로 시작되며, 여기서 대상 도메인 내의 각 passage에 대해 합성 쿼리가 생성됩니다. 이는 사전 학습된 T5 인코더-디코더 모델을 사용하여 수행됩니다.
T5 모델은 MS MARCO(Microsoft Machine Reading Comprehension)와 같은 대규모 데이터셋으로 학습됩니다. 각 passage의 내용과 관련된 쿼리를 생성하여, 본질적으로 합성 질문-답변 쌍을 만듭니다.
passage당 생성되는 쿼리 수는 생성된 쿼리의 총수를 일정하게 유지하기 위해 corpus 크기에 따라 조정됩니다. 이러한 합성 데이터 생성은 특정 대상 도메인에 대한 dense retriever의 후속 학습을 위한 데이터를 제공하기 때문에 중요합니다.
Dense Retrieval을 통한 Negative Mining
GPL 방법은 생성된 각 쿼리에 대해 사전 학습된 dense retrieval 모델을 사용하여 대상 corpus 내에서 가장 유사한 단락을 찾습니다. 그런 다음 이러한 유사한 단락은 negative passage로 처리되며, 이는 쿼리와 관련이 없음을 의미합니다.
이 단계는 "hard negatives"를 식별하도록 설계되었습니다. 이러한 까다로운 예시는 모델이 유사하지만 관련 없는 passage를 구별하는 데 도움이 됩니다. MS MARCO로 학습된 두 개의 dense retriever인 ‘msmarco-distilbert-base-v3’와 ‘msmarco-MiniLM-L-6-v3’가 다양한 negative 예시 집합을 보장하기 위해 사용됩니다.
마지막으로, 각 학습 예시에 대해 검색된 passage 중에서 하나의 positive passage와 하나의 negative passage가 선택됩니다.
Cross-Encoder를 통한 Pseudo Labeling
다음 단계에는 cross-encoder를 사용하여 (query, passage) 쌍에 점수를 매기는 과정이 포함됩니다. 쿼리와 passage를 독립적으로 공유 벡터 공간에 매핑하는 bi-encoder와 달리, cross-encoder는 쿼리와 passage를 연결한 것을 입력으로 받아 cross-attention을 사용해 관련성 점수를 예측합니다.
이 단계는 각 (query, positive passage) 쌍과 각 (query, negative passage) 쌍에 연속적이고 세밀한 관련성 점수를 할당합니다. 이러한 점수가 pseudo label입니다. pseudo label에 사용되는 cross-encoder 모델은 ms-marco-MiniLM-L-6-v2입니다. 연속 점수는 다른 방법에서 사용되는 이진 label보다 더 자세한 정보를 제공합니다.
MarginMSE Loss로 Dense Retriever 학습
마지막으로, dense retrieval(학생 dense retriever) 모델은 생성된 (query, positive, negative) 튜플과 해당 cross-encoder 점수를 사용하여 MarginMSE loss로 학습됩니다. 목표는 dense retriever가 cross-encoder의 positive 및 negative query-passage 쌍 간 점수 margin을 모방하도록 가르치는 것입니다. MarginMSE loss 함수는 다음과 같이 정의됩니다:
LMarginMSE()= -1Mi=0M-1|i-i|2
여기서:
M은 batch size입니다.
i 는 student dense retriever의 해당 점수 margin입니다:
i= f(Qi)T f(Pi)- f(Qi)f(P_)
- 여기서 f는 dense retriever이고, Qi는 query, Pi는 positive passage, P_는 negative passage입니다.
- i는 cross-encoder의 점수 margin입니다:
= CE(Q, P+)-CE(Q, P_)
이 loss 함수는 모델이 벡터 공간을 학습하는 데 도움이 됩니다. 이 공간에서 쿼리는 cross-encoder의 pseudo label에 의해 정의된 대로 관련 passage에 더 가깝고 관련 없는 passage에서 더 멀어집니다. MarginMSE loss는 QGen과 같은 이전 방법의 단점을 해결합니다. QGen은 Multiple Negatives Ranking (MNRL) loss를 사용하며, 이는 쿼리와 passage 간의 거친 관계만 고려합니다.
Domain-Adapted Dense Retrieval을 위한 실험 설계
GPL 평가를 위한 설정은 dense retrieval 모델을 특정 작업에 적응시키는 데 있어 그 효과를 평가하기 위한 것입니다. 다음은 설정의 핵심 구성 요소에 대한 세부 내용입니다:
Datasets
두 개의 데이터셋이 사용됩니다: 하나는 source domain용이고 하나는 target domain용입니다.
- 소스 도메인 데이터: MS MARCO passage ranking 데이터셋이 소스 도메인 데이터로 사용됩니다. 이 데이터셋은 880만 개의 passage와 관련성이 있다고 라벨링된 532.8K개의 query-passage 쌍으로 구성됩니다. 모델은 MS MARCO에서 학습된 다음 GPL 방법을 사용하여 타깃 도메인에 적응됩니다.
- 타깃 도메인 데이터셋: BeIR 벤치마크의 여섯 가지 도메인 특화 텍스트 검색 데이터셋이 GPL의 도메인 적응 능력을 평가하는 데 사용됩니다. 이 데이터셋들은 다양한 전문 도메인을 나타내며 다음을 포함합니다:
FiQA (금융 도메인)
SciFact (과학 논문)
BioASQ (바이오메디컬 Q&A)
TREC-COVID (COVID-19에 관한 과학 논문)
CQADupStack (12개의 StackExchange 하위 포럼)
Robust04 (뉴스 기사)
이 데이터셋들은 다음과 같은 점에서 다릅니다:
크기: 코퍼스 크기의 차이.
쿼리 및 passage 길이: 각 데이터셋은 고유한 특성을 가집니다.
관련성 라벨: 쿼리당 관련 passage의 수가 다릅니다.
일부 데이터셋은 효율적인 학습 및 평가를 위해 수정되었습니다. 예를 들어:
- BioASQ: 코퍼스 크기를 줄이기 위해 관련 없는 passage가 제거되었습니다.
베이스라인
비교를 위해 여러 베이스라인 모델이 포함되었습니다:
Zero-shot 모델: 이 모델들은 MS MARCO 또는 PAQ 데이터셋에서 학습되고, 도메인 적응 없이 타깃 데이터셋에서 평가됩니다. BM25 어휘 검색 시스템도 베이스라인으로 포함됩니다.
기존 도메인 적응 방법: UDALM과 MoDIR은 도메인 적응에 대한 기존 접근법을 대표하는 베이스라인으로 포함됩니다.
사전 학습 기반 도메인 적응 방법: 이러한 방법에는 타깃 코퍼스에서 dense retriever를 사전 학습한 다음 MS MARCO 데이터셋에서 모델을 학습하는 과정이 포함됩니다. CD, SimCSE, CT, MLM, ICT, TSDAE와 같은 다양한 사전 학습 방법이 사용되었습니다.
생성 기반 도메인 적응: QGen 모델은 in-batch negative와 hard negative로 학습됩니다. 또한 QGen과 결합된 TSDAE 사전 학습도 포함됩니다.
학습
모든 실험에는 평균 풀링 및 내적 유사도를 사용하는 최대 시퀀스 길이 350의 DistilBERT 모델이 사용됩니다.
QGen 모델은 배치 크기 75로 1 epoch 동안 학습됩니다.
GPL 모델은 배치 크기 32로 140k step 동안 학습됩니다.
TSDAE 및 MLM 모델과 같은 사전 학습 방법은 배치 크기 8로 100K training step 동안 학습되었습니다.
평가 지표
모델의 성능은 nDCG@10(순위 10에서의 normalized Discounted Cumulative Gain)을 사용하여 평가됩니다. 이는 검색된 항목의 관련성을 고려하여 ranking의 품질을 평가합니다. 순위 목록의 상위에 나타나는 관련성이 높은 문서에 더 큰 가중치를 부여합니다.
도메인 적응에서 GPL의 효과성과 성능
GPL 방법은 여러 베이스라인과 비교 평가되었으며, 다양한 조건에서 그 성능이 분석되었습니다. 평가는 ranked list의 상위 10개 결과의 관련성을 측정하는 nDCG@10을 사용하여 수행됩니다.
GPL의 전반적인 성능
GPL은 테스트된 거의 모든 데이터셋에서 다른 도메인 적응 방법보다 현저히 뛰어난 성능을 보입니다. 구체적으로, GPL은 기존 최첨단 방법인 QGen보다 BioASQ 데이터셋에서 최대 4.5 nDCG@10 포인트 향상됩니다. 또한 모든 데이터셋에서 평균 2.7 nDCG@10 포인트의 향상을 보입니다.
TSDAE(Transformer-based Sequential Denoising Auto-Encoder) 사전 학습과 GPL(TSDAE + GPL)을 결합하면 탁월한 결과를 제공합니다. 이 접근법은 평균 52.9 nDCG@10 포인트를 기록하며 새로운 최첨단 성능을 달성합니다. 특히, 기본 out-of-the-box MS MARCO 모델 대비 평균 7.7포인트의 향상을 제공합니다.
Figure: nDCG@10을 사용한 평가 결과
Figure: nDCG@10을 사용한 평가 결과 | Source
베이스라인과의 비교
GPL의 강력한 성능에 대한 맥락을 이해하기 위해, 이를 다양한 베이스라인 접근법 및 대안적인 도메인 적응 방법과 비교해 보겠습니다.
제로샷 모델
MS MARCO에서 학습된 제로샷 모델은 도메인 특화 데이터셋에서 단순한 BM25 어휘 검색에 비해 성능이 좋지 않습니다. 예를 들어, 최신 dense retrieval 모델은 MS MARCO 데이터셋에서 33.2점의 MRR@10(10에서의 평균 역순위)을 달성합니다. 그러나 선택된 6개의 도메인 특화 검색 데이터셋에서는 성능이 저조합니다.
MS MARCO에서 TSDAE 사전 학습을 수행한 뒤 MS MARCO에서 지도 학습을 수행하면, 제로샷 MS MARCO 모델보다 약간 더 약한 성능을 보입니다.
이전 도메인 적응 방법
UDALM은 MLM(Masked Language Modeling) 사전 학습에 비해 성능을 크게 저해하며, 평균 12.2 nDCG@10점 감소합니다. 이는 직접적인 MLM 학습이 지도 학습과 충돌하기 때문입니다.
MoDIR은 일부 데이터셋에서는 제로샷 MS MARCO 모델과 비슷한 수준의 성능을 보이지만, 다른 데이터셋에서는 훨씬 약한 성능을 보입니다.
사전 학습 기반 도메인 적응
TSDAE, MLM, ICT(Inverse Cloze Task)를 사용해 대상 코퍼스에서 사전 학습하면 제로샷 MS MARCO 모델에 비해 성능을 향상시킬 수 있습니다. TSDAE가 가장 효과적인 방법으로, 제로샷 베이스라인을 평균 4.0 nDCG@10점 능가합니다. CD, CT, SimCSE는 도메인에 적응하지 못하고 제로샷 모델보다 성능이 낮습니다.
생성 기반 도메인 적응
GPL은 QGen을 최대 4.5점(BioASQ에서), 평균 2.7점 능가합니다. GPL과 결합된 TSDAE 기반 도메인 적응 사전 학습(TSDAE + GPL)은 모든 데이터셋에서 성능을 더욱 향상시킵니다. 이는 52.9 nDCG@10점이라는 새로운 최고 수준의 결과를 달성합니다.
Cross-Encoder를 사용한 재순위화
Cross-encoder는 제로샷 설정에서 좋은 성능을 보이며 dense retrieval 접근법을 크게 능가하지만, 추론 시 상당한 계산 비용이 듭니다. TSDAE와 GPL은 cross-encoder와의 성능 격차를 좁힐 수는 있지만 완전히 해소하지는 못합니다. TSDAE + GPL 모델은 추론 시 훨씬 낮은 계산 비용으로 인해 프로덕션 환경에서 더 선호될 것입니다.
학습 단계의 영향
GPL의 성능은 약 100K 학습 단계 이후 포화되기 시작합니다. TSDAE 사전 학습은 학습 단계 전반에 걸쳐 지속적으로 성능을 향상시킵니다.
그림: 학습 단계 수가 성능에 미치는 영향
그림: 학습 단계 수가 성능에 미치는 영향 | 출처
코퍼스 크기의 영향
GPL은 10K개 이상의 passage에서 제로샷 베이스라인을 능가할 수 있으며, 성능은 50K개 passage 이후 포화됩니다. 그러나 QGen은 각 코퍼스 크기에서 제로샷 베이스라인보다 뒤처집니다.
그림: 코퍼스 크기가 성능에 미치는 영향
그림: 코퍼스 크기가 성능에 미치는 영향 | 출처
쿼리 생성에 대한 강건성
SciFact 및 FiQA와 같은 더 작은 코퍼스는 최적의 성능을 달성하기 위해 더 큰 Robust04 코퍼스보다 passage당 더 많은 생성 쿼리를 필요로 합니다. 또한 GPL은 QGen보다 저품질 쿼리에 더 강건합니다. 생성된 쿼리가 passage와 거의 관련이 없더라도 GPL은 여전히 좋은 성능을 보입니다.
그림: 생성된 QPP 수가 성능에 미치는 영향
그림: 생성된 QPP 수가 성능에 미치는 영향 | 출처
초기화에 대한 민감도
GPL은 초기화 체크포인트 선택에 덜 민감합니다. MS MARCO 학습은 GPL의 성능에 비교적 작은 영향을 미치며, 평균 0.3포인트 차이를 보입니다. 반면 QGen은 초기화 체크포인트 선택에 크게 의존하며, 1.9포인트 차이를 보입니다.
그림: 초기화 체크포인트가 성능에 미치는 영향
그림: 초기화 체크포인트가 성능에 미치는 영향 | 출처
전체 BeIR에서의 성능
전체 18개 BeIR 데이터셋에서 GPL은 제로샷 모델보다 지속적으로 성능을 향상시킵니다. 평균 순위 5.2를 달성합니다. TSDAE + GPL은 평균 순위 4.2를 달성합니다. 강력한 제로샷 모델 TAS-B를 기반으로 할 때, GPL은 최대 21.5 nDCG@10포인트(TREC-COVID에서), 평균 4.6 nDCG@10포인트의 상당한 성능 향상을 제공합니다. 이 TAS-B + GPL 모델은 전체적으로 가장 우수한 성능을 보이며, 평균 순위 3.2를 달성합니다.
그림: 원본 18개 BeIR 데이터셋 전체에서의 성능
그림: 원본 18개 BeIR 데이터셋 전체에서의 성능 | 출처
생성형 의사 라벨링의 시사점
GPL 방법은 정보 검색에 몇 가지 중요한 시사점을 갖습니다. 여기에는 다음이 포함됩니다:
더 나은 도메인별 검색: GPL은 금융 및 과학과 같은 전문 분야에서 검색 결과를 개선합니다. 새로운 도메인에 효과적으로 적응하여 기존 방법보다 뛰어난 성능을 보입니다.
라벨링된 데이터 필요성 감소: GPL은 대상 도메인의 라벨링된 데이터를 필요로 하지 않고, 대신 라벨링되지 않은 구절을 사용하여 모델을 적응시킵니다. 이는 검색 시스템 개발에 필요한 비용과 시간을 줄입니다.
품질이 낮은 쿼리 처리: 이 방법은 크로스 인코더가 관련 없는 (쿼리, 구절) 쌍에 낮은 점수를 부여하기 때문에 품질이 낮게 생성된 쿼리에 효과적입니다. 이를 통해 밀집 검색기가 나쁜 쿼리로부터 학습하지 않도록 보장합니다.
하드 네거티브를 잘 활용: GPL은 크로스 인코더를 사용하여 세밀한 관련성 점수를 생성하므로, 하드 네거티브를 활용한 학습에 효과적입니다. 이는 더 견고한 학습으로 이어집니다.
효율적이고 실용적: GPL은 TSDAE와 같은 다른 기법과 결합하여 더 나은 결과를 얻을 수 있습니다. 크로스 인코더와 같이 계산량이 많은 방법보다 더 효율적입니다.
많은 데이터셋에서 작동: GPL은 18개 데이터셋 전반에서 일관된 개선을 보여주며, 그 일반적인 적용 가능성을 강조합니다. 이 방법은 TAS-B와 같은 강력한 모델과 결합될 때도 성능을 향상시킵니다.
벡터 데이터베이스에서 향상된 의미 검색을 위한 GPL
생성형 의사 라벨링(Generative Pseudo Labeling, GPL)은 밀집 검색 모델의 효과를 개선하여 Milvus와 같은 벡터 데이터베이스의 성능을 직접 향상시킬 수 있는 방법입니다. 이러한 데이터베이스는 의미 검색을 위해 밀집 벡터 표현에 의존합니다. GPL은 라벨링된 데이터를 필요로 하지 않고 이러한 모델을 새로운 도메인에 적응시키는 데 도움을 주며, 도메인 변화로 인한 성능 저하를 해결합니다.
GPL은 사전 학습된 모델을 사용하여 라벨링되지 않은 데이터에 대한 합성 쿼리를 생성하고, 유사한 구절을 검색하며, 크로스 인코더를 사용하여 (쿼리, 구절) 쌍에 점수를 매깁니다. 궁극적으로 대상 도메인에 더 적합한 밀집 검색 모델을 학습시킵니다.
이 방법은 데이터를 밀집 벡터로 저장하는 벡터 데이터베이스에서 의미 검색을 개선하는 방법을 제공하기 때문에 특히 가치가 있습니다. GPL의 네거티브 마이닝 프로세스는 유사하지만 관련 없는 구절을 식별함으로써 학습을 더욱 정교하게 하여, 더 나은 의미 검색 구분으로 이어집니다.
Milvus는 Approximate Nearest Neighbor (ANN) 검색, 필터링 검색, 범위 검색, 하이브리드 검색, 전체 텍스트 검색. 등 다양한 유형의 검색을 지원합니다. 기본 벡터 표현을 개선하는 GPL과 같은 기술은 그 성능을 향상시킬 수 있습니다.
결론 및 향후 연구 방향
GPL은 크로스 인코더가 생성한 의사 레이블을 사용하여 밀집 검색 모델의 비지도 도메인 적응을 수행하는 새로운 방법입니다. 특히 TSDAE 사전 학습과 결합할 때 기존 도메인 적응 방법보다 훨씬 뛰어난 성능을 보이며, 쿼리 품질 변화에 대한 강건성도 입증합니다.
크로스 인코더의 세분화된 의사 레이블은 GPL의 핵심 장점으로, 다른 방법에서 사용되는 거친 레이블보다 모델이 더 효과적으로 학습할 수 있게 합니다. TSDAE 사전 학습과 결합하면 GPL은 계산 집약적인 크로스 인코더보다 정확도와 계산 효율성 사이에서 더 나은 균형을 달성합니다.
향후 연구 방향
도메인 적응 기술을 개선하기 위한 추가 연구에는 몇 가지 중요한 방향이 있습니다. 여기에는 다음이 포함됩니다:
훈련 파이프라인 단순화: GPL은 비교적 복잡한 훈련 설정을 필요로 합니다. 향후 연구는 실제 애플리케이션에서 더 쉽게 사용할 수 있도록 이 파이프라인을 단순화하는 데 집중할 수 있습니다.
다른 사전 학습 방법 탐색: 향후 연구는 추가적인 성능 향상을 달성할 수 있는지 확인하기 위해 TSDAE를 넘어 다른 사전 학습 방법과 GPL을 결합하는 것을 탐색할 수 있습니다.
도메인별 튜닝: 특정 영역 내 성능을 개선하기 위해 개별 도메인에 맞게 GPL 모델을 미세 조정하는 방법을 탐색합니다. 예를 들어, 서로 다른 데이터셋에는 passage당 서로 다른 수의 생성된 쿼리가 필요하다는 점이 발견되었습니다.
크로스 인코더의 대안 조사: 크로스 인코더는 GPL의 중요한 구성 요소이지만 계산 집약적입니다. 유사하게 효과적인 의사 레이블을 생성하는 다른 방법을 탐색하면 비용을 더욱 줄일 수 있습니다.
저자원 언어에 GPL 적용: 도메인 적응에서 GPL의 성공은 레이블이 지정된 훈련 데이터가 제한적인 저자원 언어에 이 방법을 적용하는 것이 유익할 수 있음을 시사합니다.
GPL과 다른 적응 방법 결합: GPL을 다른 도메인 적응 방법과 결합하는 것이 성능을 더욱 향상시킬 수 있는지 조사하는 것도 흥미로울 수 있습니다. 여기에는 적대적 훈련이나 멀티태스크 학습과 같은 방법이 포함됩니다.
추가 자료
GPL 논문: https://arxiv.org/pdf/2112.07577
배포됨: 2024년 11월 04일
계속 읽기

Migrating Self-Managed Milvus to Zilliz Cloud for >99% Latency Reduction
Step-by-step guide to migrating 50M vectors from self-managed Milvus to Zilliz Cloud using milvus-backup. Achieve >99% query latency reduction with zero data loss.

My Wife Wanted Dior. I Spent $600 on Claude Code to Vibe-Code a 2M-Line Database Instead.
Write tests, not code reviews. How a test-first workflow with 6 parallel Claude Code sessions turns a 2M-line C++ codebase into a daily shipping pipeline.

Why and How to Migrate from Self-Hosted Milvus to Zilliz Cloud
A simple, step-by-step guide to migrating from Milvus to Zilliz Cloud. Learn both endpoint and backup methods for a smooth, scalable vector database migration.



