Repolode
TutteInstitute

TutteInstitute/evoc

고차원 임베딩 벡터를 CPU에서 빠르게 클러스터링하는 scikit-learn 스타일 API의 Python 라이브러리입니다.

스타
356
포크
22
열린 이슈
12
마지막 커밋
9일 전

어떤 프로젝트인가요?

EVōC(Embedding Vector Oriented Clustering)는 CLIP 벡터나 sentence-transformers, OpenAI, Cohere 임베딩 모델의 출력처럼 고차원 임베딩 벡터로 이루어진 대규모 데이터셋을 클러스터링하는 라이브러리입니다. 이 작업에서 UMAP과 HDBSCAN을 함께 사용하는 파이프라인을 대체하도록 설계되었으며, 하이퍼파라미터를 줄이고 실행 시간을 크게 단축하면서도 양질의 클러스터링을 목표로 합니다.

이 라이브러리는 scikit-learn API를 따르므로 다른 scikit-learn 클러스터링 알고리즘을 사용하는 곳이라면 어디서든 사용할 수 있습니다. 단일 레이블 집합을 반환하는 데 그치지 않고, 세분화 수준이 서로 다른 여러 클러스터 계층을 생성하며, 계층 간 구조를 추출하고 중복 또는 거의 중복인 벡터를 표시합니다. int8 또는 바이너리 양자화 벡터도 직접 입력할 수 있습니다.

EVōC는 PyPI에서 설치할 수 있으며 numpy, scikit-learn, numba, tqdm, tbb에 의존합니다. 아직 초기 베타 단계이므로 인터페이스가 변경될 수 있습니다. 클러스터 추출은 2025년 arXiv 논문에 소개된 PLSCAN 방법을 기반으로 합니다.

핵심 기능

  • 01CPU에서 임베딩 벡터를 빠르게 클러스터링합니다.
  • 02세밀한 수준부터 거친 수준까지 여러 클러스터 계층을 생성합니다.
  • 03계층 간 클러스터 구조를 추출합니다.
  • 04중복 및 거의 중복인 벡터를 감지합니다.
  • 05int8 및 바이너리 양자화 임베딩을 직접 처리합니다.
  • 06scikit-learn과 호환되는 fit_predict 인터페이스를 제공합니다.

활용 사례

  • 대규모 텍스트 또는 이미지 컬렉션의 CLIP 임베딩이나 문장 임베딩을 주제별로 그룹화합니다.
  • 넓은 주제에서 세부 주제로 단계적으로 살펴볼 수 있는 계층형 주제 지도를 만듭니다.
  • 임베딩 코퍼스에서 중복 또는 거의 중복인 항목을 찾습니다.

빠른 시작

  1. 1

    pip으로 PyPI에서 EVōC를 설치합니다

    pip install evoc
  2. 2

    EVōC를 가져오고 fit_predict로 임베딩 벡터를 클러스터링합니다

    import evoc clusterer = evoc.EVoC() cluster_labels = clusterer.fit_predict(data)

사용 전 알아둘 점

  • 이 라이브러리는 아직 초기 베타 단계이므로, 기능이 언제든 중단될 수 있습니다.
  • 알고리즘은 아직 공개되지 않았으므로 README에서는 대신 PLSCAN 논문을 인용하도록 안내합니다.

토픽

자주 묻는 질문

evoc은(는) 무엇인가요?
고차원 임베딩 벡터를 CPU에서 빠르게 클러스터링하는 scikit-learn 스타일 API의 Python 라이브러리입니다. EVōC(Embedding Vector Oriented Clustering)는 CLIP 벡터나 sentence-transformers, OpenAI, Cohere 임베딩 모델의 출력처럼 고차원 임베딩 벡터로 이루어진 대규모 데이터셋을 클러스터링하는 라이브러리입니다. 이 작업에서 UMAP과 HDBSCAN을 함께 사용하는 파이프라인을 대체하도록 설계되었으며, 하이퍼파라미터를 줄이고 실행 시간을 크게 단축하면서도 양질의 클러스터링을 목표로 합니다.
evoc은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
evoc은(는) BSD-2-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
evoc은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. evoc의 마지막 커밋은 2026년 10월 29일입니다.
evoc은(는) 어디에 사용할 수 있나요?
대규모 텍스트 또는 이미지 컬렉션의 CLIP 임베딩이나 문장 임베딩을 주제별로 그룹화합니다. 넓은 주제에서 세부 주제로 단계적으로 살펴볼 수 있는 계층형 주제 지도를 만듭니다. 임베딩 코퍼스에서 중복 또는 거의 중복인 항목을 찾습니다.
evoc는 어떻게 설치하나요?
pip으로 PyPI에서 EVōC를 설치합니다: pip install evoc EVōC를 가져오고 fit_predict로 임베딩 벡터를 클러스터링합니다: import evoc clusterer = evoc.EVoC() cluster_labels = clusterer.fit_predict(data)
evoc은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/TutteInstitute/evoc

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트