TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Всеволод Викулин

20 May, 09:20

Open in Telegram Share Report

Почему я ненавижу векторный поиск

Возьмите любую статью, где автор делал RAG. Откройте схему архитектуры. Держу пари: там будут эмбеддинги, векторное хранилище и поиск по нему. Обязательно будет.

Я долго думал, почему люди так любят это дело. Рефлексировал, общался с коллегами, прочитал гору книг по психологии. Мне кажется, теперь я все понял.

Почему все (но не я) любят сравнивать эмбеддинги

Это очень удобная ментальная модель. Вы не знаете, как сравнивать два текста в вашей задаче — я, кстати, чаще всего в своей тоже не знаю. Задача сравнения текстов вообще чертовски сложная: два человека иногда не могут договориться, про одно и то же говорят или нет.

И тут приходит эмбеддер. Чёрный ящик, который обещает: дай мне оба текста — я скажу, похожи они или нет. Сложная задача сравнения двух многогранных текстов сводится к сравнению расстоянию между двумя векторами по 512 чисел. Перечитайте это предложение ещё раз. Вы точно уверены, что она сводится?

Модель удобная. Она обещает, что теоретически сможет идеально сравнить два текста. Просто добавляй побольше данных, делай побольше эмбеддер, учи его подольше. Вот, кстати, еще 200 интересных статей, как этот эмбеддер можно обучать...

Когда ментальная модель встречает реальность

У сравнения эмбеддингов есть ряд ограничений, которые не лечатся ни большим датасетом, ни новой архитектурой.

— Точные совпадения. Пользователь спросил «iPhone 16 Pro» — он не хочет «iPhone 16. Семантически оба айфоны, даже оба новые. Но это совершенно разные продукты. Реклама меня уверяла. Ведь так?

— Отрицание. «Телефон, но не iPhone» — попробуйте заставить эмбеддинг адекватно обработать «не». Отрицание должно переворачивать все сравнения с ног на голову (как будет работать двойное отрицание, я пока не понял).

— Числа и даты. Ищете квартиру в Москве дешевле 20 млн? Квартира за 19.5 млн сильно не изменит свой эмбеддинг, когда собственник поднимет стоимость до 20.5.

— То, чего нет в обучающих данных эмбеддера. «Всеволод Викулин» плохо матчится эмбеддингом с текстом «лучший AI-практик в мире». Мы с вами всё понимаем, модель — пока нет. По крайней мере, пока не прочитает этот канал.

Как делать поиск, если не векторно

Векторный поиск никуда не девается — он занимает своё место, просто не соло.

1. Сначала проверьте, нужен ли поиск вообще. Если все ваши знания влезают в 5–10 тысяч токенов — просто положите их в промпт. Один раз объяснили, чем хорош Викулин и оно запомнило.

2. Если документов немного — оценивайте все документы другой LLM-кой. Берёте дешёвую маленькую модель, даёте ей запрос и документ, просите оценить релевантность.

3. Если документов много — используйте несколько методов поиска:

— полнотекстовый (по словам и н-граммам) — не знает семантики, зато точно находит «iPhone 16 Pro»

— структурированный (SELECT WHERE price < 20kk) — для чисел и фильтров

— поиск по оглавлениям — LLM разбивает базу на темы, потом выбирает нужную тему. Люди так делали c книгами до изобретения Ctrl+F

— поиск тулами — даёте LLM grep и наслаждаетесь

— гибридный поиск — смесь нескольких вариантов

— поиск по графу — разбирали пример

— (еще есть много чего, в том числе и векторный поиск)

4. Если качества не хватает, делаете реранкер. Берёте простой поиск, получаете топ-N кандидатов, и дальше их переранжирует LLM из пункта 2.

Кстати, пример архитектуры хорошего поиска мы уже разбирали в посте.

Резюме

Пока писал этот пост кое-что понял.

Я ненавижу не векторный поиск. Я ненавижу, когда люди скидывают ответственность за качество своего продукта на самый популярный в индустрии чёрный ящик. Нарисовали эмбеддер, дальше только данные подкидывать, а он разберется.

Не разберется. Нужно самому принимать решение, которое будет лучше всего работать в конкретной задаче.

Может, у меня синдром гиперконтроля? Надо сходить провериться.
Всеволод Викулин | AI разбор
Опасная любовь к black box Внимание, черный ящик! Собрал данные, запихнул в модель, и этот черный ящик сам разберётся, что надо сделать. Так обычно представляют работу с ИИ большинство людей, даже продвинутых специалистов, которые могут нейронки хоть на Java Script писать. Эта ментальная модель о...

4.4k 1 145 12 144
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot