Faiss — это библиотека для эффективного поиска похожих объектов и кластеризации плотных векторов. Она содержит алгоритмы, которые выполняют поиск в наборах векторов любого размера, вплоть до тех, которые могут не поместиться в оперативной памяти. В библиотеке также присутствует поддержка для оценки и настройки параметров. Faiss написана на C++ с полными обёртками для Python/numpy. Некоторые из самых полезных алгоритмов реализованы на GPU. Библиотека разработана Facebook AI Research.
НОВОЕ: последний коммит (2018-02-22) поддерживает хранение перевёрнутых индексов на диске, см. demos/demo_ondisk_ivf.py
НОВОЕ: последний коммит (2018-01-09) включает реализацию метода индексации HNSW, см. benchs/bench_hnsw.py
НОВОЕ: теперь есть публичная группа обсуждения Facebook для пользователей Faiss по адресу https://www.facebook.com/groups/faissusers/
НОВОЕ: с 2017-07-30 лицензия на Faiss была смягчена до BSD с CC-BY-NC. Подробности см. в LICENSE.
Реализация на GPU может принимать входные данные из оперативной памяти CPU или GPU. На сервере с GPU индексы GPU могут использоваться как замена для индексов CPU (например, замените IndexFlatL2
на GpuIndexFlatL2
) и копии в/из оперативной памяти GPU обрабатываются автоматически. Результаты будут быстрее, если оба входных и выходных данных остаются в оперативной памяти GPU. Поддерживается использование как одного, так и нескольких GPU.
Библиотека реализована в основном на C++, с опциональной поддержкой GPU через CUDA и опциональным интерфейсом Python. Версия для CPU требует библиотеки BLAS. Она собирается с помощью Makefile и может быть упакована в образ Docker. Подробности см. в INSTALL.md.
Необязательная реализация на GPU предоставляет, вероятно (как на март 2017 года), самую быструю реализацию точного и приближенного (в сжатом домене) поиска ближайших соседей для высокоразмерных векторов, самую быструю реализацию алгоритма Ллойда для k-средних и самую быструю реализацию алгоритма выбора малого k. Реализация подробно описана здесь.
Вот основные точки входа для документации:
Основные авторы Faiss:- Hervé Jégou инициировал проект Faiss и написал его первую реализацию
Ссылка для цитирования при использовании Faiss в исследовательской статье:
@article{JDH17,
title={Поиск схожести на миллиардах данных с использованием GPU},
author={Johnson, Jeff and Douze, Matthijs and J{\'e}gou, Herv{\'e}},
journal={arXiv preprint arXiv:1702.08734},
year={2017}
}
Для публичного обсуждения Faiss или для вопросов есть публичная группа обсуждения Facebook по адресу https://www.facebook.com/groups/faissusers/. Мы отслеживаем страницу с проблемами репозитория. Вы можете сообщать о багах, задавать вопросы и т.д.
Faiss распространяется под лицензией BSD. Мы также предоставляем дополнительное патентное разрешение.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )