인프라와 비용

UC 버클리 LEANN 공개, RAG 인덱스 201GB를 6GB로 축소

UC 버클리 Sky Computing Lab이 임베딩을 저장하지 않고 질의 때 다시 계산하는 오픈소스 벡터 인덱스 LEANN을 공개했다. 저장소 벤치마크에서 6천만 청크 인덱스가 201GB에서 6GB로 줄었고, NQ 검색은 HNSW의 0.05초보다 긴 2.48초가 걸린다.

루카스 ·

UC 버클리 Sky Computing Lab이 오픈소스 벡터 인덱스 LEANN을 만들었다. 임베딩을 디스크에 저장하지 않고 질의가 들어올 때마다 다시 계산하는 방식이다. 저장소 벤치마크에서는 6천만 청크짜리 위키피디아 RAG 인덱스가 201GB에서 6GB로 줄었다. 논문이 쓴 76GB 위키피디아 설정에서는 인덱스가 4GB다. 이 연구 논문은 MLSys 2026에서 최우수 연구 논문상을 받았다.

코드는 MIT 라이선스로 공개됐고 uv pip install leann 명령으로 설치한다. 노트북과 워크스테이션에서 돌리는 것이 목표다. 논문은 RTX 4090과 32GB RAM을 갖춘 PC, M1 Ultra 맥에서 실험했으며, 32GB RAM 워크스테이션에서 LEANN은 돌아갔지만 HNSW는 메모리가 부족해 돌아가지 않았다. CPU 전용 Linux 설치 방법도 있지만 CPU에서 잰 지연 시간은 공개되지 않았다. Ubuntu, Arch, WSL, macOS, Windows를 지원한다.

그래프만 남기고 벡터는 다시 만든다

벡터 인덱스가 색인 대상 원본보다 커지는 일이 흔하다. 논문이 든 76GB 코퍼스는 임베딩 173GB와 HNSW 그래프 15GB가 필요해 원본의 두 배를 넘는다.

LEANN은 FAISS 위에 만든 저장 용량 절감형 근사 최근접 이웃(ANN) 인덱스다. 가지치기한 그래프와 압축된 제품 양자화(PQ) 테이블만 두고 전체 벡터는 버린다. HNSW 같은 그래프 인덱스는 질의 한 번에 일부 노드만 방문하므로, 검색 경로에 오른 노드만 다시 임베딩한다. 기본 임베딩 모델은 파라미터 1.1억 개의 Contriever다. LEANN은 인덱스이지 언어 모델이 아니다.

재계산이 느려지지 않게 세 가지 기법을 쓴다.

  • 두 단계 검색: 값싼 PQ 거리로 이웃을 먼저 순위 매기고, 상위 후보만 정확하게 다시 계산한다.
  • 동적 배치: 여러 단계의 후보를 예컨대 64개씩 묶어 GPU 효율을 높인다.
  • 고차수 보존 가지치기: 대부분의 노드는 연결을 적게 두고, 상위 2%인 허브 노드는 더 많이 남긴다.

절제 실험에서 두 단계 검색은 평균 1.4배, 배치를 더하면 1.8배 빨라졌다. 그래도 임베딩 재계산이 질의 지연 시간의 약 76%를 차지한다.

정확도는 같고 검색은 느려진다

연구팀은 NQ, TriviaQA, GPQA, HotpotQA를 6천만 패시지 RPJ-Wiki 데이터스토어에 적용했다. 지연 시간은 상위 3개 재현율 90% 조건에서 쟀고, 아래 수치는 모두 논문의 자체 보고다. RTX 4090에서 Qwen3-4B로 NQ를 풀었을 때 LEANN과 HNSW의 정확도는 25.5%로 같았다. 저장 용량은 LEANN이 4GB, HNSW가 188GB다. BM25는 18.3%, PQ 압축은 17.9%였다.

76GB 코퍼스 기준 저장 용량과 재현율 90% 검색 시간(RTX 4090, 논문 자체 보고)
방식저장 용량NQ 검색HotpotQA 검색
LEANN4GB2.48초7.12초
HNSW(FAISS)188GB0.05초0.05초
DiskANN270GB0.03초0.11초
IVF 재계산(EdgeRAG 유사 방식)원본의 5% 미만307.61초429.46초
PQ 압축20GB재현율 90% 미달재현율 90% 미달

대가는 검색 시간이다. NQ에서 LEANN의 검색은 2.48초로 HNSW의 0.05초보다 길다. 생성에 약 20초가 걸려 전체 지연은 HNSW가 20.95초, LEANN이 23.34초다. 데이터셋별 검색 시간은 GPQA 1.12초부터 HotpotQA 7.12초까지다. EdgeRAG에서 착안한 IVF 재계산 기준선은 LEANN보다 최대 200배 느렸다. 데이터셋 전반에서 정확 일치율은 BM25보다 최대 11.8% 개선됐다.

M1 Ultra 맥에서 HotpotQA 검색은 44.80초가 걸렸고, 이는 전체 파이프라인 시간의 50.1%였다.

개인 데이터와 코딩 에이전트에 적용

저장소에는 문서, Apple Mail, Chrome 기록, WeChat, iMessage, ChatGPT와 Claude 대화 내보내기용 앱이 들어 있다. MCP 리더로 Slack과 Twitter 북마크의 실시간 데이터도 가져온다. Apple Mail 검색 같은 일부 앱은 macOS에서만 쓴다. 저장소는 개인 데이터에서도 비슷한 절감을 보고했다. 채팅 메시지 40만 건은 1.8GB에서 64MB로, 브라우저 항목 3.8만 건은 130MB에서 6.4MB로 줄었다.

LEANN은 Claude Code용 시맨틱 검색 MCP 서버로도 동작한다. ContextBench의 SWE-Bench Pro 과제 30개에서 연구팀은 처음 찾아낸 관련 코드 재현율이 24.2%로 BM25의 11.4%보다 높았다고 보고했다. 에이전트가 쓴 토큰도 8.4% 적었다.

기본 백엔드는 HNSW이고, 더 빠른 검색이 필요하면 DiskANN을 고른다. 답변 생성에는 Ollama, Hugging Face, Anthropic, 또는 OpenAI 호환 API를 연결할 수 있다.

댓글

기사에 대한 의견이나 틀린 내용 제보를 남겨 주세요.

댓글을 불러오고 있습니다.