Заметки про эффективный RAG.
Основано на курсе и личном опыте. А также навеяно последним обзором ChatQA выше.
1. эмбеддер для поиска подсказок важен, с него апает качество. С ходу можно получить прирост от 5-7%.
Не стоит стесняться тюнить энкодер е2е без тюна LLM (она зафриз, следим ток за конечной е2е метрикой). Так же тюнить соло без е2е тоже, как шаг 2 (после шаг1 бейзлайна взять лучший энкодер по MTEB), а е2е тюн с LLM уже последняя мера.
2. MMR поверх выдачи эмбеддера повышает разнообразие итоговых подсказок и даёт лучший импакт на конечную генерацию. Тут суть в том, что нам нужно получить не топК ближайших парафраз/формулировок подсказок, а топК разнообразных релевантных подсказок, не являющихся парафразами друг-друга. Это и помогает сделать MRR метрика.
3. Промтинг всё ещё также в купе с пп. 1-2 даёт импакт к итоговой генерации. Тут можно урвать +2% процента минимум к качеству ответа.
4. Разбиение документов поиска на чанки. Хитрая разбивка от малого к большому. А именно мы бьём документы не на большие куски, а храним иерархию большой чанк <=> его сабчанки. Далее ищем именно по саб.чанк, а в промт по обратной связи возвращается родительский большой. Такое расширение контекста закрывает проблемы lost in the middle. Тк при слишком крупной нарезке, ретривер может размывать информацию в эмбеддинг представлении текста биг чанка. В купе с этим MMR поможет сделать выдачу на основе малых чанков разнообразней/информативней и залинковать разнообразные родительские чанки, вместо сабчанков одного и того же. Кстати подобное было и в статье про ChatQA.
Список думаю будет еще пополняться, а пока на этом все. Stay tuned!
Основано на курсе и личном опыте. А также навеяно последним обзором ChatQA выше.
1. эмбеддер для поиска подсказок важен, с него апает качество. С ходу можно получить прирост от 5-7%.
Не стоит стесняться тюнить энкодер е2е без тюна LLM (она зафриз, следим ток за конечной е2е метрикой). Так же тюнить соло без е2е тоже, как шаг 2 (после шаг1 бейзлайна взять лучший энкодер по MTEB), а е2е тюн с LLM уже последняя мера.
2. MMR поверх выдачи эмбеддера повышает разнообразие итоговых подсказок и даёт лучший импакт на конечную генерацию. Тут суть в том, что нам нужно получить не топК ближайших парафраз/формулировок подсказок, а топК разнообразных релевантных подсказок, не являющихся парафразами друг-друга. Это и помогает сделать MRR метрика.
3. Промтинг всё ещё также в купе с пп. 1-2 даёт импакт к итоговой генерации. Тут можно урвать +2% процента минимум к качеству ответа.
4. Разбиение документов поиска на чанки. Хитрая разбивка от малого к большому. А именно мы бьём документы не на большие куски, а храним иерархию большой чанк <=> его сабчанки. Далее ищем именно по саб.чанк, а в промт по обратной связи возвращается родительский большой. Такое расширение контекста закрывает проблемы lost in the middle. Тк при слишком крупной нарезке, ретривер может размывать информацию в эмбеддинг представлении текста биг чанка. В купе с этим MMR поможет сделать выдачу на основе малых чанков разнообразней/информативней и залинковать разнообразные родительские чанки, вместо сабчанков одного и того же. Кстати подобное было и в статье про ChatQA.
Список думаю будет еще пополняться, а пока на этом все. Stay tuned!