트렌드깃허브 · 쇼핑에서 뜬 것, 매일 07:30 · English

깃허브 · 2026년 11월 8일 기준 · 깃허브에서 보기 →

RyanCodrai/turbovec

메모리 부담을 줄이는 벡터 검색 도구

7일 동안 별 +25

768차원 임베딩 1,000만 개를 4GB로 압축해 FAISS보다 4.4배 빠르게 검색하는 방법

수십 기가바이트의 메모리가 필요했던 대규모 임베딩 데이터를 4GB로 줄이고, 검색 속도를 높이는 것이 가능해졌습니다. turbovec은 벡터를 2비트나 4비트로 압축해 저장하고, 그 압축된 형태 그대로 검색하는 프로세스 내 인덱스 라이브러리입니다. 학습 단계 없이 벡터를 추가하면 즉시 검색에 참여하며, 데이터가 프로세스 밖으로 나가지 않아 오프라인 환경에서도 사용할 수 있습니다.

압축된 데이터로 직접 검색하는 원리

turbovec은 Google Research의 TurboQuant 알고리즘을 기반으로 벡터를 2비트 또는 4비트로 압축합니다. 압축된 데이터를 SIMD 명령어로 직접 검색하므로 복원 과정이 필요 없습니다. 벡터를 추가하면 즉시 검색 대상이 되고, 삭제는 마이크로초 단위로 처리됩니다. sync(path)를 호출하면 변경된 부분만 파일에 기록하며, 이는 크래시 안전성을 보장합니다. Python과 Rust 모두 동일한 API를 제공하며, LangChain, LlamaIndex, Haystack, Agno 등 주요 프레임워크와의 통합 패키지도 지원합니다.

벤치마크로 확인한 성능 수치

100만 개의 OpenAI 임베딩(d=1536, d=3072)과 GloVe(d=200) 데이터를 사용해 FAISS와 비교했습니다. 4비트 압축 시 검색 속도는 ARM에서 4.0배, x86에서 4.9배 빠르고, 2비트에서는 각각 2.05배, 2.35배 빠릅니다. 메모리 사용량은 4비트 기준 float32 대비 7.8배, 2비트 기준 15.5배 적게 듭니다. 정확도(Remember@1)는 4비트에서 0.959~0.981, 2비트에서 0.901~0.931로 FAISS와 유사한 수준을 유지합니다. 특히 100만 개 벡터에서 쿼리당 0.13~0.25ms의 지연 시간을 기록했으며, 이는 코어 8개를 모두 사용했을 때의 수치입니다.

적용 전 확인해야 할 한계

turbovec은 모든 벡터를 스캔하는 방식이므로, 수억 개 이상의 벡터에서 엄격한 지연 시간 제한이 필요한 경우 HNSW나 IVF 인덱스가 더 적합합니다. 양자화 특성상 정확도가 떨어질 수 있으며, 4비트 기준 OpenAI 데이터에서 96~98%의 정확도를 보이지만 저차원 임베딩에서는 더 큰 손실이 발생할 수 있습니다. 또한 네트워크 API나 복제 기능이 없는 순수 라이브러리이므로, 서버 기능이 필요하면 다른 스택과 결합해야 합니다. 벡터 차원은 8의 배수여야 하며, 최대 16,384차원까지 지원합니다. 자신의 데이터 샘플로 정확도를 미리 확인하는 것이 중요합니다.

AI가 이 저장소의 README를 읽고 2026년 10월 5일에 쓴 글입니다. 사실관계는 깃허브 원문이 기준입니다.

숫자로 본 저장소

깃허브 트렌딩 기록
트렌드가 기록을 시작한 2026년 6월 19일 ~ 11월 8일 가운데 3일 · 처음 오른 날 7월 17일 · 일간 최고 12위(7월 17일)

2026년 11월 8일 기준으로 깃허브에서 읽은 숫자입니다.

언어
Rust
주제 태그
ann · avx512 · embedding · embeddings · faiss · nearest-neighbor · neon · python
별
17,476
7일 동안 늘어난 별
+25
기여자
8
포크
1,484
커밋
376
마지막 커밋
2026년 10월 6일
열린 이슈
23
열린 PR
1

함께 보면 좋은 저장소

깃허브에서 보기 → · 홈페이지

README에 달기

trend.ondo.sh · 깃허브 일간 트렌딩 12위 · 2026년 7월 17일 trend.ondo.sh · GitHub daily trending #12 · July 17, 2026

위 배지는 이 저장소가 2026년 6월 19일 이후 깃허브 일간 트렌딩에서 가장 높이 오른 순위와 그날을 보여 줍니다. README의 언어에 맞는 줄을 붙여 넣으세요. 배지를 누르면 이 페이지가 열리고, 저장소가 더 높이 오르면 배지도 저절로 바뀝니다.

한국어 README

[![trend.ondo.sh](https://trend.ondo.sh/github/r/RyanCodrai--turbovec/badge.svg)](https://trend.ondo.sh/github/r/RyanCodrai--turbovec/)

영어 README

[![trend.ondo.sh](https://trend.ondo.sh/github/r/RyanCodrai--turbovec/badge.en.svg)](https://trend.ondo.sh/github/r/RyanCodrai--turbovec/en.html)