Po osiągnięciu tej fazy indeks wyszukiwania został już wygenerowany i określić, jakie wyszukiwania chcesz wykonać. Ta faza dotyczy procesu oceny rozwiązania generacji rozszerzonej (RAG) pobierania z perspektywy oceny oczekiwanych monitów użytkownika zawierających pobrane dane uziemione dla dużego modelu językowego. Przed osiągnięciem tej fazy należy ukończyć fazę przygotowania, w której zbierane są dokumenty testowe i zapytania, fragmentować dokumenty testowe, wzbogacać fragmenty, osadzać fragmenty, tworzyć indeks wyszukiwania i implementować strategię wyszukiwania. Należy ocenić każdą z tych faz i być zadowolony z wyników. W tym momencie należy czuć się komfortowo, że rozwiązanie zwraca odpowiednie dane uziemienia dla zapytania użytkownika.
Te dane uziemienia są kontekstem monitu wysyłanego do dużego modelu językowego w celu adresowania zapytania użytkownika. Strategie inżynieryjne monitów wykraczają poza zakres tego artykułu. Ten artykuł dotyczy oceny zaprojektowanego wywołania do dużego modelu językowego z perspektywy danych uziemienia. W tym artykule opisano niektóre typowe metryki oceny modelu języka oraz określone podobieństwa i metryki oceny, które mogą być używane w dużych obliczeniach oceny modelu językowego lub jako autonomiczne metryki.
W tym artykule nie podjęto próby udostępnienia wyczerpującej listy metryk modelu języka lub podobieństwa i metryk oceny. Liczba tych metryk rośnie każdego dnia. Ważne jest, aby zabrać z tego artykułu różne metryki, z których każdy ma własny odrębny przypadek użycia. Jesteś jedynym z całościowym zrozumieniem obciążenia. Ty i twoi analitycy danych muszą określić, co chcesz zmierzyć, i które metryki ułatwiają wykonanie tego zadania.
Ten artykuł jest częścią serii. Przeczytaj wprowadzenie.
Metryki oceny modelu dużego języka
Istnieje kilka metryk, których można użyć do oceny odpowiedzi dużego modelu językowego, w tym podstawy, kompletności, wykorzystania i trafności.
Ważne
Duże odpowiedzi modelu językowego są niedeterministyczne, co oznacza, że ten sam monit do dużego modelu językowego może i często zwraca różne wyniki. Ważne jest, aby zrozumieć, kiedy używasz dużego modelu językowego w ramach procesu oceny. Rozważ użycie zakresu docelowego dla pojedynczego celu podczas oceniania przy użyciu dużego modelu językowego.
Uziemienie
Uziemienie, czasami określane jako wierność, mierzy, czy odpowiedź jest całkowicie oparta na kontekście. Sprawdza, czy odpowiedź nie korzysta z informacji innych niż to, co istnieje w kontekście. Metryka o niskiej podstawie wskazuje, że duży model językowy może dryfować do pomysłowego lub niesensownego terytorium znanego jako halucynacje.
Obliczania
- Podstawy oparte na usłudze Azure AI Content Safety Service (AACS) to model niestandardowy, który używa wnioskowania języka naturalnego (NLI) do określenia, czy oświadczenia, w tym przypadku fragmenty, są związane z dokumentem źródłowym, czy nie.
- Duży model językowy oparty na podstawach używa dużego modelu językowego, aby określić poziom uziemienia odpowiedzi.
- Biblioteka wierności Ragas
- Obliczanie wierności MLflow
Oceny
Jeśli uziemienie jest niskie, oznacza to, że duży model językowy nie widzi fragmentów jako odpowiednich. Należy ocenić, czy musisz dodać dane do korpusu, dostosować strategię fragmentowania lub rozmiar fragmentu, czy dostosować monit.
Kompletność
Kompletność mierzy, czy odpowiedź odpowiada na wszystkie części zapytania. Kompletność pomaga zrozumieć, czy fragmenty w kontekście są odpowiednie i bezpośrednio powiązane z zapytaniem i zapewniają pełną odpowiedź.
Obliczania
- Asystowana sztuczna inteligencja: monitowanie o wynik pobierania
- Duży model językowy może pomóc w zmierzeniu jakości odpowiedzi na duży model językowy. Potrzebujesz pytania, kontekstu i wygenerowanej odpowiedzi, aby wykonać tę miarę. Poniżej przedstawiono ogólny proces:
- Użyj dużego modelu językowego, aby powtórzyć, podsumować lub uprościć pytanie. Ten krok identyfikuje intencję.
- Poproś model o sprawdzenie, czy intencja lub odpowiedź na intencję została znaleziona lub może pochodzić z pobranych dokumentów, w których odpowiedź może mieć wartość "Nie" lub "Tak" dla każdego dokumentu. Odpowiedzi rozpoczynające się od "Tak" wskazują, że pobrane dokumenty są istotne dla intencji lub odpowiedzi na intencję.
- Oblicz stosunek intencji, które mają odpowiedź rozpoczynającą się od "Tak".
- Kwadrat wyniku, aby wyróżnić błędy.
Oceny
Jeśli kompletność jest niska, zacznij od oceny modelu osadzania. Porównaj słownictwo w zawartości ze słownictwem w wybranym modelu osadzania. Ustal, czy potrzebujesz modelu osadzania specyficznego dla domeny, czy chcesz dostosować istniejący model. W następnym kroku oceń strategię fragmentowania. Jeśli używasz stałej długości, rozważ zwiększenie rozmiaru fragmentu. Możesz również ocenić, czy dane testowe mają wystarczającą ilość danych, aby całkowicie rozwiązać to pytanie.
Wykorzystanie
Użycie mierzy zakres, w jakim odpowiedź składa się z informacji z fragmentów w kontekście. Celem jest określenie zakresu, w jakim każdy fragment jest częścią odpowiedzi. Niskie wykorzystanie wskazuje, że wyniki mogą nie być istotne dla zapytania. Wykorzystanie powinno być oceniane wraz z kompletnością po stronie.
Obliczania
Aby obliczyć wykorzystanie, możesz użyć dużego modelu językowego. Możesz przekazać odpowiedź i kontekst zawierający fragmenty do dużego modelu językowego. Możesz poprosić duży model językowy o określenie liczby fragmentów, które wiążą się z odpowiedzią.
Oceny
Poniższa tabela zawiera wskazówki dotyczące zarówno kompletności, jak i wykorzystania.
Wysokie wykorzystanie | Niskie wykorzystanie | |
---|---|---|
Wysoka kompletność | Nie jest wymagane żadne działanie | W takim przypadku zwrócone dane są w stanie rozwiązać ten problem, ale zwrócone zostały nieistotne fragmenty. Rozważ zmniejszenie wartości parametru top-k, aby uzyskać bardziej prawdopodobne/deterministyczne wyniki. |
Niska kompletność | W takim przypadku fragmenty, które udostępniasz, są używane, ale nie są w pełni odpowiadać na pytanie. Rozważ następujące źródła:
|
W takim przypadku nie odpowiadasz w pełni na pytanie, a fragmenty, które podajesz, nie są dobrze wykorzystywane. Rozważ następujące kwestie, aby rozwiązać te problemy:
|
Stopień zgodności
Mierzy zakres, w jakim odpowiedź dużego modelu językowego jest trafna i powiązana z zapytaniem.
Obliczania
- Wspomagana sztuczna inteligencja: istotność w usłudze Azure AI Studio — możesz użyć narzędzia Azure AI Studio do wykonywania obliczeń lub użyć wskazówek w tym artykule, aby obliczyć istotność dla siebie.
- Ragas odpowiada na bibliotekę relevancy
- Obliczanie istotności platformy MLflow
Oceny
Jeśli istotność jest niska, oceń następujące kwestie:
- Upewnij się, że fragmenty dostarczone do dużego modelu językowego są istotne.
- Ustal, czy istnieją realne fragmenty, które są istotne, które nie zostały zwrócone. Jeśli istnieje, oceń model osadzania.
- Jeśli nie ma przydatnych fragmentów, sprawdź, czy istnieją odpowiednie dane. Jeśli tak, oceń strategię fragmentowania.
- Jeśli zostały zwrócone odpowiednie fragmenty, oceń monit.
Inne metody oceny, takie jak Kompletność , powinny być obliczane i powinny zwracać podobne wyniki do tych obserwowanych w mierze istotności.
Podobieństwo i metryki oceny
Jak wspomniano we wprowadzeniu, istnieją setki metryk podobieństwa i oceny używanych w nauce o danych. Niektóre algorytmy są specyficzne dla domeny, takie jak zamiana mowy na tekst lub tłumaczenie języka na język. Każdy algorytm ma unikatową strategię obliczania metryki.
Analityk danych określa, co chcesz zmierzyć, oraz jaką metrykę lub kombinację metryk można użyć do jej zmierzenia. Na przykład w obszarze tłumaczenia języka Metryka Bleu sprawdza, ile n-gramów pojawia się zarówno w tłumaczeniu maszynowym, jak i w tłumaczeniu ludzkim, aby zmierzyć podobieństwo na podstawie tych samych słów. Podobieństwo cosinusu używa osadzania między maszyną a tłumaczeniami ludzkimi w celu mierzenia podobieństwa semantycznego. Jeśli twoim celem było posiadanie wysokiej semantycznej podobieństwa i użycie podobnych słów do tłumaczeń ludzkich, twoim celem będzie wysoki wynik Bleu z wysokim podobieństwem cosinus. Jeśli dbasz tylko o podobieństwo semantyczne, skupisz się na podobieństwie cosinusu.
Poniższa lista zawiera niewielką próbkę typowych metryk podobieństwa i oceny. Zwróć uwagę, że wymienione metryki podobieństwa są opisane jako oparte na tokenach, oparte na sekwencjach lub na podstawie edycji, ilustrujące sposób używania znacznie różnych podejść do obliczania podobieństwa. Należy również zauważyć, że lista zawiera trzy algorytmy oceny jakości tłumaczenia tekstu z jednego języka na inny.
- Najdłuższy wspólny podciąg — algorytm oparty na sekwencji, który znajduje najdłuższy wspólny podciąg między dwoma ciągami. Najdłuższy wspólny procent podciągów przyjmuje najdłuższy wspólny podciąg i dzieli go przez liczbę znaków mniejszego lub większego ciągu wejściowego.
- Najdłuższa wspólna podsekwencja (LCS) — algorytm oparty na sekwencji, który znajduje najdłuższą podsekwencję między dwoma ciągami. Usługa LCS nie wymaga, aby podsekwencje znajdowały się w kolejności kolejnej.
- Podobieństwo cosinus — algorytm oparty na tokenach, który oblicza cosinus kąta między dwoma wektorami.
- Jaro Winkler — algorytm oparty na edycji, który zlicza minimalną liczbę kroków, aby przekształcić jeden ciąg w inny.
- Hamming — algorytm oparty na edycji, który mierzy minimalną liczbę podstaw, które są wymagane do przekształcenia jednego ciągu na inny.
- Jaccard — algorytm oparty na tokenach, który oblicza podobieństwo, dzieląc przecięcie dwóch ciągów przez połączenie tych ciągów.
- Levenshtein — algorytm oparty na edycji, który oblicza podobieństwo, określając minimalną liczbę edycji pojedynczych znaków wymaganych do przekształcenia jednego ciągu w inny.
- BLEU — ocenia jakość tekstu, który jest wynikiem tłumaczenia maszynowego z jednego języka na inny. Bleu oblicza nakładanie się n-gramów między tłumaczeniem maszynowym a tłumaczeniem jakości ludzkiej w celu dokonania tej oceny.
- ROUGE — porównaj tłumaczenie maszynowe jednego języka na inny z tłumaczeniem stworzonym przez człowieka. Istnieje kilka wariantów ROUGE, które używają nakładających się n-gramów, skip-bigrams lub najdłuższej wspólnej podsekwencji.
- METEOR — ocenia jakość tekstu, który jest wynikiem tłumaczenia maszynowego, sprawdzając dokładne dopasowania, dopasowania po zakończeniu, synonimy, parafrasowanie i wyrównanie.
Zapoznaj się z następującymi zasobami, aby zapoznać się z typowymi metrykami podobieństwa i oceny:
Dokumentacja, raportowanie i agregacja
Należy udokumentować zarówno hiperparametry wybrane dla eksperymentu, jak i wynikowe metryki oceny, aby zrozumieć wpływ hiperparametrów na wyniki. Należy udokumentować hiperparametry i wyniki na poziomach szczegółowości, takich jak osadzanie lub ocena wyszukiwania i na poziomie makr, na przykład testowanie całego systemu na końcu.
Podczas projektowania i programowania można ręcznie śledzić hiperparametry i wyniki. Jednak podczas przeprowadzania wielu ocen względem całego dokumentu testowego i korpusu zapytań testowych może obejmować setki przebiegów oceny i tysiące wyników. Należy zautomatyzować trwałość parametrów i wyników oceny.
Po utrwalonej hiperparametrach i wynikach należy rozważyć utworzenie wykresów i wykresów, aby ułatwić wizualizowanie efektów, jakie mają opcje hiperparametrów na metrykach. Wizualizacja ułatwia określenie, które opcje prowadzą do spadku lub wzrostu wydajności.
Ważne jest, aby zrozumieć, że projektowanie i ocenianie rozwiązania RAG nie jest jednorazową operacją. Twój korpus dokumentów zmieni się w czasie. Pytania, z których zadają klienci, zmienią się wraz z upływem czasu, a zrozumienie typów pytań będzie ewoluować w miarę uczenia się z produkcji. Należy ponownie wrócić do tego procesu i ponownie. Utrzymywanie dokumentacji wcześniejszych ocen ma kluczowe znaczenie dla przyszłych działań projektowych i ewaluacyjnych.
Akcelerator eksperymentu RAG
Te artykuły przeprowadzą Cię przez wszystkie fazy i wybory projektowe związane z projektowaniem i ocenianie rozwiązania RAG. Artykuły koncentrują się na tym, co należy robić, a nie na tym, jak to zrobić. Zespół inżynierów, który współpracuje z najlepszymi klientami firmy Microsoft, opracował narzędzie o nazwie RAG Experiment Accelerator. Akcelerator eksperymentów RAG to najnowocześniejsze struktury eksperymentowania zaprojektowane w celu optymalizacji i ulepszenia opracowywania rozwiązań generacji rozszerzonej (RAG). Akcelerator eksperymentów RAG umożliwia naukowcom i deweloperom efektywne eksplorowanie i dostosowywanie krytycznych składników, które napędzają wydajność RAG, co ostatecznie prowadzi do dokładniejszego i spójnego generowania tekstu.
Dzięki interfejsowi opartemu na interfejsie wiersza polecenia można bez wysiłku eksperymentować z różnymi modelami osadzania, uściślić strategie fragmentowania i oceniać różne podejścia wyszukiwania w celu odblokowania pełnego potencjału systemu RAG. Pozwala skupić się na podstawowych aspektach programowania RAG, jednocześnie abstrakując złożoność dostrajania hiperparametrów przy użyciu prostej konfiguracji.
Ponadto platforma zapewnia kompleksową obsługę konfiguracji dużego modelu językowego, umożliwiając uzyskanie doskonałej równowagi między złożonością modelu a jakością generowania. To narzędzie pozwala usprawnić proces eksperymentowania, zaoszczędzić cenny czas i znacznie poprawić wydajność modeli RAG.
Niezależnie od tego, czy jesteś doświadczonym badaczem, który pcha granice interpretacji języka naturalnego, czy specjalistą branżowym, który chce zwiększyć możliwości generowania tekstu, ta struktura eksperymentowania jest ostatecznym rozwiązaniem, które przyspiesza proces rozwoju RAG. Wykorzystaj przyszłość eksperymentów RAG i odblokuj prawdziwy potencjał modeli za pomocą tego najnowocześniejszego narzędzia.
RAG z platformą Application Framework przetwarzania obrazów
Większość wskazówek w tym artykule dotyczących pracy z mediami w rozwiązaniu RAG pochodzi od innego zespołu inżynieryjnego, który współpracuje z najlepszymi klientami firmy Microsoft. Ten zespół napisał strukturę o nazwie RAG with Vision Application Framework. Ta struktura udostępnia potok generowania rozszerzonego (RAG) oparty na języku Python, który przetwarza zarówno zawartość tekstową, jak i obrazową z dokumentów MHTML.
Struktura ładuje, fragmentuje i wzbogaca zarówno tekst, jak i obrazy z plików MHTML i pozyskuje fragmenty do usługi Azure Search. Struktura implementuje buforowanie na potrzeby wzbogacania obrazów w celu przetwarzania i wydajności kosztów. Struktura obejmuje również ocenę w ramach potoku.
Współautorzy
- Ritesh Modi
- Rob Bagby
- Ryan Pfalz
- Raouf Aliouat
- Randy Thurman
- Prabal Deb
- Mahdi Setayesh
- Soubhi Hadri
- Paul Butler