multilingual e5 для поискового запроса и для названия и описания объекта. В бустинг кладу по одному числу similarity и она показывает себя очень важной, что понятно. Однако размер вектора 1024 и моделька тяжелая и инференсится непозволительно долго для поиска (инференс на поисковом запросе выполняется в онлайне).
Есть ли возможность уменьшать вектор и ускорять инференс модели или нужно переходить на более мелкие модельки? Про onnx знаю, но только в теории.
Подскажите, пожалуйста, в какую сторону посмотреть, что почитать и какие-нибудь туторы.
Можно уменьшить размерность векторов или тип данных
Можно сделать дистилляцию / прунинг / квантизацию на основе специфики данных модели чтобы ускорить инференс почти не теряя в качестве
Есть ли какой-нибудь туториал, как это делать? Эти слова понимаю, но руками пока не делал)
В торче есть нативная квантизация и гайдики на сайте для разных ее типов, но из того что последним пользовался это gptq для llm
Обычно 80%++ запросов - не уникальные и их вектора проще забирать с хеша предобученные, а не считать в онлайне
e5 же кстати есть запруненная, хочу ее в поиске попробовать
Для дистилляции можно начать отсюда (transformers репозитоий), код готовый для использования (m-e5 = XLMRoberta) и довольно понятный Для прунинга можно почитать в документации торча или использовать готовое коробочное решение (я через него быстро прунил multilingual-e5-large/base/small)
А если и материалы в системе не часто обновляются, то теоретически можно и саму выдачу сохранять
Обсуждают сегодня