Выбор ответа Middle Эмбеддинги и векторный поиск спрашивают часто обновлено

HNSW: какую ручку крутить в рантайме

Вопрос

Индекс HNSW уже построен. Recall@10 относительно точного поиска 0.89, нужно поднять до 0.97, перестраивать индекс нельзя. Что сделать?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Увеличить efsearch: поиск смотрит больше кандидатов, полнота растёт ценой задержки. efsearch задаёт размер списка кандидатов при запросе и меняется без перестроения.

Варианты ответа

  1. Увеличить M: это ускорит поиск и поднимет полноту без перестроения графа
  2. Увеличить ef_construction: он применяется при каждом запросе к индексу
  3. Увеличить ef_search: поиск смотрит больше кандидатов, полнота растёт ценой задержкиправильный ответ
  4. Уменьшить размерность вектора запроса, чтобы он точнее совпадал со структурой уже построенного графа

Разбор

ef_search задаёт размер списка кандидатов при запросе и меняется без перестроения. M и ef_construction влияют на структуру графа и требуют перестроения индекса; к тому же больший M увеличивает память. Размерность запроса должна совпадать с размерностью индекса, её нельзя уменьшить отдельно.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.