LlamaIndex: как улучшить RAG точной настройкой эмбеддингов на синтетических данных
Простым языком
LlamaIndex показал, как улучшить поиск в RAG-системе, обучая эмбеддинговую модель на специально сгенерированных примерах. Вместо того чтобы вручную составлять тысячи пар «вопрос-правильный документ», можно попросить LLM сгенерировать такие пары автоматически. Затем модель обучается отличать релевантные документы от похожих, но нерелевантных.
Что нового
- Генерация синтетических пар (query, positive_chunk) с помощью LLM вместо ручной разметки
- Использование hard negatives — семантически близких, но нерелевантных чанков для контрастивного обучения
- Fine-tuning эмбеддинговой модели (BGE-base) с MultipleNegativesRankingLoss на синтетических данных
- Прирост Hit Rate@5 на 9.3 п.п. (с 63.5% до 72.8%) на тестовом наборе Llama 2 эссе
Вердикт
Применять для доменных RAG-систем, где есть корпус документов, но нет размеченных пар запрос-документ. Не применять, если нет доступа к мощной LLM для генерации данных или если корпус документов слишком мал (<100 документов).
Fine-tuning эмбеддингов на синтетических парах (query, positive_chunk) с hard negatives даёт прирост Hit Rate@5 на ~9 п.п. для доменного RAG без ручной разметки.