lorann-experiments

Experiments for the paper "LoRANN: Low-Rank Matrix Factorization for Approximate Nearest Neighbor Search"

https://github.com/ejaasaari/lorann-experiments

Science Score: 31.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.9%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Experiments for the paper "LoRANN: Low-Rank Matrix Factorization for Approximate Nearest Neighbor Search"

Basic Info
  • Host: GitHub
  • Owner: ejaasaari
  • License: mit
  • Language: Python
  • Default Branch: main
  • Size: 59.6 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

LoRANN Experiments

Experiments for the paper

Jääsaari, E., Hyvönen, V., & Roos, T. (2024). LoRANN: Low-Rank Matrix Factorization for Approximate Nearest Neighbor Search. Advances in Neural Information Processing Systems, 37.

The code implementing LoRANN is in a separate repository.

This project is a fork of the ANN-benchmarks project with new data sets and support for GPU experiments.


Requirements: - Python 3.10 or newer - Docker - For GPU experiments, an NVIDIA GPU is required

Installation:

python3 -m pip install -r requirements.txt

Usage:

To build an algorithm, run e.g. python3 install.py --algorithm lorann.

To build all algorithms, run

sh for algo in faiss faiss_gpu glass hnswlib lorann lorann_gpu mrpt pynndescent qsg_ngt raft scann; do python3 install.py --algorithm $algo done

To run an algorithm for e.g. the data set fashion-mnist-784-euclidean, run

python3 run.py --dataset fashion-mnist-784-euclidean --algorithm lorann --count 100 --parallelism 6

To plot results for the data set, run

python3 plot.py --dataset fashion-mnist-784-euclidean --count 100 --y-scale log

For a list of all the data sets, refer to the end of the file ann_benchmarks/datasets.py.

Our main experiments are performed on AWS r6i.4xlarge instances using Intel Xeon 8375C (Ice Lake) processors with hyperthreading disabled. To run our GPU experiments, we use an AWS g5.2xlarge instance with an NVIDIA A10G GPU (24 GB VRAM) and a mac2-m2pro.metal instance with an Apple M2 Pro SoC.

Owner

  • Name: Elias Jääsaari
  • Login: ejaasaari
  • Kind: user
  • Company: Carnegie Mellon University

Citation (CITATION)

@article{Jaasaari2024,
  title={LoRANN: Low-Rank Matrix Factorization for Approximate Nearest Neighbor Search},
  author={J{\"a}{\"a}saari, Elias and Hyv{\"o}nen, Ville and Roos, Teemu},
  journal={Advances in Neural Information Processing Systems},
  volume={37},
  year={2024}
}

GitHub Events

Total
  • Watch event: 1
  • Push event: 1
  • Create event: 1
Last Year
  • Watch event: 1
  • Push event: 1
  • Create event: 1

Dependencies

ann_benchmarks/algorithms/base/Dockerfile docker
  • ubuntu 22.04 build
ann_benchmarks/algorithms/bruteforce/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/dummy_algo/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/faiss/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/faiss_gpu/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/glass/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/hnswlib/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/lorann/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/lorann_gpu/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/mrpt/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/pynndescent/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/qsg_ngt/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/raft/Dockerfile docker
  • ann-benchmarks latest build
ann_benchmarks/algorithms/scann/Dockerfile docker
  • ann-benchmarks latest build
pyproject.toml pypi
requirements.txt pypi
  • ansicolors ==1.1.8
  • cysimdjson ==23.8
  • datasets ==2.17.1
  • docker ==7.1.0
  • h5py ==3.8.0
  • jinja2 ==3.1.2
  • kaggle ==1.6.6
  • matplotlib ==3.6.3
  • numpy ==1.26.4
  • psutil ==5.9.4
  • pytest ==7.2.2
  • pyyaml ==6.0
  • scikit-learn ==1.2.1