170 похожих чатов

Всем привет! Делаю поисковое ранжирование и в качестве текстовых фичей пихаю

multilingual e5 для поискового запроса и для названия и описания объекта. В бустинг кладу по одному числу similarity и она показывает себя очень важной, что понятно. Однако размер вектора 1024 и моделька тяжелая и инференсится непозволительно долго для поиска (инференс на поисковом запросе выполняется в онлайне).
Есть ли возможность уменьшать вектор и ускорять инференс модели или нужно переходить на более мелкие модельки? Про onnx знаю, но только в теории.
Подскажите, пожалуйста, в какую сторону посмотреть, что почитать и какие-нибудь туторы.

8 ответов

10 просмотров

Можно уменьшить размерность векторов или тип данных

Можно сделать дистилляцию / прунинг / квантизацию на основе специфики данных модели чтобы ускорить инференс почти не теряя в качестве

Ростислав-Корст Автор вопроса
Антон Легченко
Можно сделать дистилляцию / прунинг / квантизацию ...

Есть ли какой-нибудь туториал, как это делать? Эти слова понимаю, но руками пока не делал)

Ростислав Корст
Есть ли какой-нибудь туториал, как это делать? Эти...

В торче есть нативная квантизация и гайдики на сайте для разных ее типов, но из того что последним пользовался это gptq для llm

Обычно 80%++ запросов - не уникальные и их вектора проще забирать с хеша предобученные, а не считать в онлайне

Антон Легченко
Можно сделать дистилляцию / прунинг / квантизацию ...

e5 же кстати есть запруненная, хочу ее в поиске попробовать

Ростислав Корст
Есть ли какой-нибудь туториал, как это делать? Эти...

Для дистилляции можно начать отсюда (transformers репозитоий), код готовый для использования (m-e5 = XLMRoberta) и довольно понятный Для прунинга можно почитать в документации торча или использовать готовое коробочное решение (я через него быстро прунил multilingual-e5-large/base/small)

Aleksei Kogai
Обычно 80%++ запросов - не уникальные и их вектора...

А если и материалы в системе не часто обновляются, то теоретически можно и саму выдачу сохранять

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
8
Доброе утро! Не совсем понятно как установить счетчик яндекс метрики на сайт. И потом ещё цели проставить?
Евгения
18
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Это фейк @cruppto_newbot?
Antskup
13
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Гуру, подскажите, меня уже критиковали за неумением, но и в инете я решения не нашел, тем более в доках абракадабры. В 12.1 студии появился новый тип TSQLTimeStampOffset , ест...
Delphi Photo
10
Карта сайта