Сжатие декодерных эмбеддеров: как ужать 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 —
оригинал
