임베딩 드리프트는 재인덱싱 과정에서 라이브러리를 표현하는 데 사용되는 모델, 텍스트, 인코더 설정, 수치 처리 경로 또는 비교 규칙이 변경될 때 발생합니다.
홈 지식 베이스에는 재구축 전후로 동일한 PDF, 메모, 매뉴얼, 가족 기록이 포함되어 있을 수 있지만, 가장 가까운 이웃이나 유사도 점수는 달라질 수 있습니다. 일부 변화는 동일한 입력에서 생성된 벡터가 실제로 이동하는 진정한 임베딩 드리프트입니다. 다른 변화는 인코더로 전달된 텍스트가 달라지는 수집 드리프트이거나, 동일한 벡터를 다른 메트릭 또는 인덱스 설정으로 검색하는 검색 드리프트입니다. 따라서 첫 번째 진단 단계에서는 원본 바이트, 추출된 텍스트, 청크 식별 정보, 원시 벡터, 순위 결과를 서로 분리된 아티팩트로 비교해야 합니다.
실제 벡터 드리프트와 겉보기 검색 드리프트는 다릅니다
실제 드리프트는 동일한 정규화 텍스트에서 다른 벡터가 생성되는 현상입니다. 겉보기 드리프트는 벡터가 안정적으로 유지되지만 청크 구성, 유사도 메트릭, 필터링, 양자화 또는 근사 최근접 이웃 검색이 변경되어 순위 결과가 달라지는 현상입니다.
Qdrant 컬렉션은 벡터 크기와 거리 메트릭을 컬렉션 수준의 매개변수로 정의합니다. 다른 메트릭을 사용하는 컬렉션으로 재구축하면 임베딩 값 자체를 변경하지 않고도 점수와 순서가 달라질 수 있습니다.
상위 검색 결과만 비교하면 이러한 원인들이 뒤섞입니다. 고정된 테스트 문자열에 대한 원시 벡터 체크섬을 비교하면 인코더 드리프트와 인덱스 또는 순위 드리프트를 구분할 수 있습니다.
고정되지 않은 모델 리비전으로 인코더가 교체될 수 있습니다
모델 이름이 항상 영구적인 가중치와 구성 파일의 집합을 의미하는 것은 아닙니다. 저장소 소유자는 공개 저장소 이름을 유지한 채 가중치, 토크나이저 파일, 풀링 구성 또는 모델 코드를 업데이트할 수 있습니다.
Hugging Face 저장소는 버전 관리되며, 최신 브랜치 상태 대신 특정 리비전을 사용해 다운로드할 수 있습니다.
이 원인에서는 고정된 프로브 세트 전체가 폭넓게 변화하며, 모델 커밋, 캐시 경로, 구성 해시 또는 토크나이저 자산이 달라지는 경우가 많습니다. 이는 추출 또는 청크 분할이 변경된 파일에만 영향을 주는 문서별 드리프트와는 다릅니다.
인코더 옵션은 벡터 길이, 스케일, 기하 구조를 바꿀 수 있습니다
동일한 가중치라도 풀링, 정규화, 정밀도, 프롬프트 접두사, 최대 시퀀스 길이 또는 출력 차원이 달라지면 서로 다른 표현을 생성할 수 있습니다.
Sentence Transformers는 정밀도, 정규화, 프롬프트 및 잘린 차원을 비롯한 인코더 제어 기능을 제공합니다.
정규화가 변경되면 방향은 유지하면서 벡터 크기만 달라질 수 있고, 프롬프트 접두사는 모든 문서를 다른 작업 조건부 공간으로 이동시킬 수 있으며, 차원 축소는 일부 차원을 제거할 수 있습니다. 이는 무작위 불안정성이 아니라 구성 변경입니다.
인코더에 전달되는 텍스트가 달라졌을 수 있습니다
원본 파일이 바이트 단위로 완전히 동일하더라도 재인덱싱 과정에서 다른 파서 버전, OCR 경로, 공백 정규화 방식, 페이지 순서 규칙 또는 청크 분할 전략이 사용될 수 있습니다.
Unstructured는 파티셔닝 후 청크를 분할하며, 청크 크기, 오버랩 및 섹션 경계가 각 청크에 어떤 텍스트가 들어가는지 결정하는 방식을 설명합니다.
새로운 제목 하나가 감지되거나 한 페이지에서 OCR 결과가 달라지면 이후의 모든 청크 경계가 이동할 수 있습니다. 이때 생성된 벡터는 동일한 입력의 표현이 드리프트한 것이 아니라 서로 다른 텍스트 범위를 표현합니다.
비결정적 실행으로 작은 수치 차이가 생길 수 있습니다
병렬 커널, 하드웨어 라이브러리, 연산 순서 및 무작위 구성 요소로 인해 동일한 모델과 입력을 사용해도 반복 추론 결과가 약간씩 달라질 수 있습니다.
PyTorch는 릴리스, 플랫폼 또는 장치가 다르면 완전한 재현성이 보장되지 않는다고 설명하며, 지원되는 연산에 대해 결정적 알고리즘 제어 기능을 제공합니다.
이 원인은 일반적으로 의미 공간이 완전히 재구성되기보다는 좌표에 작은 차이를 만듭니다. 이전 프로브 벡터와 새 프로브 벡터의 코사인 유사도가 매우 높게 유지된다면, 순위가 거의 같은 항목 사이에서만 드러나는 수치적 노이즈일 수 있습니다.
정밀도와 양자화는 경계선상의 이웃을 바꿀 수 있습니다
재구축 과정에서 메모리 사용량을 줄이고 처리량을 높이기 위해 float32에서 float16, int8 또는 다른 최적화 런타임 프로필로 전환할 수 있습니다.
ONNX Runtime은 float16 변환으로 인해 허용 오차 테스트가 필요한 정확도 차이가 발생할 수 있다고 설명합니다.
의미론적 영향은 대체로 작지만, 로컬 라이브러리에는 서로 유사한 청크가 많이 포함될 수 있습니다. 좌표의 작은 변화만으로도 원래 점수가 거의 같았던 이웃들의 순서가 바뀔 수 있습니다.
재인덱싱 과정에서 이전 세대와 새 세대의 벡터가 섞일 수 있습니다
부분적으로 재구축된 컬렉션에는 서로 다른 모델 커밋, 청크 설정, 차원 또는 정규화 규칙으로 생성된 벡터가 함께 포함될 수 있습니다.
세대가 섞이면 불규칙한 동작이 발생합니다. 변경되지 않은 문서는 안정적으로 유지되는 반면 재처리된 파일만 이동할 수 있으며, 쿼리 벡터가 저장된 컬렉션의 일부와 호환되지 않을 수도 있습니다.
ZimaSpace의 NAS 의미 검색 인덱싱 가이드는 관련 경계를 보여줍니다. 원본 라이브러리, 추출된 레코드, 임베딩, 검색 인덱스는 서로 다른 계층이며 하나의 변경 불가능한 객체로 취급해서는 안 됩니다.
FAQ
동일한 텍스트에서는 항상 비트 단위로 동일한 임베딩이 생성되어야 하나요?
고정된 모델, 동일한 구성, 결정적 실행 경로, 일치하는 하드웨어 및 소프트웨어 환경이 갖춰진 경우에만 그렇습니다. 그렇지 않으면 작은 부동소수점 차이가 발생할 수 있습니다.
검색 결과가 변하지 않았다면 임베딩이 드리프트하지 않았다는 뜻인가요?
아닙니다. 순위 경계를 넘지 않는 범위에서 벡터가 이동할 수 있습니다. 고정된 프로브 세트에서 원시 벡터 또는 그 해시와 유사도를 비교해야 합니다.
가장 가까운 이웃이 바뀌었다면 항상 모델 드리프트를 의미하나요?
아닙니다. 인코더 출력이 안정적으로 유지되더라도 청크 분할, 필터, 거리 메트릭, 양자화 및 근사 인덱스 구축 방식에 따라 검색 결과가 달라질 수 있습니다.
기술 및 AI 허브
더 읽어보기

민감한 파일을 보호하는 홈 AI 신뢰 경계를 구현하는 기능은 무엇인가요?
가정용 AI 신뢰 경계는 저장 데이터 암호화, 최소 권한 원칙에 따른 권한 설정, 런타임 샌드박싱, 범위가 제한된 검색을 결합하며, 어느 하나의 기능만으로는 충분하지 않습니다.

비공개 검색 결과에서 자주 편집된 파일이 우선 표시되는 이유는 무엇인가요?
자주 편집되는 파일은 각 업데이트가 소스별 정규화 없이 최신성, 청크, 버전 또는 상호작용 신호를 추가할 때 순위상 이점을 얻습니다.

스마트 홈 재실 감지 모델은 왜 방문객과 거주자를 혼동할까요?
시스템이 가구의 활동 패턴은 관찰하지만 해당 활동을 발생시킨 사람을 식별할 안정적인 신원 신호가 없으면, 방문객이 거주자처럼 보일 수 있습니다.

