tgoop.com/dsproglib/6883
Last Update:
Hierarchical navigable small world (HNSW) — алгоритм, лежащий в основе большинства современных векторных баз данных.
Разбираемся просто:
🏗 Построение индекса
HNSW создаёт иерархию слоёв графов:
— Верхние слои: только дальние связи
— Нижний слой: все векторы, плотные локальные связи
🔍 Как работает поиск
Представьте это как путешествие:
— Верхний слой = дальний перелёт → приблизиться к цели
— Средние слои = поезд → попасть в нужный район
— Нижний слой = велосипед → достичь точного вектора
⚙️ Важные параметры
— maxConnections: плотность графа (больше = точнее, но медленнее)
— ef/efConstruction: размер «динамического списка» при поиске/индексации (больше = точнее, но медленнее)
— distance: метрика для сравнения векторов
💡 В итоге: HNSW — это многомерный skip-list, который быстро находит правильное «соседство» перед локальным детальным поиском. Именно поэтому он работает так быстро даже с миллиардами векторов.
#буст