CPU, GPU И RAM

Размерность эмбеддингов: как посчитать память индекса

В этом материале
ГЛАВНОЕ ЗА МИНУТУ

Для сырых dense-векторов начните с N × D × B. Затем добавьте индекс, метаданные и рабочую память; арифметика координат не равна требованию к RAM всего сервера.

Память массива эмбеддингов можно сначала оценить формулой N × D × B, где N — число векторов, D — размерность, B — число байтов на координату. Это удобная отправная точка для сметы. Но она описывает только выбранное представление координат, а не весь поисковый сервис.

Пример ниже является арифметической моделью. Он не основан на собственном бенчмарке базы и не обещает, что сервер с таким объёмом свободной RAM обработает нужную нагрузку.

Считайте фрагменты, а не файлы

Один PDF может дать десятки или сотни поисковых фрагментов. Поэтому начните с реального результата разбиения корпуса. Если модель создаёт несколько представлений одного фрагмента, оцените каждое отдельно.

Qdrant Capacity Planning рассматривает размерность, тип данных и состав коллекции. Для собственной таблицы сохраните число записей, размерность, представление и модель. Изменение одного из этих пунктов должно пересчитывать смету, а не оставаться незаметным техническим обновлением.

Проведите условный расчёт

Для миллиона векторов float32 получаются следующие размеры координат:

РазмерностьАрифметикаБайты сырых координат
3841000000 × 384 × 41 536 000 000
7681000000 × 768 × 43 072 000 000
15361000000 × 1536 × 46 144 000 000

При одинаковом N и B удвоение размерности удваивает эту составляющую. Для перевода в GiB делите байты на 1024³, а для десятичных GB — на миллиард. Подпись единицы важна при сопоставлении сметы и интерфейса операционной системы.

Добавьте поисковые структуры

FAISS Indexes показывает, что разные индексы имеют разное представление и накладные расходы. Граф, идентификаторы и сжатые коды нельзя универсально описать одним множителем для любой реализации.

Дополнительно учитывайте payload, индексы фильтров, реплики, кеш и временные операции. Если данные частично находятся на диске, оцените память рабочего набора и скорость чтения. Не заменяйте такую проверку выводом «все координаты помещаются, значит сервер готов».

Не сокращайте размерность произвольно

Обрезание координат допустимо не для любой модели без изменения качества. Если рассматривается поддерживаемое сокращение или квантизация, повторите оценку релевантности на своём наборе вопросов. Уменьшение памяти — только один из критериев.

Условная команда сравнивает две конфигурации представления. Она сохраняет размер индекса, время поиска и попадание нужных документов в первые результаты. Решение принимается по допустимому сочетанию, а не по минимальному числу байтов отдельно от полезности поиска.

Подтвердите смету измерением

Загрузите представительную партию и измерьте спокойный поиск, добавление и построение индекса. Сохраните пиковые значения и запас для предусмотренных операций. Для выбора оборудования пригодятся Qdrant и память и FAISS на сервере.

← Все материалы