W ostatnich latach Retrieval-Augmented Generation (RAG) zyskało na popularności ze względu na swoją zdolność do rozwiązywania problemów związanych z modelami językowymi opartymi na dużych danych (LLM), takich jak halucynacje oraz używanie przestarzałych danych treningowych. Pipeline RAG składa się z dwóch głównych komponentów: retrievera (wyszukiwarki) i readera (czytnika). Retriever znajduje istotne informacje z zewnętrznej bazy wiedzy, które następnie są dołączane do zapytania w formie promptu dla modelu czytnika. Proces ten jest uważany za skuteczną alternatywę dla kosztownych metod finetuningu, ponieważ pomaga zmniejszyć liczbę błędów popełnianych przez LLM. Jednak nadal nie jest jasne, w jakim stopniu każdy komponent pipeline RAG przyczynia się do wydajności w konkretnych zadaniach.
Modele zagnieżdżania wektorowego i ich zastosowanie
Obecnie systemy retrivialne w pipeline RAG opierają się na gęstych wektorach (Dense vector embedding), które przewyższają starsze metody oparte na częstotliwości występowania słów. Modele te wykorzystują algorytmy wyszukiwania najbliższego sąsiada, aby znaleźć dokumenty zgodne z zapytaniem, przy czym większość gęstych retrieverów koduje każdy dokument jako jeden wektor. Zaawansowane modele, takie jak ColBERT, umożliwiają lepsze interakcje między terminami zapytania a dokumentem, co może generalizować lepiej na nowo poznawanych zbiorach danych. Niemniej jednak gęste wektory są mało wydajne, szczególnie w przypadku danych o wysokiej wymiarowości, co spowalnia wyszukiwanie w dużych bazach danych. W celu poprawy wydajności, pipeline RAG wykorzystuje wyszukiwanie approximate nearest neighbor (ANN), które poświęca nieco na dokładności na rzecz szybszych wyników. Jednak nie istnieje jednoznaczna wskazówka, jak skonfigurować wyszukiwanie ANN, aby idealnie zrównoważyć prędkość i dokładność.
Badania nad optymalizacją pipeline RAG
Grupa badaczy z University of Colorado Boulder oraz Intel Labs przeprowadziła szczegółowe badania nad optymalizacją pipeline RAG w popularnych zadaniach, takich jak Question Answering (QA). Skupili się na zrozumieniu wpływu komponentu retrivialnego na ogólną wydajność systemu RAG. Badania obejmowały oddzielne trenowanie retrievera i LLM. Wyniki wykazały, że taka strategia unika wysokich kosztów zasobowych związanych z end-to-end training, a jednocześnie wyjaśnia, jaką rolę pełni retriever w uzyskiwaniu oczekiwanych wyników.
Eksperymenty z modelami LLaMA i Mistral
Przeprowadzono eksperymenty, aby ocenić wydajność dwóch modeli LLM, mianowicie LLaMA i Mistral, w pipeline RAG bez dodatkowego trenowania lub finetuningu. Ocena koncentrowała się głównie na standardowym QA i QA z przypisaniem źródeł, gdzie modele generowały odpowiedzi na podstawie odnalezionych dokumentów, a w przypadku przypisania źródeł, podawały również konkretne cytaty. W badaniach wykorzystano gęste modele retrivialne, takie jak BGE-base i ColBERTv2, aby skorzystać z efektywnego wyszukiwania ANN dla gęstych wektorów. Testowane zbiory danych obejmowały ASQA, QAMPARI oraz Natural Questions (NQ), które zostały zaprojektowane w celu oceny zdolności systemu do retrivialu i generacji odpowiedzi.
W ocenie wyników bazowano na miarach takich jak recall (współczynnik odnalezienia dokumentów) oraz dokładność QA mierzona poprzez exact match recall. Jakość cytowań była oceniana za pomocą współczynnika recall cytatów oraz precyzji cytatów. Obliczono przedziały ufności za pomocą metody bootstrap, aby określić statystycznie istotne różnice między zapytaniami.
Wyniki badań
Badania wykazały, że retrivial ogólnie poprawia wydajność systemu, przy czym ColBERT minimalnie przewyższył BGE w wynikach. Optymalna liczba dokumentów do odzyskania wynosiła 5-10 dla Mistral i 4-10 dla LLaMA, w zależności od zbioru danych. Interesujące było to, że dodanie promptu dotyczącego cytowania miało znaczący wpływ tylko wtedy, gdy liczba odzyskanych dokumentów przekraczała 10. W niektórych przypadkach precyzja cytowania była najwyższa przy mniejszej liczbie dokumentów, a dalsze zwiększanie liczby odzyskanych dokumentów powodowało niepotrzebne przeciążenie cytatami. Dodatkowo, włączenie tzw. „gold documents” znacząco poprawiło wyniki QA, a obniżenie współczynnika recall z 1.0 do 0.7 miało jedynie niewielki wpływ na wydajność.
Badania pokazały, że zmniejszenie precyzji wyszukiwania ANN w retrieverze ma minimalny wpływ na osiągi w zadaniach, co sugeruje, że pewne kompromisy między szybkością a dokładnością mogą być akceptowalne, o ile nie wprowadza się zbyt dużej ilości szumu w odzyskiwanych dokumentach.
Wnioski końcowe
Badanie dostarczyło cennych informacji na temat poprawy strategii retrivialnych w pipeline RAG oraz podkreśliło znaczenie retrievera w zwiększaniu wydajności i efektywności, szczególnie w zadaniach QA. Wyniki sugerują, że wprowadzenie potencjalnie nieistotnych dokumentów obniża dokładność odpowiedzi w porównaniu do „gold standard”. W przyszłości wnioski z tego badania mogą zostać przetestowane w innych scenariuszach, co może stanowić podstawę dla przyszłych badań w zakresie pipeline RAG.