Эфир 18.11 · Поток 318 ноября в 19:00 МСК — бесплатный практический эфир по ИИ-агентам · Живой Поток 3 стартует 23.11Эфир 18 ноября →Поток 3 (23.11)
Безопасность и правоНаучная статья · В песочницуTG: @ai_product (AI Product / Igor Akimov)→ оригинал

Apple ускорила векторный поиск для RAG до 8 раз при полноте 99%

Ваш RAG может тормозить ещё до обращения к языковой модели: поиск перебирает лишние участки базы. Apple предложила обучать небольшую сеть на документах и типичных вопросах, чтобы она направляла поиск ближе к нужному результату. В эксперименте задержка снизилась с 1,8 до 0,23 мс при полноте поиска 99%. Это ускорение отдельного этапа, поэтому весь чат-бот быстрее в восемь раз не станет.

AI-обработка оригинала TG: @ai_product (AI Product / Igor Akimov); редакция Hamidun News
Apple ускорила векторный поиск для RAG до 8 раз при полноте 99%
Источник: TG: @ai_product (AI Product / Igor Akimov). Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникTG: @ai_product (AI Product / Igor Akimov) ↗
Главный редактор
Ключевой факт #1KeyNet меняет вектор запроса перед поиском в существующем индексе.
Ключевой факт #2Обучение требует заранее вычислить лучшие совпадения для примеров.
Код опубликованметод можно проверить на собственной базе знаний.

Пользователь спрашивает, как вернуть деньги, а поиск по базе поддержки приносит статьи про оплату. Языковая модель получает неподходящий контекст, и красивый ответ уже мало помогает. Исследователи Apple предложили обучать отдельные сети тому, где искать совпадения в конкретной базе. Для команды с большим архивом это повод проверить, сколько ресурсов съедает сам поиск и можно ли сократить перебор документов.

Сеть учится выбирать место для поиска

В RAG документы сначала превращают в числовые векторы — представления их содержания. Вопрос пользователя проходит похожую обработку. Дальше система ищет документы, чьи векторы лучше всего совпадают с вектором вопроса, и передаёт найденные фрагменты языковой модели.

Сравнивать запрос с каждым документом дорого. Поэтому базу можно разбить на группы: сначала выбрать несколько подходящих групп, затем искать внутри них. У такого сокращения пути есть цена: ошибка при выборе группы может оставить лучший результат за пределами поиска.

В работе Apple описаны два способа обучить этот этап. SupportNet оценивает, насколько хорошее совпадение можно найти внутри каждой группы. KeyNet предсказывает вектор лучшего совпадения и передаёт его обычному поисковому индексу вместо исходного вектора вопроса. Эти модели можно использовать по отдельности.

Представим базу интернет-магазина. Покупатель пишет: «Заказ отменил, когда придут деньги?» Нужная инструкция может называться «Сроки зачисления средств после отмены». В нашем условном примере KeyNet должна направить поиск к вектору этой инструкции. Она работает с числами: текст предполагаемого ответа для этого генерировать не требуется.

Обучающие примеры готовят заранее. Для каждого вопроса вычисляют лучшее совпадение полным перебором, а затем учат сеть воспроизводить соответствие. Затраты переносятся на подготовку системы; смысл появляется, когда обученная сеть обслуживает много последующих запросов.

Что означает ускорение до восьми раз

В разборе эксперимента Apple использовала около 2,6 млн фрагментов Natural Questions. С крупнейшей из протестированных KeyNet достижение полноты поиска 99% занимало 0,23 мс против 1,8 мс для исходного запроса. Замер включает преобразование запроса и поиск по индексу. Для той же полноты требовалось просмотреть примерно в 11 раз меньше векторов.

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

У SupportNet другой результат: при полноте маршрутизации 95% задержка составила 1,74 мс вместо 3,36 мс. Складывать эти ускорения нельзя — это отдельные измерения разных вариантов поиска.

Для продукта важна и абсолютная экономия. Снижение с 1,8 до 0,23 мс экономит около полутора миллисекунд на этом этапе. Если основное ожидание приходится на генерацию ответа, пользователь может почти не заметить разницы. При большом потоке запросов команде всё равно стоит оценить влияние на вычислительные затраты.

Как проверить пользу на своей базе

Начать можно с официального репозитория AMIPS. Утверждение исходного поста, что Apple не выложила код, неверно: доступны скрипты подготовки векторов, вычисления обучающих целей и обучения моделей, а также пример запуска на небольшом наборе FIQA.

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

Метод рассчитан на фиксированную базу и знакомые типы запросов. Поэтому для пилота логично выбрать относительно стабильный справочник. При обновлении документов или изменении вопросов потребуется заново проверять качество и решать, нужно ли переобучение. Главный критерий внедрения простой: достаточно ли часто повторяется поиск по этой базе, чтобы окупить дополнительное обучение и сопровождение.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: сеть учится выбирать место для поиска?

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

Что известно по теме: что означает ускорение до восьми раз?

В разборе эксперимента Apple использовала около 2,6 млн фрагментов Natural Questions. С крупнейшей из протестированных KeyNet достижение полноты поиска 99% занимало 0,23 мс против 1,8 мс для исходного запроса. Замер включает преобразование запроса и поиск по индексу. Для той же полноты требовалось просмотреть примерно в 11 раз меньше векторов. Здесь легко неправильно прочитать результат. Полнота 99% означает восстановление лучшего совпадения по выбранной векторной метрике.

Что известно по теме: как проверить пользу на своей базе?

Начать можно с официального репозитория AMIPS. Утверждение исходного поста, что Apple не выложила код, неверно: доступны скрипты подготовки векторов, вычисления обучающих целей и обучения моделей, а также пример запуска на небольшом наборе FIQA. Практический эксперимент стоит строить вокруг собственной нагрузки. Возьмите отдельную выборку реальных вопросов, зафиксируйте текущую полноту поиска и задержку, затем сравните их с обученным вариантом. Отдельно посчитайте время подготовки, память и стоимость обновления.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Единое AI-пространство · Nomad

Протестируйте новые LLM и мультимодальные модели в одном окне

Платформа Nomad AI (nomadnet.ai) даёт прямой доступ к Claude Opus 5.5, GPT-6, Gemini 3.1, DeepSeek и автономным агентам без VPN, зарубежных карт и зоопарка подписок.

Открыть Nomad AI →Автономный Nomad Agent
Что вы думаете?
Загружаем комментарии…