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

Как посчитать память эмбеддингов: количество фрагментов, размерность, float32 и байты, разница GB/GiB, индекс, payload, реплики и проверка полного потребления сервера.

Автор: Команда Retrivium
Обновлено: 2026-11-01
Канонический URL: https://retrivium.ai/ru/journal/embedding-dimensions-memory/
Language: ru

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

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

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

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

[Qdrant Capacity Planning](https://qdrant.tech/documentation/capacity-planning/) рассматривает размерность, тип данных и состав коллекции. Для собственной таблицы сохраните число записей, размерность, представление и модель. Изменение одного из этих пунктов должно пересчитывать смету, а не оставаться незаметным техническим обновлением.

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

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

| Размерность | Арифметика | Байты сырых координат |
| --- | --- | ---: |
| 384 | 1000000 × 384 × 4 | 1 536 000 000 |
| 768 | 1000000 × 768 × 4 | 3 072 000 000 |
| 1536 | 1000000 × 1536 × 4 | 6 144 000 000 |

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

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

[FAISS Indexes](https://github.com/facebookresearch/faiss/wiki/Faiss-indexes) показывает, что разные индексы имеют разное представление и накладные расходы. Граф, идентификаторы и сжатые коды нельзя универсально описать одним множителем для любой реализации.

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

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

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

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

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

Загрузите представительную партию и измерьте спокойный поиск, добавление и построение индекса. Сохраните пиковые значения и запас для предусмотренных операций. Для выбора оборудования пригодятся [Qdrant и память](/ru/journal/qdrant-memory-on-disk/) и [FAISS на сервере](/ru/journal/faiss-index-memory/).
