0 / 0
Go back to the English version of the documentation

Generowanie dokładnych danych wyjściowych

Last updated: 14 wrz 2023
Generowanie dokładnych danych wyjściowych

Modele Foundation czasami generują dane wyjściowe, które nie są zgodne ze stanem faktycznym. Jeśli dokładność faktyczna jest istotna dla Twojego projektu, ustaw siebie na sukces, ucząc się, jak i dlaczego te modele mogą czasami uzyskać fakty złe i jak można uziemić generowane dane wyjściowe w prawidłowych faktach.

 

Dlaczego modele fundamentowe dostają błędne fakty

Modele fundacji mogą być nieistotne z kilku powodów:

  • Wstępne szkolenie buduje skojarzenia słów, a nie fakty
  • Zestawy danych przed treningiem zawierają nieaktualne fakty
  • Zestawy danych przedtreningowych nie zawierają faktów ezoterycznych ani domen specyficznych dla domeny i żargonu
  • Dekodowanie próbek jest bardziej prawdopodobne ze względu na stan faktyczny.

Wstępne szkolenie buduje skojarzenia słów, a nie fakty

Podczas przedtreningów model fundamentowy tworzy słownik wyrazów (leksemów) napotkanych w zestawach danych przed szkoleniami. Również w trakcie przedtreningów relacje statystyczne między tymi słowami stają się zakodowane w wag modelu.

Na przykład, "Mount Everest" często pojawia się w pobliżu "najwyższego góry na świecie" w wielu artykułach, książkach, przemówieniach i innych wspólnych źródłach przedtreningowych. W rezultacie, wstępnie wyszkolony model prawdopodobnie poprawnie uzupełni monit "Najwyższa góra na świecie jest" z wyjściem "Mount Everest".

Te skojarzenia słów mogą sprawić, że wydaje się, że fakty zostały zakodowane również w tych modelach. Dla bardzo powszechnej wiedzy i niezmiennego stanu faktycznego, można mieć szczęście, generując faktycznie dokładne dane wyjściowe przy użyciu wstępnie wyszkolonych modeli fundamentowych z prostych pytań, jak np. przykład najwyższego górskiego. Jednakże, jest to ryzykowna strategia polegania na tylko wstępnie wyszkolonych słowach, podczas korzystania z modeli fundamentowych w aplikacjach, gdzie dokładność ma znaczenie.

Zestawy danych przed treningiem zawierają nieaktualne fakty

Zbieranie zestawów danych przed treningiem oraz wykonywanie przebiegów przedtreningowych może zająć znaczną ilość czasu, czasami miesięcy. Jeśli model został wstępnie przeszkolony w zakresie zestawu danych sprzed kilku lat, słownictwo modelu i powiązania słów zakodowane w wagach modelu nie będą odzwierciedlały bieżących wydarzeń na świecie ani nowo popularnych kompozycji. Z tego powodu, jeśli podasz podpowiedź "Najświeższym zwycięzcą mistrzostwa świata w piłce nożnej (piłka nożna) jest" do modelu wstępnie przeszkolonego na temat informacji o kilka lat, wygenerowane dane wyjściowe będą nieaktualne.

Zestawy danych przedtreningowych nie zawierają faktów ezoterycznych ani domen specyficznych dla domeny i żargonu

Wspólne zestawy danych przedtreningowych modelu Common Foundation, takie jak The Pile (Wikipedia), zawierają setki milionów dokumentów. Biorąc pod uwagę to, jak słynny Mount Everest jest, rozsądnym jest oczekiwać, że model fundamentowy będzie miał zakodowane relacje między "najwyższym górą na świecie" i "Mount Everest". Jeśli jednak zjawisko, osoba lub koncepcja są wymienione tylko w garść artykułów, są szanse, że model fundacyjny będzie miał jakieś powiązania z tym tematem zakodowane w jego wagi. Pytanie o wstępnie wyszkolony model informacji, które nie było w swoich zestawach danych przed treningiem, jest mało prawdopodobne, aby wygenerować dokładne dane wyjściowe wygenerowane w sposób faktyczny.

Dekodowanie próbek jest bardziej prawdopodobne ze względu na stan faktyczny.

Dekodowanie jest procesem, którego model używa do wyboru słów (leksemów) w wygenerowanym wyjściu:

  • Zachłanne dekodowanie zawsze wybiera leksem z najwyższym prawdopodobieństwem
  • Dekodowanie losowania wybiera tokeny pseudo-losowe z rozkładu prawdopodobieństwa

Zachłanne dekodowanie generuje wyniki, które są bardziej przewidywalne i bardziej powtarzalne. Dekodowanie losowe jest bardziej przypadkowe, co czuje się "kreatywne". Jeśli, w oparciu o zestawy danych przedtreningowych, najbardziej prawdopodobne słowa do naśladowania "Najwyższa góra jest" są "Mount Everest", potem chciwy dekodowanie mógł wiarygodnie wygenerować, że faktycznie poprawne wyjście, podczas gdy próbkowanie dekodowanie może czasami wygenerować nazwę jakiejś innej góry lub coś, co nie jest nawet góra.

 

Jak uziemić wygenerowane dane wyjściowe w prawidłowych faktach

Zamiast opierać się tylko na wstępnie wyszkolonych powiązaniach słów z dokładnością faktyczną, należy podać kontekst w tekście pytania.

Użyj kontekstu w tekście pytania, aby ustalić stan faktyczny

Po wyświetleniu zachęty do generowania danych wyjściowych przez model podstawy, słowa (leksemy) w wygenerowanym wyjściu mają wpływ na słowa w słowniku modelu i słowa w tekście podpowiedzi. Możesz użyć tekstu podpowiedzi, aby zwiększyć trafne skojarzenia słów.

Przykład 1

Oto podpowiedź, aby spowodować, że model wypełni zdanie deklarując swój ulubiony kolor:

My favorite color is 

Biorąc pod uwagę, że tylko wiesz jaki jest twój ulubiony kolor, nie ma możliwości, aby model mógł wiarygodnie wygenerować poprawne wyjście.

Zamiast tego, kolor zostanie wybrany z kolorów wymienionych w danych przedtreningowych modelu:

  • Jeśli używana jest zachłanna dekodowanie, w zależności od tego, który kolor pojawia się najczęściej za pomocą instrukcji dotyczących ulubionych kolorów w treści przedtreningowej, zostanie wybrana opcja.
  • Jeśli używana jest dekodowanie próbkowania, kolor będzie wybierany losowo z kolorów wymienionych najczęściej jako ulubione w treści przedtreningowej.

Przykład 2

Poniżej znajduje się zachęta, która obejmuje kontekst do ustalenia faktów:

I recently painted my kitchen yellow, which is my favorite color.

My favorite color is 

W przypadku podpowiadania modelu z tekstem, który zawiera dokładny kontekst, taki jak ten kontekst, dane wyjściowe generowane przez model będą bardziej prawdopodobne.

Więcej przykładów dołączania kontekstu w wierszu komend można znaleźć w następujących przykładach:

Użyj mniej "kreatywnego" dekodowania

W przypadku włączenia kontekstu z potrzebnymi faktami w pytaniu, użycie skwarowywania jest prawdopodobne, aby wygenerować dokładne dane wyjściowe. Jeśli potrzebna jest jakaś odmiana w danych wyjściowych, można eksperymentować z dekodowaniem próbkowania z niskimi wartościami parametrów, takich jak Temperature, Top Pi Top K. Jednak użycie dekodowania próbkowania zwiększa ryzyko niedokładności danych wyjściowych.

 

Generowanie rozszerzane

Wzorzec generowania rozszerzenia, który jest rozszerzany, umożliwia skalowanie techniki wyciągania kontekstu na pytania. Jeśli istnieje baza wiedzy, taka jak dokumentacja procesu na stronach WWW, umowy prawne w plikach PDF, baza danych produktów do sprzedaży, repozytorium GitHub z plikami kodowymi C + +, lub dowolna inna kolekcja informacji, można użyć wzorca generowania, który jest rozszerzany, aby wygenerować dokładne dane wyjściowe na podstawie informacji zawartych w tej bazie wiedzy.

Generacja rozszerzona obejmuje trzy podstawowe czynności:

  1. Wyszukiwanie odpowiednich treści w bazie wiedzy
  2. Wyciągnij najistotniejszą treść w pytaniu jako kontekst
  3. Wyślij połączony tekst podpowiedzi do modelu w celu wygenerowania danych wyjściowych

Więcej informacji na ten temat zawiera sekcja Retrieval-augmented generation

 

Temat nadrzędny: Wskazówki dotyczące pytań