• altair823 released this 2026-06-02 11:42:22 +00:00 | 59 commits to main since this release

    v0.23.0 — candle Metal (Apple Silicon GPU) 임베딩 가속 (opt-in)

    변경 사실

    v0.22.0 의 candle provider 는 NUMA 서버의 onnxruntime 크래시를 해결했지만, candle CPU 임베딩은 e5-large/512-tok 에서 1.51.9 s/chunk 로 느렸다(코어를 더 줘도 빨라지지 않음 — 병목은 커널 효율). 본 릴리스는 Apple Silicon 맥에서 candle 을 GPU(Metal)로 돌리는 opt-in build feature embed_metal 을 추가한다.

    trade-off / 적용 대상

    • metal feature 는 macOS 전용 컴파일. Linux/서버는 기존 CPU 빌드 그대로(default 동작·벡터 불변).
    • GPU 산출 벡터는 CPU candle 과 동일 모델이라 호환(패리티 2.01e-7). 따라서 맥에서 GPU 로 색인한 KB 를 그대로 Linux 서버에서 CPU candle 로 질의할 수 있다.

    권장 워크플로 (대용량 코퍼스 + NUMA 서버)

    1. M-시리즈 맥에서 GPU 색인:
      cargo install --path crates/kebab-cli --features embed_metal --locked
      # config: provider="candle", model="multilingual-e5-large", dimensions=1024
      kebab ingest --config <config.toml>     # 로그에 "candle device = Metal (GPU)"
      
    2. 데이터만 서버로 복사: kebab.sqlite + lancedb/ 를 서버 data_dir 로 (models/ 불필요). KB 는 이식 가능 — workspace_path 상대경로 + chunks.text 저장이라 검색에 원본 파일도 불필요.
    3. 서버는 CPU candle 로 질의: provider="candle". onnxruntime 미사용 → NUMA double-free 없음.

    빌드 / 설치

    # 빌드만 (macOS):
    cargo build --release --features embed_metal
    # 전역 설치:
    cargo install --path crates/kebab-cli --features embed_metal --locked
    

    상세는 tasks/HOTFIXES.md 2026-06-02 항목 및 README "Apple Silicon GPU 가속" 참조.

    Downloads