Artificial Intelligence
Udoskonalanie modeli języka rozszerzonego w zakresie wyszukiwania: samorozumowanie i wspomaganie adaptacyjne w systemach konwersacyjnych

By
Aayush Mittal Mittala
Duże modele językowe często mają trudności z dostarczaniem precyzyjnych i aktualnych informacji, szczególnie w przypadku złożonych zadań opartych na wiedzy. Aby pokonać te przeszkody, badacze badają metody udoskonalenia tych modeli poprzez integrację ich z zewnętrznymi źródłami danych.
W tej dziedzinie pojawiły się dwa nowe podejścia ramy samorozumowania oraz adaptacyjne generowanie wspomagane wyszukiwaniem dla systemów konwersacyjnychW tym artykule przyjrzymy się bliżej tym innowacyjnym technikom i zbadamy, w jaki sposób poszerzają one granice możliwości modeli językowych.
Obietnice i pułapki modeli językowych wspomaganych wyszukiwaniem
Przyjrzyjmy się koncepcji modeli języka rozszerzonego o wyszukiwanie (RALM). Główną ideą modeli RALM jest połączenie rozległej wiedzy i możliwości rozumienia języka wstępnie wytrenowanych modeli języka z możliwością dostępu i włączania zewnętrznych, aktualnych informacji podczas wnioskowania.
Oto prosty przykład działania podstawowego systemu RALM:
- Użytkownik zadaje pytanie: „Jaki był wynik Igrzysk Olimpijskich 2024?”
- System pobiera odpowiednie dokumenty z zewnętrznej bazy wiedzy.
- LLM przetwarza pytanie wraz z uzyskanymi informacjami.
- Model generuje odpowiedź w oparciu zarówno o swoją wiedzę wewnętrzną, jak i dane zewnętrzne.
Podejście to okazało się bardzo obiecujące w zakresie poprawy dokładności i przydatności wyników LLM, szczególnie w przypadku zadań wymagających dostępu do aktualnych informacji lub wiedzy specyficznej dla danej dziedziny. Jednak systemy RALM nie są pozbawione wyzwań. Dwa kluczowe problemy, z którymi borykają się badacze, to:
- Niezawodność: Jak możemy zapewnić, że uzyskane informacje są istotne i pomocne?
- Możliwość śledzenia:Jak możemy sprawić, aby proces wnioskowania modelu był bardziej przejrzysty i weryfikowalny?
Najnowsze badania naukowe zaproponowały innowacyjne rozwiązania tych problemów, które omówimy szczegółowo.
Samorozumowanie: ulepszanie RALM za pomocą wyraźnych trajektorii rozumowania
To architektura i proces leżący u podstaw modeli LLM wspomaganych wyszukiwaniem, koncentrujący się na strukturze zwanej samorozumowaniem. To podejście wykorzystuje trajektorie, aby zwiększyć zdolność modelu do rozumowania na podstawie odnalezionych dokumentów.
Po zadaniu pytania odpowiednie dokumenty są pobierane i przetwarzane w ramach szeregu etapów rozumowania. Mechanizm samodzielnego rozumowania wykorzystuje procesy analizy uwzględniające dowody i trajektorię w celu filtrowania i syntezy informacji przed wygenerowaniem ostatecznej odpowiedzi. Metoda ta nie tylko zwiększa dokładność wyników, ale także gwarantuje, że uzasadnienie odpowiedzi jest przejrzyste i możliwe do prześledzenia.
W podanych powyżej przykładach, takich jak ustalenie daty premiery filmu „Złap mnie, jeśli potrafisz” lub identyfikacja artystów, którzy namalowali sufit katedry we Florencji, model skutecznie filtruje pobrane dokumenty, aby wygenerować dokładne, uzasadnione kontekstem odpowiedzi.
W poniższej tabeli przedstawiono analizę porównawczą różnych wariantów LLM, w tym modeli LLaMA2 i innych modeli wspomaganych wyszukiwaniem w zadaniach takich jak NaturalQuestions, PopQA, FEVER i ASQA. Wyniki są dzielone na wartości bazowe bez możliwości wyszukiwania i te wzbogacone o możliwość wyszukiwania.
Ten rysunek przedstawia scenariusz, w którym LLM ma za zadanie dostarczać sugestie w oparciu o zapytania użytkowników, demonstrując, jak wykorzystanie wiedzy zewnętrznej może wpływać na jakość i trafność odpowiedzi. Diagram przedstawia dwa podejścia: jedno, w którym model wykorzystuje fragment wiedzy, i drugie, w którym go nie wykorzystuje. Porównanie podkreśla, jak uwzględnienie konkretnych informacji może dostosować odpowiedzi do potrzeb użytkownika, zapewniając głębię i dokładność, których w innym przypadku mogłoby brakować w modelu czysto generatywnym.
Jednym z przełomowych podejść do ulepszania RALM-ów jest wprowadzenie ram samorozumowania. Główną ideą tej metody jest wykorzystanie możliwości samego modelu językowego do generowania jawnych trajektorii rozumowania, które następnie mogą być wykorzystane do poprawy jakości i niezawodności jego wyników.
Przyjrzyjmy się bliżej kluczowym elementom modelu samorozumowania:
- Proces uwzględniający istotność (MUZYKA RAP)
- Proces selektywny uwzględniający dowody (EAP)
- Proces analizy trajektorii (UZYSKIWAĆ)
Proces uwzględniający istotność (RAP)
RAP został zaprojektowany, aby sprostać jednemu z podstawowych wyzwań RALM: ustaleniu, czy wyszukane dokumenty są rzeczywiście istotne dla danego pytania. Oto jak to działa:
- System pobiera zestaw potencjalnie istotnych dokumentów przy użyciu modelu wyszukiwania (np. DPR lub Contriever).
- Następnie model językowy otrzymuje polecenie oceny przydatności tych dokumentów dla pytania.
- Model w sposób jawny generuje powody wyjaśniające, dlaczego dokumenty uznaje się za istotne lub nieistotne.
Na przykład, biorąc pod uwagę pytanie „Kiedy zbudowano Wieżę Eiffla?”, RAP może dać następujący wynik:
Relevant: True
Relevant Reason: The retrieved documents contain specific information about the construction dates of the Eiffel Tower, including its commencement in 1887 and completion in 1889.
Proces ten pomaga odfiltrować nieistotne informacje na wczesnym etapie przetwarzania, poprawiając ogólną jakość odpowiedzi modelu.
Proces selektywny uwzględniający dowody (EAP)
EAP idzie o krok dalej w ocenie trafności, instruując model, aby identyfikował i cytował konkretne dowody z odpowiednich dokumentów. Proces ten naśladuje sposób, w jaki ludzie podchodzą do zadania badawczego, wybierając kluczowe zdania i wyjaśniając ich trafność. Oto jak może wyglądać wynik EAP:
Cite content: "Construction of the Eiffel Tower began on January 28, 1887, and was completed on March 31, 1889."
Reason to cite: This sentence provides the exact start and end dates for the construction of the Eiffel Tower, directly answering the question about when it was built.
Dzięki wyraźnemu cytowaniu źródeł i wyjaśnianiu znaczenia każdego dowodu, EAP zwiększa możliwość śledzenia i interpretowania wyników modelu.
Proces analizy trajektorii (TAP)
TAP jest ostatnim etapem struktury samodzielnego rozumowania, w którym model konsoliduje wszystkie trajektorie rozumowania wygenerowane w poprzednich krokach. Analizuje te trajektorie i tworzy zwięzłe podsumowanie wraz z ostateczną odpowiedzią. Dane wyjściowe TAP mogą wyglądać mniej więcej tak:
Analysis: The Eiffel Tower was built between 1887 and 1889. Construction began on January 28, 1887, and was completed on March 31, 1889. This information is supported by multiple reliable sources that provide consistent dates for the tower's construction period.
Odpowiedź: Wieża Eiffla została zbudowana w latach 1887–1889.
Proces ten umożliwia modelowi dostarczenie zarówno szczegółowego wyjaśnienia swojego rozumowania, jak i zwięzłej odpowiedzi, odpowiadającej różnym potrzebom użytkowników.
Wdrażanie samodzielnego rozumowania w praktyce
Aby wdrożyć te ramy samorozumowania, badacze zbadali różne podejścia, w tym:
- Podpowiadanie wstępnie wyszkolonych modeli językowych
- Dostrajanie modeli językowych za pomocą technik efektywnych pod względem parametrów, takich jak QLoRA
- Opracowywanie wyspecjalizowanych architektur neuronowych, takich jak modele uwagi wielogłowej
Każde z tych podejść ma swoje własne kompromisy pod względem wydajności, wydajności i łatwości wdrożenia. Na przykład metoda podpowiedzi jest najprostsza do wdrożenia, ale nie zawsze może dawać spójne wyniki. Dostrajanie za pomocą QLoRA zapewnia dobrą równowagę wydajności i wydajności, podczas gdy wyspecjalizowane architektury mogą zapewniać najlepszą wydajność, ale wymagają więcej zasobów obliczeniowych do szkolenia.
Oto uproszczony przykład implementacji RAP przy użyciu podejścia opartego na monitach z wykorzystaniem modelu językowego takiego jak GPT-3:
import openai def relevance_aware_process(question, documents): prompt = f""" Question: {question} Retrieved documents: {documents} Task: Determine if the retrieved documents are relevant to answering the question. Output format: Relevant: [True/False] Relevant Reason: [Explanation] Your analysis: """ response = openai.Completion.create( engine="text-davinci-002", prompt=prompt, max_tokens=150 ) return response.choices[0].text.strip() # Example usage question = "When was the Eiffel Tower built?" documents = "The Eiffel Tower is a wrought-iron lattice tower on the Champ de Mars in Paris, France. It is named after the engineer Gustave Eiffel, whose company designed and built the tower. Constructed from 1887 to 1889 as the entrance arch to the 1889 World's Fair, it was initially criticized by some of France's leading artists and intellectuals for its design, but it has become a global cultural icon of France." result = relevance_aware_process(question, documents) print(result)
Ten przykład pokazuje, jak można wdrożyć RAP przy użyciu prostego podejścia do podpowiedzi. W praktyce w celu zapewnienia spójności i obsługi przypadków brzegowych stosowane byłyby bardziej wyrafinowane techniki.
Generacja rozszerzona z wyszukiwaniem adaptacyjnym dla systemów konwersacyjnych
Podczas gdy ramy samodzielnego rozumowania skupiają się na poprawie jakości i możliwości interpretacji indywidualnych reakcji, inny kierunek badań dotyczy tego, jak uczynić pokolenie wspomagane wyszukiwaniem bardziej adaptacyjnym w kontekście systemów konwersacyjnych. Podejście to, zwane generowaniem adaptacyjnym i wspomaganym wyszukiwaniem, ma na celu określenie, kiedy w rozmowie należy wykorzystać wiedzę zewnętrzną i jak ją skutecznie włączyć.
Kluczowym wnioskiem stojącym za tym podejściem jest to, że nie każda zmiana w rozmowie wymaga zewnętrznego poszerzenia wiedzy. W niektórych przypadkach zbytnie poleganie na uzyskanych informacjach może prowadzić do nienaturalnych lub zbyt rozwlekłych odpowiedzi. Wyzwaniem jest zatem opracowanie systemu, który mógłby dynamicznie decydować, kiedy skorzystać z wiedzy zewnętrznej, a kiedy z wbudowanych możliwości modelu.
Komponenty generacji adaptacyjnej i rozszerzonej
Aby sprostać temu wyzwaniu, badacze zaproponowali strukturę o nazwie RAGate, która składa się z kilku kluczowych elementów:
- Mechanizm binarnej bramy wiedzy
- Proces uwzględniający znaczenie
- Proces selektywny uwzględniający dowody
- Proces analizy trajektorii
Mechanizm binarnej bramy wiedzy
Sercem systemu RAGate jest binarna brama wiedzy, która decyduje, czy w danej turze konwersacji wykorzystać wiedzę zewnętrzną. Bramka ta przy podejmowaniu decyzji bierze pod uwagę kontekst rozmowy i opcjonalnie pobrane fragmenty wiedzy.
Oto uproszczony przykład tego, jak może działać brama wiedzy binarnej:
def knowledge_gate(context, retrieved_knowledge=None): # Analyze the context and retrieved knowledge # Return True if external knowledge should be used, False otherwise pass def generate_response(context, knowledge=None): if knowledge_gate(context, knowledge): # Use retrieval-augmented generation return generate_with_knowledge(context, knowledge) else: # Use standard language model generation return generate_without_knowledge(context)
Ten mechanizm bramkowania pozwala systemowi być bardziej elastycznym i świadomym kontekstu w korzystaniu z wiedzy zewnętrznej.
Implementacja RAGate
Ten obraz ilustruje platformę RAGate, zaawansowany system zaprojektowany w celu włączenia wiedzy zewnętrznej do LLM w celu lepszego generowania odpowiedzi. Architektura ta pokazuje, w jaki sposób podstawowy LLM można uzupełnić kontekstem lub wiedzą, albo poprzez bezpośredni wkład, albo poprzez integrację zewnętrznych baz danych podczas procesu generowania. To podwójne podejście – wykorzystujące zarówno możliwości modelu wewnętrznego, jak i dane zewnętrzne – umożliwia LLM zapewnianie dokładniejszych i odpowiednich kontekstowo odpowiedzi. Ta hybrydowa metoda wypełnia lukę między surową mocą obliczeniową a specjalistyczną wiedzą specjalistyczną w danej dziedzinie.
Przedstawia metryki wydajności dla różnych wariantów modelu w ramach RAGate, który koncentruje się na integracji wyszukiwania z efektywnym dostrajaniem parametrów (PEFT). Wyniki podkreślają wyższość modeli zintegrowanych z kontekstem, szczególnie tych, które wykorzystują osadzanie typu „ner-know” i „ner-source”.
Modele RAGate-PEFT i RAGate-MHA wykazują znaczną poprawę precyzji, zapamiętywania i wyników F1, podkreślając korzyści wynikające z uwzględnienia zarówno danych wejściowych z kontekstu, jak i wiedzy. Te strategie dostrajania umożliwiają modelom skuteczniejsze wykonywanie zadań wymagających dużej wiedzy, zapewniając solidniejsze i skalowalne rozwiązanie do zastosowań w świecie rzeczywistym.
Aby wdrożyć RAGate, badacze zbadali kilka podejść, w tym:
- Korzystanie z dużych modeli językowych ze starannie przygotowanymi podpowiedziami
- Dostrajanie modeli językowych przy użyciu technik efektywnych pod względem parametrów
- Opracowywanie wyspecjalizowanych architektur neuronowych, takich jak modele uwagi wielogłowej
Każde z tych podejść ma swoje mocne i słabe strony. Na przykład metoda podpowiedzi jest stosunkowo prosta do wdrożenia, ale nie zawsze może dawać spójne wyniki. Dostrajanie zapewnia dobrą równowagę wydajności i wydajności, podczas gdy wyspecjalizowane architektury mogą zapewniać najlepszą wydajność, ale wymagają więcej zasobów obliczeniowych do szkolenia.
Oto uproszczony przykład implementacji systemu podobnego do RAGate przy użyciu precyzyjnie dostrojonego modelu języka:
import torch from transformers import AutoTokenizer, AutoModelForSequenceClassification class RAGate: def __init__(self, model_name): self.tokenizer = AutoTokenizer.from_pretrained(model_name) self.model = AutoModelForSequenceClassification.from_pretrained(model_name) def should_use_knowledge(self, context, knowledge=None): inputs = self.tokenizer(context, knowledge or "", return_tensors="pt", truncation=True, max_length=512) with torch.no_grad(): outputs = self.model(**inputs) probabilities = torch.softmax(outputs.logits, dim=1) return probabilities[0][1].item() > 0.5 # Assuming binary classification (0: no knowledge, 1: use knowledge) class ConversationSystem: def __init__(self, ragate, lm, retriever): self.ragate = ragate self.lm = lm self.retriever = retriever def generate_response(self, context): knowledge = self.retriever.retrieve(context) if self.ragate.should_use_knowledge(context, knowledge): return self.lm.generate_with_knowledge(context, knowledge) else: return self.lm.generate_without_knowledge(context) # Example usage ragate = RAGate("path/to/fine-tuned/model") lm = LanguageModel() # Your preferred language model retriever = KnowledgeRetriever() # Your knowledge retrieval system conversation_system = ConversationSystem(ragate, lm, retriever) context = "User: What's the capital of France?\nSystem: The capital of France is Paris.\nUser: Tell me more about its famous landmarks." response = conversation_system.generate_response(context) print(response)
Ten przykład pokazuje, jak system podobny do RAGate może zostać wdrożony w praktyce. The RAGate
class korzysta z dopracowanego modelu, aby zdecydować, czy skorzystać z wiedzy zewnętrznej, podczas gdy ConversationSystem
klasa koordynuje interakcję pomiędzy bramą, modelem języka i retrieverem.
Wyzwania i przyszłe kierunki
Chociaż ramy samodzielnego rozumowania i generowanie wspomagane wyszukiwaniem adaptacyjnym są bardzo obiecujące, nadal istnieje kilka wyzwań, nad którymi pracują badacze:
- Wydajność obliczeniowa: Obydwa podejścia mogą wymagać intensywnych obliczeń, szczególnie w przypadku dużych ilości odzyskiwanych informacji lub generowania długich trajektorii rozumowania. Optymalizacja tych procesów pod kątem zastosowań w czasie rzeczywistym pozostaje aktywnym obszarem badań.
- Krzepkość: Zapewnienie spójnego działania tych systemów w szerokim zakresie tematów i rodzajów pytań ma kluczowe znaczenie. Obejmuje to obsługę przypadków brzegowych i kontradyktoryjnych danych wejściowych, które mogą mylić ocenę istotności lub mechanizmy bramkowania.
- Wsparcie wielojęzyczne i międzyjęzykowe: Rozszerzenie tych podejść tak, aby skutecznie działały na wiele języków oraz umożliwiały wyszukiwanie i rozumowanie informacji międzyjęzykowych, jest ważnym kierunkiem przyszłych prac.
- Integracja z innymi technologiami AI: Badanie, w jaki sposób można połączyć te podejścia z innymi technologiami sztucznej inteligencji, takimi jak modele multimodalne lub uczenie się przez wzmacnianie, może prowadzić do jeszcze potężniejszych i elastycznych systemów.
Podsumowanie
Rozwój struktur samodzielnego rozumowania i generowania adaptacyjnego wspomaganego wyszukiwaniem stanowi znaczący krok naprzód w dziedzinie przetwarzania języka naturalnego. Umożliwiając modelom językowym wyraźne rozumowanie na temat wykorzystywanych informacji i dynamiczne dostosowywanie strategii poszerzania wiedzy, podejścia te obiecują sprawić, że systemy sztucznej inteligencji staną się bardziej niezawodne, możliwe do interpretacji i zorientowane na kontekst.
W miarę ciągłego rozwoju badań w tej dziedzinie możemy spodziewać się udoskonalenia tych technik i zintegrowania ich z szeroką gamą zastosowań, od systemów odpowiadania na pytania i wirtualnych asystentów po narzędzia edukacyjne i pomoce badawcze. Możliwość łączenia ogromnej wiedzy zakodowanej w dużych modelach językowych z dynamicznie pozyskiwanymi, aktualnymi informacjami może zrewolucjonizować sposób, w jaki współdziałamy z systemami AI i uzyskujemy dostęp do informacji.
Ostatnie pięć lat spędziłem zanurzając się w fascynującym świecie uczenia maszynowego i głębokiego uczenia się. Moja pasja i wiedza sprawiły, że uczestniczyłem w ponad 50 różnorodnych projektach z zakresu inżynierii oprogramowania, ze szczególnym uwzględnieniem AI/ML. Moja ciągła ciekawość przyciągnęła mnie również w stronę przetwarzania języka naturalnego – dziedziny, którą chcę dalej zgłębiać.
Możesz polubić
-
Dylemat kontroli AI: ryzyka i rozwiązania
-
Generacja rozszerzona o wyszukiwanie: rozwiązanie dla małych i średnich firm umożliwiające efektywne i skuteczne wykorzystanie sztucznej inteligencji
-
Ewolucja po RAG: podróż SI od wyszukiwania informacji do rozumowania w czasie rzeczywistym
-
Pojawienie się autorefleksji w sztucznej inteligencji: w jaki sposób duże modele językowe wykorzystują osobiste spostrzeżenia do ewolucji
-
Utrzymywanie znaczenia LLM: Porównanie RAG i CAG pod kątem wydajności i dokładności AI
-
Nowe badania ujawniają szesnaście głównych problemów z systemami RAG, w tym perpleksję