Reranker
Узнай, как модели переранжирования уточняют результаты поиска и обнаружения объектов для максимальной точности. Изучи, как Ultralytics YOLO26 использует эти модели для оптимизации точности ИИ.
Переранжировщик — это сложная модель машинного обучения, предназначенная для уточнения и изменения порядка списка кандидатов, таких как результаты поиска, фрагменты документов или обнаруженные объекты, чтобы максимально повысить их релевантность конкретному запросу или контексту. В многоэтапных системах первоначальный «retriever» сначала быстро собирает широкий набор потенциально полезных элементов из огромного набора данных. Затем на втором этапе подключается переранжировщик, выполняя глубокий и ресурсоёмкий анализ этого небольшого списка, чтобы определить абсолютно лучшие совпадения. Сосредоточив вычислительно затратные операции только на нескольких отобранных кандидатах, системы могут достичь высокой точности, не жертвуя скоростью, необходимой для приложений реального времени.
Как работают переранжировщики#
Переранжирование обычно выполняется в рамках двухэтапного конвейера, распространённого в современных системах семантического поиска и рекомендательных системах.
- Поиск на первом этапе: облегчённая модель сканирует всю базу данных, чтобы извлечь большой набор кандидатов (например, 100 наиболее релевантных документов). На этом этапе приоритет отдаётся полноте, чтобы не пропустить ни один релевантный элемент; часто используются быстрые алгоритмы, например приближённый поиск ближайших соседей.
- Переранжирование на втором этапе: переранжировщик обрабатывает найденных кандидатов. В отличие от retriever, который может использовать простое векторное сходство, переранжировщик часто применяет архитектуру кросс-энкодера или мощную архитектуру Transformer. Он анализирует полное взаимодействие между запросом и элементом-кандидатом, улавливая тонкие нюансы и контекст, которые упускают более простые модели. На выходе получается упорядоченный заново список, в начале которого находятся наиболее релевантные элементы.
Переранжировщики и retriever#
Хотя оба компонента предназначены для поиска релевантных данных, в рабочих процессах машинного обучения (ML) они выполняют разные задачи.
- Retriever создаются с расчётом на масштабируемость. Они сжимают данные в эмбеддинги фиксированного размера, что позволяет им искать среди миллионов элементов за миллисекунды. Однако при таком сжатии могут теряться мелкие детали.
- Переранжировщики создаются с расчётом на точность. Они слишком медленные для работы со всей базой данных, но чрезвычайно эффективны на небольших подмножествах. Они предоставляют «второе мнение», исправляя ошибки, допущенные на быстром этапе поиска.
Практические применения#
Переранжировщики необходимы в различных высокопроизводительных системах искусственного интеллекта, связывая широкий поиск с точным пониманием.
Генерация с дополнением результатов поиска (RAG)#
В генерации с дополнением результатов поиска (RAG) LLM отвечает на вопросы на основе внешних данных. Если на этапе поиска в LLM передаются нерелевантные документы, модель может галлюцинировать или выдавать неверные ответы. Переранжировщик действует как фильтр качества, гарантируя, что генератору передаются только наиболее подходящие фрагменты текста. Это повышает фактическую достоверность ответа и снижает использование контекстного окна.
Обнаружение объектов и подавление немаксимумов#
В компьютерном зрении похожая на переранжирование концепция используется во время инференса. Модели, такие как YOLO26, генерируют тысячи кандидатных ограничивающих рамок для объектов на изображении. Процесс, называемый подавлением немаксимумов (NMS), действует как переранжировщик. Он сортирует рамки по оценкам их уверенности и устраняет избыточные перекрывающиеся предсказания с использованием показателя пересечения над объединением (IoU). Это гарантирует, что в итоговом результате для каждого объекта останется только одно лучшее обнаружение.
В следующем примере на Python показано, как параметры NMS работают как фильтр переранжирования во время инференса с ultralytics.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference with NMS settings acting as the 'reranker'
# 'iou' controls the overlap threshold for suppressing duplicate candidates
# 'conf' sets the minimum confidence score required to be considered
results = model.predict("https://ultralytics.com/images/bus.jpg", iou=0.5, conf=0.25)
# Show the filtered, high-relevance detections
results[0].show()Персонализация в электронной коммерции#
Крупные интернет-магазины, такие как Amazon, используют переранжировщики для адаптации результатов поиска. Если пользователь ищет «кроссовки», retriever находит тысячи вариантов обуви. Затем переранжировщик сортирует их с учётом истории прошлых покупок пользователя, текущих трендов и размера прибыли, помещая в начало страницы товары, которые пользователь с наибольшей вероятностью купит.
Оптимизация рабочих процессов переранжирования#
Внедрение переранжировщика требует найти баланс между повышением точности и вычислительными затратами. Разработчикам, использующим Ultralytics Platform для обучения и развёртывания моделей, важно понимать компромисс между сложностью модели и скоростью инференса. Хотя ресурсоёмкий переранжировщик улучшает результаты, он увеличивает задержку. Такие методы, как квантизация модели и дистилляция знаний, могут помочь ускорить модели переранжирования для развёртывания на периферийных устройствах.
Чтобы подробнее изучить оптимизацию конвейеров инференса, ознакомься с нашими руководствами по настройке гиперпараметров и экспорту моделей для достижения максимальной производительности.









