Wprowadzenie do oceny i monitorowania aplikacji RAG
Ocena i monitorowanie mają kluczowe znaczenie dla składników, aby zrozumieć, czy aplikacja RAG działa zgodnie z wymaganiami dotyczącymi jakości, kosztów i opóźnień dyktowanych przez twój przypadek użycia. Technicznie ocena odbywa się podczas programowania i monitorowania po wdrożeniu aplikacji w środowisku produkcyjnym, ale podstawowe składniki są podobne.
Rag nad danymi bez struktury to złożony system z wieloma składnikami, które wpływają na jakość aplikacji. Dostosowanie dowolnego pojedynczego elementu może mieć wpływ kaskadowy na inne. Na przykład zmiany formatowania danych mogą mieć wpływ na pobrane fragmenty i możliwość generowania odpowiednich odpowiedzi przez moduł LLM. W związku z tym kluczowe znaczenie ma ocena poszczególnych składników aplikacji oprócz całej aplikacji w celu iteracyjnego uściślenia jej na podstawie tych ocen.
Ocena i monitorowanie: klasyczne uczenie maszynowe a generowanie sztucznej inteligencji
Ocena i monitorowanie aplikacji generacyjnych sztucznej inteligencji, w tym RAG, różni się od klasycznego uczenia maszynowego na kilka sposobów:
Temat | Klasyczne uczenie maszynowe | Generatywna AI |
---|---|---|
Metryki | Metryki oceniają dane wejściowe i wyjściowe składnika, na przykład dryf funkcji, precyzję, kompletność, opóźnienie itd. Ponieważ istnieje tylko jeden składnik, ogólne metryki == metryki składników. | Metryki składników oceniają dane wejściowe i wyjściowe każdego składnika, na przykład precyzja @ K, nDCG, opóźnienie, toksyczność itd. Metryki złożone oceniają sposób interakcji wielu składników: wierność mierzy zgodność generatora z wiedzą z modułu pobierania, który wymaga danych wejściowych łańcucha, danych wyjściowych łańcucha i danych wyjściowych wewnętrznego modułu pobierania. Ogólne metryki oceniają ogólne dane wejściowe i wyjściowe systemu, na przykład poprawność odpowiedzi i opóźnienie. |
Ocena | Odpowiedź jest deterministycznie "właściwa" lub "nieprawidłowa". Praca metryk deterministycznych. | Odpowiedź brzmi "dobrze" lub "źle", ale: • Istnieje wiele właściwych odpowiedzi (niedeterministycznych). • Niektóre właściwe odpowiedzi są bardziej słuszne. Potrzebujesz: • Opinie ludzi, aby być pewni siebie. • Metryki oceniane przez LLM w celu skalowania oceny. |
Składniki oceny i monitorowania
Efektywne ocenianie i monitorowanie jakości, kosztów i opóźnień aplikacji RAG wymaga kilku składników:
- Zestaw oceny: aby rygorystycznie ocenić aplikację RAG, potrzebujesz wyselekcjonowanych zestawów zapytań ewaluacyjnych (i idealnie wyjściowych), które są reprezentatywne dla zamierzonego użycia aplikacji. Te przykłady oceny powinny być trudne, zróżnicowane i zaktualizowane, aby odzwierciedlać zmieniające się użycie i wymagania.
- Definicje metryk: nie można zarządzać tym, czego nie mierzysz. Aby poprawić jakość rag, należy określić, jaka jakość oznacza dla twojego przypadku użycia. W zależności od aplikacji ważne metryki mogą obejmować dokładność odpowiedzi, opóźnienie, koszty lub oceny od kluczowych uczestników projektu. Potrzebne będą metryki, które mierzą poszczególne składniki, sposób interakcji składników ze sobą i ogólny system.
- Sędziowie LLM: Biorąc pod uwagę otwarty charakter odpowiedzi LLM, nie jest możliwe odczytywanie każdej pojedynczej odpowiedzi za każdym razem, gdy oceniasz, czy dane wyjściowe są poprawne. Użycie dodatkowego, innego modułu LLM do przeglądania danych wyjściowych może pomóc w skalowaniu oceny i obliczenia dodatkowych metryk, takich jak uziemienia odpowiedzi na tysiące tokenów kontekstu, które byłyby niewykonalne dla wskaźników ludzkich w celu efektywnego asses na dużą skalę.
- Wykorzystanie oceny: podczas programowania wykorzystanie oceny pomaga szybko wykonywać aplikację dla każdego rekordu w zestawie oceny, a następnie uruchamiać poszczególne dane wyjściowe za pośrednictwem sędziów LLM i obliczeń metryk. Jest to szczególnie trudne, ponieważ ten krok "blokuje" wewnętrzną pętlę dev loop, więc szybkość jest niezwykle ważna. Dobra ocena wykorzystuje równoległość tej pracy tak bardzo, jak to możliwe, często uruchomić dodatkową infrastrukturę, taką jak więcej pojemności LLM, aby to zrobić.
- Interfejs użytkownika przeznaczony dla uczestników projektu: jako deweloper możesz nie być ekspertem w dziedzinie zawartości opracowywanej aplikacji. Aby zebrać opinie od ekspertów ludzkich, którzy mogą ocenić jakość aplikacji, potrzebny jest interfejs, który umożliwia im interakcję z aplikacją i przekazywanie szczegółowych informacji zwrotnych.
- Rejestrowanie śledzenia produkcji: po przejściu do środowiska produkcyjnego należy ocenić znacznie większą ilość żądań/odpowiedzi oraz sposób generowania każdej odpowiedzi. Na przykład musisz wiedzieć, czy główną przyczyną odpowiedzi o niskiej jakości jest krok pobierania lub halucynacja. Rejestrowanie produkcyjne musi śledzić dane wejściowe, wyjściowe i pośrednie kroki, takie jak pobieranie dokumentu, aby umożliwić ciągłe monitorowanie i wczesne wykrywanie i diagnozowanie problemów występujących w środowisku produkcyjnym.
Te dokumenty obejmują ocenę bardziej szczegółowo w temacie Ocena jakości RAG.