Prompt engineering

Najnowsze nowoczesne postępy w inżynierii sugestii: Kompletny przewodnik

mm
Dodaj Unite.AI do preferowanych źródeł w Google

Inżynieria sugestii, sztuka i nauka tworzenia sugestii, które wywołują pożądane odpowiedzi z LLM, stała się kluczowym obszarem badań i rozwoju.

Od poprawy zdolności rozumnienia do umożliwienia bezproblemowej integracji z zewnętrznymi narzędziami i programami, najnowsze postępy w inżynierii sugestii odblokowują nowe granice w sztucznej inteligencji. Poniżej omawiamy najnowocześniejsze techniki i strategie, które kształtują przyszłość inżynierii sugestii.

Inżynieria sugestii

Inżynieria sugestii

Zaawansowane strategie sugestii dla złożonych problemów

Podczas gdy CoT sugestia okazała się skuteczna dla wielu zadań rozumnienia, naukowcy badali bardziej zaawansowane strategie sugestii, aby rozwiązać jeszcze bardziej złożone problemy. Jednym z takich podejść jest sugestia od najmniejszego do największego, która rozkłada złożony problem na mniejsze, bardziej zarządzalne podproblemy, które są rozwiązywane niezależnie, a następnie łączone, aby uzyskać ostateczne rozwiązanie.

Inną innowacyjną techniką jest Tree of Thoughts (ToT) sugestia, która pozwala LLM generować wiele linii rozumnienia lub “myśli” równolegle, oceniać swój własny postęp w kierunku rozwiązania i cofać się lub badać alternatywne ścieżki, gdy jest to potrzebne. To podejście wykorzystuje algorytmy wyszukiwania, takie jak szerokość lub głębokość, umożliwiając LLM angażowanie się w lookahead i backtracking podczas procesu rozwiązywania problemu.

Integracja LLM z zewnętrznymi narzędziami i programami

Podczas gdy LLM są niezwykle potężne, mają wewnętrzne ograniczenia, takie jak brak dostępu do aktualnych informacji lub wykonywania precyzyjnych obliczeń matematycznych. Aby rozwiązać te wady, naukowcy opracowali techniki, które umożliwiają LLM bezproblemową integrację z zewnętrznymi narzędziami i programami.

Jednym z godnych uwagi przykładów jest Toolformer, który uczy LLM identyfikować sytuacje, w których wymagane jest użycie zewnętrznych narzędzi, określać, które narzędzie użyć, dostarczać odpowiednie dane wejściowe i włączać dane wyjściowe narzędzia do ostatecznej odpowiedzi. To podejście obejmuje konstruowanie syntetycznego zbioru danych szkoleniowych, który demonstruje właściwe użycie różnych interfejsów API tekstu-do-tekstu.

Innym innowacyjnym frameworkiem jest Chameleon, który stosuje podejście “plug-and-play”, pozwalając centralnemu kontrolerowi opartemu na LLM generować programy języka naturalnego, które komponują i wykonują szeroki zakres narzędzi, w tym LLM, modele wizualne, silniki wyszukiwania internetowego i funkcje Pythona. To podejście modułowe umożliwia Chameleonowi rozwiązywanie złożonych zadań rozumnienia wielomodalowego, wykorzystując zalety różnych narzędzi i modeli.

Podstawowe strategie sugestii

Sugestia zero-shot

Sugestia zero-shot polega na opisaniu zadania w sugestii i poproszeniu modelu o rozwiązanie go bez podawania przykładów. Na przykład, aby przetłumaczyć “ser” na język francuski, sugestia zero-shot może być:

Przetłumacz następujące słowo angielskie na język francuski: ser.

To podejście jest proste, ale może być ograniczone przez niejasność opisu zadania.

Sugestia few-shot

Sugestia few-shot poprawia sugestię zero-shot, włączając kilka przykładów zadania. Na przykład:

Przetłumacz następujące słowa angielskie na język francuski:
1. jabłko => pomme
2. dom => maison
3. ser => ser

To podejście redukuje niejasność i zapewnia jaśniejszą wskazówkę dla modelu, wykorzystując zdolności uczenia się w kontekście LLM.

Sugestia instrukcyjna

Sugestia instrukcyjna opisuje wyraźnie pożądaną odpowiedź, co jest szczególnie skuteczne w przypadku modeli szkolonych do przestrzegania instrukcji. Na przykład:

Przetłumacz słowo "ser" na język francuski. Poprawne tłumaczenie to "ser."

Modele takie jak GPT-4 zostały specjalnie dostrajane do przestrzegania takich instrukcji dokładnie.

Zaawansowane techniki sugestii

Poprawa zdolności rozumnienia za pomocą sugestii łańcucha myśli

Jednym z najważniejszych przełomów w inżynierii sugestii było opracowanie sugestii łańcucha myśli (CoT). Ta technika ma na celu wywołać i poprawić zdolności rozumnienia LLM, zachęcając je do generowania procesu myślowego krok po kroku lub uzasadnienia przed podaniem ostatecznej odpowiedzi.

Lewa strona: Tradycyjne metody sugestii LLM opierają się na ogólnych danych wejściowych (0-shot CoT) lub wymagają oznaczonych przykładów (few-shot CoT). Prawa strona: Nowe podejście nakłania LLM do samodzielnego tworzenia odpowiednich przykładów przed rozwiązywaniem problemu, eliminując potrzebę oznaczania, a także dostosowując przykłady do każdego unikalnego problemu

Lewa strona: Tradycyjne metody sugestii LLM opierają się na ogólnych danych wejściowych (0-shot CoT) lub wymagają oznaczonych przykładów (few-shot CoT). Prawa strona: Nowe podejście nakłania LLM do samodzielnego tworzenia odpowiednich przykładów przed rozwiązywaniem problemu, eliminując potrzebę oznaczania, a także dostosowując przykłady do każdego unikalnego problemu

Sugestia CoT działa poprzez przedstawienie LLM przykładów, które zawierają nie tylko dane wejściowe i wyjściowe, ale także pośrednie kroki rozumnienia lub “łańcuch myśli”, które prowadzą do rozwiązania. Dzięki uczeniu się z tych przykładów, LLM może następnie generować swój własny łańcuch myśli, gdy zostanie przedstawiony nowym problemom, poprawiając swoją zdolność do rozwiązywania złożonych zadań rozumnienia.

Przykład:

Dane wejściowe: Natalie ma 3 jabłka i chce je równo podzielić między 2 przyjaciół. Ile jabłek dostanie każda osoba? Łańcuch myśli: Okay, rozłóżmy to krok po kroku:

  1. Natalie ma 3 jabłka
  2. Chce je równo podzielić między 2 przyjaciół
  3. Zatem jest 3 osoby w sumie (Natalie i jej 2 przyjaciół)
  4. Aby jabłka równo podzielić, dzielimy łączną liczbę jabłek (3) przez liczbę osób (3)
  5. 3 podzielone przez 3 to 1
  6. Zatem każda osoba dostanie 1 jabłko. Odpowiedź: Każda osoba dostanie 1 jabłko.

Poprzez jawne generowanie procesu myślowego, LLM takie jak GPT-3 i Codex wykazały znaczne poprawy w zadaniach arytmetycznych, zdroworozsądkowych i symbolicznych.

Spójność

Spójność poprawia niezawodność sugestii CoT, generując wiele łańcuchów myśli i podejmując decyzję większościową co do ostatecznej odpowiedzi. To podejście łagodzi wpływ pojedynczych błędnych ścieżek rozumnienia.

Sugestia od najmniejszego do największego

Sugestia od najmniejszego do największego rozkłada złożone problemy na prostsze podproblemy, rozwiązując je sekwencyjnie i wykorzystując kontekst poprzednich rozwiązań do poinformowania następnych kroków. To podejście jest korzystne dla zadań rozumnienia wieloetapowych.

Najnowsze postępy w inżynierii sugestii

Inżynieria sugestii ewoluuje szybko, a kilka innowacyjnych technik pojawiło się, aby poprawić wydajność dużych modeli językowych (LLM). Omówimy te nowoczesne metody szczegółowo:

Auto-CoT (Automatyczna sugestia łańcucha myśli)

Czym jest: Auto-CoT to metoda, która automatyzuje generowanie łańcuchów myśli dla LLM, eliminując potrzebę ręcznie tworzonych przykładów. Ta technika wykorzystuje sugestię łańcucha myśli zero-shot, w której model jest nakłaniany do myślenia krok po kroku, aby wygenerować swoje łańcuchy myśli.

Jak to działa:

  1. Sugestia łańcucha myśli zero-shot: Model otrzymuje proste polecenie, takie jak “Myślaj krok po kroku”, aby zachęcić do szczegółowego rozumnienia.
  2. Różnorodność w demonstracjach: Auto-CoT wybiera różnorodne pytania i generuje łańcuchy myśli dla tych pytań, zapewniając różnorodność typów problemów i wzorców rozumnienia.

Zalety:

  • Automatyzacja: Redukuje ręczny wysiłek niezbędny do tworzenia demonstracji rozumnienia.
  • Wydajność: Na różnych zadaniach rozumnienia benchmarkowych Auto-CoT osiągnął lub przewyższył wyniki sugestii CoT ręcznie tworzonych.

Sugestia oparta na złożoności

Czym jest: Ta technika wybiera przykłady o najwyższej złożoności (tj. największej liczbie kroków rozumnienia) do włączenia do sugestii. Ma na celu poprawę wydajności modelu w zadaniach wymagających wielu kroków rozumnienia.

Jak to działa:

  1. Wybór przykładu: Sugestie są wybierane na podstawie liczby kroków rozumnienia, które zawierają.
  2. Spójność oparta na złożoności: Podczas dekodowania próbkowanych jest wiele łańcuchów myśli, a decyzja większościowa jest podejmowana z najbardziej złożonych łańcuchów.

Zalety:

  • Poprawa wydajności: Znakomicie lepsza dokładność w zadaniach rozumnienia wieloetapowych.
  • Odporność: Skuteczna nawet w przypadku różnych dystrybucji sugestii i danych szumowych.

Progressive-Hint Prompting (PHP)

Czym jest: PHP iteracyjnie udoskonala odpowiedzi modelu, wykorzystując wcześniej wygenerowane uzasadnienia jako wskazówki. To podejście wykorzystuje poprzednie odpowiedzi modelu, aby nakierować go na poprawną odpowiedź przez wiele iteracji.

Jak to działa:

  1. Początkowa odpowiedź: Model generuje podstawową odpowiedź przy użyciu standardowej sugestii.
  2. Wskazówki i udoskonalenia: Ta podstawowa odpowiedź jest następnie wykorzystywana jako wskazówka w następnych sugestiach, aby udoskonalić odpowiedź.
  3. Proces iteracyjny: Ten proces kontynuuje się, aż odpowiedź ustabilizuje się w ciągu kilku iteracji.

Zalety:

  • Dokładność: Znakomicie poprawiona dokładność rozumnienia.
  • Wydajność: Redukuje liczbę ścieżek próbkowania, co poprawia wydajność obliczeniową.

Decomposed Prompting (DecomP)

Czym jest: DecomP rozkłada złożone zadania na prostsze podzadania, z których każde jest obsługiwane przez specyficzną sugestię lub model. To podejście modułowe pozwala na skuteczniejsze rozwiązywanie złożonych problemów.

Jak to działa:

  1. Rozkład zadania: Główne zadanie jest dzielone na prostsze podzadania.
  2. Obsługa podzadań: Każde podzadanie jest obsługiwane przez dedykowany model lub sugestię.
  3. Integracja modułowa: Te obsługi mogą być optymalizowane, zastępowane lub łączone w razie potrzeby, aby rozwiązać złożone zadanie.

Zalety:

  • Elastyczność: Łatwo debugować i poprawiać poszczególne podzadania.
  • Skalowalność: Skutecznie radzi sobie z zadaniami o długich kontekstach i złożonych podzadaniach.

Hypotheses-to-Theories (HtT) Prompting

Czym jest: HtT wykorzystuje proces odkrycia naukowego, w którym model generuje i weryfikuje hipotezy, aby rozwiązać złożone problemy. To podejście obejmuje tworzenie biblioteki reguł z weryfikowanych hipotez, które model wykorzystuje do rozumnienia.

Jak to działa:

  1. Etapa indukcyjna: Model generuje potencjalne reguły i weryfikuje je wobec przykładów szkoleniowych.
  2. Tworzenie biblioteki reguł: Zweryfikowane reguły są zbierane, tworząc bibliotekę reguł.
  3. Etapa dedukcyjna: Model stosuje te reguły do nowych problemów, wykorzystując bibliotekę reguł do kierowania swoim rozumnieniem.

Zalety:

  • Dokładność: Redukuje prawdopodobieństwo błędów, polegając na zweryfikowanym zestawie reguł.
  • Przenoszalność: Nauczane reguły mogą być przenoszone na różne modele i formy problemów.

Techniki sugestii z użyciem narzędzi

Toolformer

Toolformer integruje LLM z zewnętrznymi narzędziami za pomocą interfejsów API tekstu-do-tekstu, pozwalając modelowi wykorzystywać te narzędzia do rozwiązywania problemów, których sam nie mógłby rozwiązać. Na przykład, LLM mógłby wywołać interfejs API kalkulatora, aby wykonać operacje arytmetyczne.

Chameleon

Chameleon

wykorzystuje centralny kontroler oparty na LLM do generowania programu, który komponuje i wykonuje wiele narzędzi, aby rozwiązać złożone zadania rozumnienia. To podejście wykorzystuje szeroki zakres narzędzi, w tym modele wizualne i silniki wyszukiwania internetowego, aby poprawić możliwości rozwiązywania problemów.

GPT4Tools

GPT4Tools dostraja otwarte LLM, aby wykorzystywać multimodalne narzędzia za pomocą podejścia samouczącego, demonstrując, że nawet nieproprietarne modele mogą skutecznie wykorzystywać zewnętrzne narzędzia do poprawy wydajności.

Gorilla i HuggingGPT

Oba Gorilla i HuggingGPT integrują LLM z wyspecjalizowanymi głębokimi modelami dostępnymi w sieci. Te systemy wykorzystują proces dostrajania z uwzględnieniem odzyskiwania i podejście planowania i koordynacji, odpowiednio, aby rozwiązać złożone zadania, w których uczestniczą wiele modeli.

Program-Aided Language Models (PALs) i Programs of Thoughts (PoTs)

Oprócz integracji z zewnętrznymi narzędziami, naukowcy badali sposoby, aby poprawić zdolności rozwiązywania problemów LLM, łącząc język naturalny z konstruktami programistycznymi. Program-Aided Language Models (PALs) i Programs of Thoughts (PoTs) to dwa takie podejścia, które wykorzystują kod, aby wesprzeć proces rozumnienia LLM.

PALs nakłaniają LLM do generowania uzasadnienia, które przeplata język naturalny z kodem (np. Python), który może być następnie wykonany, aby wyprodukować ostateczne rozwiązanie. To podejście rozwiązuje powszechny przypadek błędu, w którym LLM generują poprawne uzasadnienie, ale produkują niepoprawną ostateczną odpowiedź.

Podobnie, PoTs wykorzystują bibliotekę matematyki symbolicznej, taką jak SymPy, pozwalając LLM definiować symbole matematyczne i wyrażenia, które mogą być łączone i oceniane przy użyciu funkcji rozwiązywania SymPy. Przekazując złożone obliczenia do interpretera kodu, te techniki oddzielają rozumnienie od obliczeń, umożliwiając LLM skuteczne rozwiązywanie bardziej złożonych problemów.

Zrozumienie i wykorzystanie kontekstu

Wydajność LLM w dużej mierze zależy od ich zdolności do przetwarzania i wykorzystania kontekstu dostarczonego w sugestii. Naukowcy badali, jak LLM radzą sobie z długimi kontekstami i wpływem nieistotnych lub rozpraszających informacji na ich dane wyjściowe.

Zjawisko “zagubiony w środku” podkreśla, jak LLM tendencję do przywiązywania większej wagi do informacji na początku i końcu ich kontekstu, podczas gdy informacje w środku są często pomijane lub “zagubione”. To spostrzeżenie ma implikacje dla inżynierii sugestii, ponieważ staranne umieszczanie istotnych informacji w kontekście może znacznie wpłynąć na wydajność.

Inna linia badań koncentruje się na łagodzeniu szkodliwego wpływu nieistotnego kontekstu, który może znacznie obniżyć wydajność LLM. Techniki takie jak spójność, jawne instrukcje, aby zignorować nieistotne informacje, oraz włączanie przykładów, które demonstrują rozwiązywanie problemów z nieistotnym kontekstem, mogą pomóc LLM w nauce, aby koncentrować się na najbardziej istotnych informacjach.

Poprawa zdolności pisarskich za pomocą strategii sugestii

Chociaż LLM są dobrze w generowaniu tekstu podobnego do ludzkiego, ich zdolności pisarskie mogą być dalej poprawione za pomocą specjalistycznych strategii sugestii. Jedną z takich technik jest Skeleton-of-Thought (SoT) sugestia, która ma na celu redukcję opóźnienia sekwencyjnego dekodowania, naśladując proces pisarski ludzi.

SoT sugestia obejmuje nakłonienie LLM do generowania szkieletu lub planu swojej odpowiedzi najpierw, a następnie wykorzystanie równoległych wywołań API, aby wypełnić szczegóły każdego elementu planu. To podejście nie tylko poprawia opóźnienie inferencji, ale może również poprawić jakość pisarską, zachęcając LLM do lepszego planowania i strukturyzowania swoich danych wyjściowych.

Inną strategią sugestii jest Chain of Density (CoD) sugestia, która koncentruje się na poprawie gęstości informacji w podsumowaniach generowanych przez LLM. Poprzez iteracyjne dodawanie encji do podsumowania, przy zachowaniu jego długości, CoD sugestia pozwala użytkownikom na badanie kompromisu między zwięzłością a kompletnością, ostatecznie produkując bardziej informacyjne i czytelne podsumowania.

Nowe kierunki i perspektywy przyszłości

Advanced Prompt Engineering

Advanced Prompt Engineering

Dziedzina inżynierii sugestii rozwija się dynamicznie, a naukowcy nieustannie badają nowe granice i poszerzają to, co jest możliwe z LLM. Niektóre nowe kierunki obejmują:

  1. Aktywna sugestia: Techniki, które wykorzystują zasady aktywnego uczenia się opartego na niepewności, aby identyfikować i oznaczać najbardziej przydatne przykłady do rozwiązywania konkretnych zadań rozumnienia.
  2. Wielomodalna sugestia: Rozszerzanie strategii sugestii, aby obsługiwać dane wejściowe wielomodalne, które łączą tekst, obrazy i inne modality.
  3. Automatyczna generacja sugestii: Rozwój technik optymalizacji, aby automatycznie generować skuteczne sugestie dostosowane do konkretnych zadań lub dziedzin.
  4. Interpretowalność i wyjaśnialność: Badanie strategii sugestii, które poprawiają interpretowalność i wyjaśnialność danych wyjściowych LLM, umożliwiając lepszą przejrzystość i zaufanie do ich procesów decyzyjnych.

Podczas gdy LLM kontynują rozwój i znajdują zastosowanie w różnych dziedzinach, inżynieria sugestii będzie odgrywać kluczową rolę w odblokowaniu ich pełnego potencjału. Wykorzystując najnowsze techniki i strategie sugestii, naukowcy i praktycy mogą tworzyć bardziej potężne, niezawodne i zadaniowe rozwiązania AI, które poszerzają granice przetwarzania języka naturalnego.

Podsumowanie

Dziedzina inżynierii sugestii dla dużych modeli językowych rozwija się dynamicznie, a naukowcy nieustannie poszerzają granice tego, co jest możliwe. Od poprawy zdolności rozumnienia za pomocą technik takich jak sugestia łańcucha myśli do integracji LLM z zewnętrznymi narzędziami i programami, najnowsze postępy w inżynierii sugestii odblokowują nowe granice w sztucznej inteligencji.

Przez ostatnie pięć lat zanurzałem się w fascynującym świecie Machine Learning i Deep Learning. Moja pasja i ekspertyza doprowadziły mnie do udziału w ponad 50 różnorodnych projektach inżynierii oprogramowania, ze szczególnym uwzględnieniem AI/ML. Moja nieustanna ciekawość również skierowała mnie w stronę Natural Language Processing, dziedziny, którą chcę dalej eksplorować.