Show GN: livero: 48KiB RAM에서 도는 인덱스 없는 온디바이스 벡터 DB

2 hours ago 2

안녕하세요, livero는 모바일/MCU 등의 온디바이스 환경을 목표로 하는 작은 벡터데이터베이스 입니다.

추가 메모리 할당 없이, 고정된 메모리 크기(현재: 48KiB)를 사용하며 내부적으로는 삼진 양자화 벡터만을 다룹니다.

별도의 ANN인덱스는 없으며, 전수조사를 통해 검색합니다. (FP32 768DIM, Bitnet 1.58B absmean quantization: recall 78-79%)

현재 MacPro14 (M5) 와 LG Gram (Intel i7-1260P) 환경에서, 크기 100K 데이터에서의 쿼리(top_k=10) 측정시, 각각 평균 0.7ms, 1.8ms를 보이고 있습니다. 향후 더 제약이 큰 환경에서도 실험할 예정 입니다.

아직 MVP 단계 입니다. 원래 만들었던 hnsw 인덱스를 사용 하는 버전에서 새롭게 재설계 했습니다.

벡터 계산에 SIMD 커널을 추가 하고, durability 정도를 사용자가 선택하게 해 PUT속도를 더 높일 계획입니다.

또한 recall을 어떻게 더 높일 수 있을지 고민하고 있습니다, 이에 대한 의견이나 전반적인 피드백을 주시면 감사하겠습니다.

글을 읽어주셔서 감사합니다:)

Read Entire Article