Модели 🇷🇺 20.07.2026 04:03

Сжатие декодерных эмбеддеров: как ужать 8B до продакшена без потери recall

Рассматриваются методы сжатия векторов декодерных эмбеддеров: квантизация (int8, int4, бинарная) и MRL-усечение. Показано, что int8 даёт 4x сжатие с минимальной потерей recall, а бинарная квантизация с rescoring возвращает почти полное качество. MRL-усечение работоспособно, но заметно меняет выдачу уже при сокращении на 50%.
В статье исследуются три оси сжатия эмбеддингов декодерных моделей: дистилляция (не рассматривается), квантизация (поэлементная и векторная PQ) и MRL-усечение (Matryoshka Representation Learning). Для измерения деградации используется recall@10 относительно несжатого fp32-поиска. Квантизация int8 (4x сжатие) незначительно снижает recall до 0.9964, int4 (8x) — до 0.9478, а бинарная квантизация без rescoring обваливает recall до 0.6696. Однако с oversampling и rescoring (например, ×5) recall восстанавливается до 0.9666, а при ×10 — до 0.9912, что делает бинарную квантизацию эффективной в связке с точным переранжированием. MRL-усечение: на модели Qwen3-Embedding-0.6B при сокращении на 50% (1024→512) recall относительно полного вектора составляет 0.7962, при сокращении на 88% (1024→128) — 0.5610. Сравнение со случайным порядком осей показывает, что MRL-обучение даёт преимущество в зоне агрессивного усечения. Рекомендуется использовать int8 по умолчанию, бинарную квантизацию — только с rescoring, а MRL-усечение — с проверкой на собственном бенчмарке.
Сокращения
MRL = Matryoshka Representation Learning — представление обучение матрёшки
PQ = Product Quantization — продуктовая квантизация
HNSW = Hierarchical Navigable Small World — иерархический навигационный малый мир
GPU = Graphics Processing Unit — графический процессор
CPU = Central Processing Unit — центральный процессор
Источник: Habr — хаб NLP — оригинал

Наши прошлые публикации по теме

Есть свежие новости