AI Briefing

turbovec: 1000만 문서 4GB RAM, FAISS보다 빠른 검색

RyanCodrai/turbovec

·2026.08.20 19:59

float32로 1000만 개 문서 인덱싱 시 31GB의 RAM이 필요하지만, turbovec은 이를 4GB로 압축한다. Google Research의 TurboQuant 알고리즘을 기반으로 한 Rust 벡터 인덱스로, 별도 학습 단계나 파라미터 튜닝 없이 온라인으로 벡터를 추가할 수 있다. Python 바인딩을 제공하여 기존 파이프라인에 즉시 통합 가능하다.

ARM의 NEON SDOT/SMMLA, x86의 AVX-512 VNNI 등 손으로 작성한 SIMD 커널을 사용해 FAISS IndexPQFastScan보다 빠른 검색 속도를 낸다. 4-bit 정밀도에서 평균 3.4배, 2-bit에서 23% 더 빠르며, 검색 시 ID 허용 목록을 전달하면 SIMD 커널 내부에서 필터링이 수행되어 불필요한 계산 비용을 줄인다. 변경된 부분만 저장하는 증분 저장 기능으로 크래시 안전성을 유지하면서도 대용량 인덱스에서도 밀리초 단위의 추가·삭제 지연 시간을 달성한다.

FAISS 대비 turbovec의 압축률 비교
FAISS 대비 turbovec의 압축률 비교

LangChain, LlamaIndex, Haystack, Agno의 기본 인메모리 벡터 스토어를 그대로 대체하는 드롭인 리플레이스먼트를 제공한다. 외부 ID를 유지하는 IdMapIndex를 통해 삭제 후에도 ID가 보존되며, O(1) 복잡도의 삭제 연산을 지원한다. 데이터가 로컬 머신이나 VPC를 벗어나지 않는 순수 로컬 환경에서 프라이버시와 지연 시간을 동시에 고려하는 RAG 스택 구축에 적합하다.

GitHub
GitHub 저장소

RyanCodrai/turbovec

A vector index built on TurboQuant, written in Rust with Python bindings

Rust

이 한국어 소개글은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 소개 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.