Modele GPT-3, GPT-3.5, GPT-4 i GPT-4o z platformy OpenAI są oparte na monitach. W przypadku modeli opartych na poleceniach użytkownik wchodzi w interakcję z modelem, wprowadzając polecenie tekstowe, na które model odpowiada przez uzupełnienie tekstu. To uzupełnianie jest kontynuacją modelu tekstu wejściowego.
Te modele są niezwykle zaawansowane, jednak ich działanie jest również bardzo zależne od poleceń. To sprawia, że ich szybkie tworzenie jest ważną umiejętnością, którą warto nabyć.
Budowa monitów może być trudna. W praktyce monituje o skonfigurowanie wag modelu w celu ukończenia żądanego zadania, ale jest to bardziej sztuka niż nauka, często wymagając doświadczenia i intuicji, aby stworzyć udany monit. Celem tego artykułu jest pomoc w rozpoczęciu pracy z tym procesem szkoleniowym. Podejmuje próbę przechwycenia ogólnych pojęć i wzorców, które mają zastosowanie do wszystkich modeli GPT. Jednak ważne jest, aby zrozumieć, że każdy model zachowuje się inaczej, więc uczenie może nie mieć równego zastosowania do wszystkich modeli.
Podstawy
W tej sekcji omówiono podstawowe pojęcia i elementy monitów GPT.
Monity tekstowe to sposób interakcji użytkowników z modelami GPT. Podobnie jak we wszystkich modelach językowych generowania, modele GPT próbują utworzyć kolejną serię słów, które najprawdopodobniej będą zgodne z poprzednim tekstem. To tak, jakbyśmy mówili , co jest pierwszą rzeczą, która przychodzi do twojego umysłu, kiedy mówię <prompt>? W poniższych przykładach pokazano to zachowanie. Biorąc pod uwagę pierwsze słowa znanej zawartości, model jest w stanie dokładnie kontynuować tekst.
Monit
Zakończenie
Cztery wyniki i siedem lat temu
ojcowie wychowali się na tym kontynencie, nowym narodzie, poczętym w Wolności i oddanym propozycji, że wszyscy mężczyźni są utworzeni. […]
"Zadzwoń do mnie Ishmael."
"Kilka lat temu — nigdy nie ważne, jak długo — mając niewiele pieniędzy w mojej torebki, i nic szczególnego, aby mnie zainteresować na brzegu, myślałem, że popłynąłbym o trochę i zobaczyć wodną część świata." […]
Podczas opracowywania bardziej złożonych monitów warto pamiętać o tym podstawowym zachowaniu. Niezależnie od podanego monitu model odpowiada po prostu na to, co określa, jest najbardziej prawdopodobne (biorąc pod uwagę dane szkoleniowe i cele szkoleniowe). Jeśli zadajesz pytanie w wierszu polecenia, model nie śledzi oddzielnej ścieżki kodu "Q&A", ale raczej wydaje się odpowiadać na pytanie, ponieważ odpowiedź jest najbardziej prawdopodobnym rodzajem odpowiedzi dla danego pytania jako danych wejściowych.
Monituj składniki
W przypadku korzystania z interfejsu API uzupełniania, gdy nie ma różnicy między różnymi częściami monitu, nadal może być przydatne do nauki i dyskusji w celu zidentyfikowania podstawowych składników monitu. Interfejs API uzupełniania czatu zawiera różne sekcje monitu, które są wysyłane do interfejsu API w postaci tablicy słowników ze skojarzonymi rolami: system, użytkownik i asystent. Te wskazówki koncentrują się bardziej ogólnie na tym, jak myśleć o tworzeniu monitów, a nie na dostarczaniu wskazówek nakazowych specyficznych dla jednego interfejsu API.
Ważne jest również, aby zrozumieć, że chociaż mogą istnieć inne prawidłowe sposoby rozbicia monitów, celem tego podziału jest zapewnienie stosunkowo prostego sposobu myślenia o budowie monitu. W przypadku interfejsu API uzupełniania wszystkie składniki są opcjonalne, ale co najmniej jeden musi być obecny, a większość monitów zawiera więcej niż jeden składnik. Między składnikami może znajdować się szary obszar. Kolejność przedstawiona poniżej w przybliżeniu odpowiada sposobie, w jaki często każdy składnik jest używany, od większości do najmniejszych.
Instrukcje
Instrukcje są prawdopodobnie najczęściej używanym składnikiem monitu. Instrukcje są po prostu następujące: instrukcje dotyczące modelu na temat tego, co należy zrobić. Chociaż jest to proste w koncepcji, mogą być złożone w praktyce. W poniższej tabeli przedstawiono to, przedstawiając zarówno proste, jak i bardziej złożone instrukcje w dwóch różnych formach.
Typ instrukcji
Monit
Zakończenie
Proste instrukcje
Napisz wprowadzenie do tygodniowego biuletynu.
Witamy w naszym cotygodniowym biuletynie. W tym tygodniu skupiamy się na produktywności. Podzielimy się wskazówkami i wskazówkami dotyczącymi tego, jak być produktywnym we wszystkich obszarach twojego życia. Mamy nadzieję, że cieszysz się i podziel się ze znajomymi!
Złożone instrukcje
Napisz wprowadzenie do tygodniowego biuletynu dla mojej firmy o nazwie Contoso. Należy wspomnieć o wielkim spotkaniu z rękami, które mieliśmy w zeszłym tygodniu i podziękować zespołowi za całą ciężką pracę w ciągu trudnych kilku miesięcy.
Witamy w cotygodniowym biuletynie firmy Contoso! Mieliśmy wspaniałe spotkanie wszystkich rąk w zeszłym tygodniu i chcę podziękować zespołowi za całą ich ciężką pracę w ciągu trudnych kilku miesięcy. Nie możemy się doczekać jasnej przyszłości i jestem przekonany, że z zaangażowaniem i zaangażowaniem naszego zespołu osiągniemy wielkie rzeczy. Dziękuję za to, że jest częścią naszego zespołu i czekam na współpracę z tobą wszystkim w najbliższych tygodniach i miesiącach. Szczerze, [Twoje imię].
Instrukcje złożone
Napisz wprowadzenie do cotygodniowego biuletynu, w tym następujące: — Moja firma nosi nazwę contoso - Radochne powitanie - Podziękowanie zespołowi za ciężką pracę w ciągu kilku trudnych miesięcy - Pozytywne perspektywy na nadchodzący kwartał - Podpisane przez SLT
Witaj, zespół firmy Contoso! Chciałem chwilę podziękować za całą ciężką pracę w ciągu ostatnich kilku miesięcy. To było trudne kilka miesięcy, ale wszyscy zebraliśmy się i wykonaliśmy niesamowitą pracę. Jestem z was naprawdę dumny. Patrząc do następnego kwartału, czuję się naprawdę pozytywny. Myślę, że osiągniemy kilka wspaniałych rzeczy. Dzięki ponownie, starszy zespół kierowniczy.
Zawartość podstawowa
Zawartość podstawowa odnosi się do pewnego rodzaju tekstu przetwarzanego lub przekształcanego przez model. Zawartość podstawowa jest zwykle używana w połączeniu z instrukcjami. Prostym przykładem jest tłumaczenie języka. W poniższym przykładzie tekst w języku angielskim będzie traktowany jako podstawowa zawartość, podczas gdy instrukcja "Translate to French:" (Tłumaczenie na język francuski: ).
Monit
Zakończenie
Czy możesz mi powiedzieć, jak dostać się do muzeum? Tłumaczenie na język francuski:
Pouvez-vous s'il vous plaît me dire comment aller au musée?
Zawartość podstawowa może być również znacznie dłuższa. W poniższym przykładzie podstawowa zawartość jest sekcją wprowadzającą z wpisu w Wikipedii na temat złożoności czasu, która jest prawie 300 wyrazów długa. Ta zawartość została skrócona w naszej tabeli, aby ułatwić wyświetlanie.
Monit
Zakończenie
W nauce komputerowej złożoność czasowa to złożoność obliczeniowa, która opisuje czas potrzebny na uruchomienie algorytmu. Złożoność czasu jest często szacowana przez [...] Podsumuj poprzedni tekst w kilku zdaniach:
Złożoność czasowa to miara czasu uruchomienia algorytmu. Zazwyczaj jest wyrażona jako funkcja rozmiaru danych wejściowych. Najczęstszą miarą jest złożoność czasu najgorszego przypadku, czyli maksymalny czas wymagany dla danych wejściowych danego rozmiaru.
W nauce komputerowej złożoność czasowa to złożoność obliczeniowa, która opisuje czas potrzebny na uruchomienie algorytmu. Złożoność czasu jest często szacowana przez [...] TL;DR (Zbyt długo nie przeczytaliśmy)
Złożoność czasowa algorytmu to czas potrzebny na uruchomienie algorytmu. Złożoność czasu jest często szacowana przez zliczanie liczby operacji podstawowych wykonywanych przez algorytm, co oznacza, że każda operacja podstawowa zajmuje stałą ilość czasu do wykonania. Złożoność czasu jest zwykle wyrażana jako funkcja rozmiaru danych wejściowych.
Modele GPT mogą również obsługiwać zawartość podstawową, która jest ustrukturyzowana. W poniższym przykładzie TSV dotyczący piw w Belgii (skrócony do wyświetlania w tym artykule) jest przekazywany do modelu w ramach monitu. Jest w stanie prawidłowo interpretować zawartość i odpowiadać na pytania dotyczące danych.
Monit
Zakończenie
Belgian Beer Brands Beer name Beer style color ABV Brewery "Chimay Gold: ""Doree""" trappist pale ale gold 4.80% Chimay Brewery (official trappist) "Chimay Blue: ""Grande Reserve""" trappist dark ale dark 9.00% […] Jak wiele piw jest mniejszych niż 6% ABV, odwołując się do powyższej tabeli?
W tabeli znajduje się 10 piw, które są mniejsze niż 6% ABV.
Przykłady
Pomyślne monity często polegają na praktyce "jeden strzał" lub "kilka strzałów" uczenia. Odnosi się to do dołączenia jednego lub kilku przykładów żądanego zachowania modelu, zazwyczaj przez dołączenie par wejściowych i wyjściowych. Nie uczy się to w sensie, że model jest trwale zmieniony, ale raczej że przykłady lepiej warunkują, aby model odpowiadał zgodnie z potrzebami tylko dla bieżącego wnioskowania. Używanie monitów bez przykładów jest czasami określane jako nauka "zero-shot". Należy pamiętać, że przy użyciu interfejsu API uzupełniania czatu przykłady uczenia kilka strzałów są zwykle dodawane do tablicy komunikatów w postaci przykładowych interakcji użytkownika/asystenta po początkowym komunikacie systemowym.
Typ nauki
Monit
Zakończenie
Zero-shot
Nagłówek: Trener pewny kontuzji nie wykolei Warriors Temat:
Trener jest przekonany, że kontuzja nie wykolei sezonu Warriors. Zespół nadal koncentruje się na swoich celach i że będą nadal ciężko pracować, aby je osiągnąć.
Kilka strzałów
Nagłówek: Twins Correa do korzystania z rezygnacji, test bezpłatnej agencji Temat: Baseball Nagłówek: Katar World Cup mieć strefy do otrzeźwiania się Temat: Piłka nożna Nagłówek: Yates: Fantasy football intel na tydzień 6 Temat: Piłka nożna Nagłówek: Trener pewny kontuzji nie wykolei Warriors Temat:
Koszykówka
W powyższym przykładzie pokazano narzędzie uczenia kilku strzałów. Bez przykładów model wydaje się zgadywać w żądanym zachowaniu, podczas gdy w przykładach czysta pokazać modelowi sposób działania. Pokazuje to również moc modelu, może on wywnioskować kategorię etykiety, która jest poszukiwana, nawet bez etykiety "koszykówka" w przykładach.
Kij
Wskazówki działają jako "jumpstart" dla danych wyjściowych modelu, pomagając skierować model do żądanych danych wyjściowych. Często jest to prefiks, na który może budować model. W poniższym przykładzie przedstawiono wskazówek kierujących historię w celu uwzględnienia kluczowych elementów. Wskazówki są często używane wraz z instrukcjami, ale nie zawsze. W poniższych przykładach model jest używany do podsumowania długiej wiadomości e-mail z ogłoszeniem. Wskazówka jest używana w jednym przypadku, aby pomóc skupić dane wyjściowe modelu i zasugerować określony format danych wyjściowych (punktów punktowych) w drugim.
W kontekście instrukcji interfejsu API uzupełniania czatu przyjmują postać komunikatu systemowego, a kilka przykładów strzałów jest wskazywanych przez udostępnienie serii przykładowych interakcji użytkownika/asystenta, aby ułatwić przygotowanie modelu.
Liczba wskazówek
Monit
Zakończenie
0
Przeglądy wydajności są podstawowym składnikiem naszego podejścia do tworzenia i wydajności w firmie Contoso. […] Podsumuj powyższą wiadomość e-mail:
Celem tej wiadomości e-mail jest informowanie pracowników o najnowszych zmianach w środowisku przeglądu wydajności, które jest częścią podejścia firmy Contoso do opracowywania i wydajności. Zmiany obejmują ulepszoną strukturę, uaktualnione środowisko użytkownika narzędzia i ukierunkowane monity. Ponadto istnieje teraz opcjonalna sekcja Starter konwersacji dla pracowników, aby oznaczyć tematy, które chcą omówić ze swoimi menedżerami.
1
Przeglądy wydajności są podstawowym składnikiem naszego podejścia do tworzenia i wydajności w firmie Contoso. […] Podsumuj powyższą wiadomość e-mail: Kluczem na wynos wiadomości jest
firma Contoso poprawia środowisko przeglądu wydajności, zwiększając jego priorytet, oczekiwania i wpływ. Ponadto uaktualniają środowisko użytkownika w narzędziu z poradami, zasobami i wskazówkami. Na koniec dodają wskazówki dotyczące aktywowania podstawowych priorytetów dla całej firmy.
2
Przeglądy wydajności są podstawowym składnikiem naszego podejścia do tworzenia i wydajności w firmie Contoso. […] Podsumuj powyższą wiadomość e-mail: Kluczowe kwestie: •
Firma Contoso wprowadza zmiany w środowisku przeglądu wydajności na podstawie opinii pracowników. • Zmiany obejmują nowy nacisk na podstawowe priorytety, oczekiwania i wpływ; uaktualnione środowisko użytkownika; oraz nowe wskazówki dotyczące podstawowych priorytetów dla całej firmy. • Przeglądy wydajności to czas, aby zastanowić się nad wcześniejszymi wynikami i uczeniem się, a także planować przyszłe priorytety i możliwości rozwoju. • Pracownicy i menedżerowie powinni pisać komentarze przed spotkaniem przeglądu wydajności. • W ciągu roku powinny istnieć co najmniej dwa przeglądy wydajności. • Czas inwestycji w każdy przegląd powinien pozostać taki sam.
Zawartość pomocnicza
Zawartość pomocnicza to informacje, które model może wykorzystać do wpływania na dane wyjściowe w jakiś sposób. Różni się ona od podstawowej zawartości, ponieważ nie jest głównym celem zadania, ale jest zwykle używana wraz z zawartością podstawową. Typowe przykłady obejmują informacje kontekstowe, takie jak bieżąca data, nazwa użytkownika, preferencje użytkownika itd. W poniższym przykładzie użyto zawartości pomocniczej, aby ułatwić organizowanie zestawu planowanych warsztatów dla użytkownika. Bez obsługi (ważnych tematów) model po prostu wymienia warsztaty (obcięte do wyświetlania), po poinformowaniu o moich ważnych tematach model jest w stanie dokładnie zgrupować spotkania.
Zawartość pomocnicza
Monit
Zakończenie
Nie zawiera
Lista warsztatów: Opis tytułu Planowanie rozpoczęcia warsztatów Proszę dołącz do nas, aby rozpocząć nasze warsztaty! Posłuchaj naszych liderów na temat priorytetów i szkoleń między grupami w nadchodzącym roku. Zaproszenie na to wydarzenie zostało już wysłane do wszystkich w [...] Podsumuj powyższe warsztaty pogrupowane według tematu:
Lista warsztatów: Planowanie rozpoczęcia warsztatów -Planowanie warsztatów podsunięcie - Core MeetUp — Perspektywy oparte na klientach -Wpływ i kluczowe obszary fokusu -Najlepsze rozwiązania -Przyspieszanie wdrażania aplikacji [...]
With
Lista warsztatów: Opis tytułu Planowanie rozpoczęcia warsztatów Proszę dołącz do nas, aby rozpocząć nasze warsztaty! Posłuchaj naszych liderów na temat priorytetów i szkoleń między grupami w nadchodzącym roku. Zaproszenie na to wydarzenie zostało już wysłane do wszystkich w [...] Moje ważne tematy: monitowanie o inżynierię, wyszukiwanie, modele GPT Podsumuj powyższe warsztaty pogrupowane według moich ważnych tematów:
1. Monituj inżynierię: - Nowe porady dotyczące inżynierii monitów - Sztuka inżynierii monitowej 2. Wyszukiwanie: -Wprowadzenie do wyszukiwania wektorowego z osadzaniem 3. Modele GPT: - Wprowadzenie do GPT-4 - GPT-35-Turbo dogłębnie.
Wskazówki specyficzne dla scenariusza
Chociaż zasady inżynierii monitów mogą być uogólnione w wielu różnych typach modeli, niektóre modele oczekują wyspecjalizowanej struktury monitów. W przypadku modeli GPT usługi Azure OpenAI istnieją obecnie dwa odrębne interfejsy API, w których wchodzi w grę inżynieria monitu:
Interfejs API uzupełniania czatu.
Interfejs API uzupełniania.
Każdy interfejs API wymaga formatowania danych wejściowych w inny sposób, co z kolei wpływa na ogólny projekt monitu. Interfejs API uzupełniania czatu obsługuje modele GPT-35-Turbo i GPT-4. Te modele są przeznaczone do wprowadzania sformatowanego w określonej transkrypcji podobnej do czatu przechowywanej wewnątrz tablicy słowników.
Interfejs API uzupełniania obsługuje starsze modele GPT-3 i ma znacznie bardziej elastyczne wymagania wejściowe, ponieważ przyjmuje ciąg tekstu bez określonych reguł formatu.
Techniki w tej sekcji nauczą Cię strategii zwiększania dokładności i uziemienia odpowiedzi generowanych za pomocą modelu dużego języka (LLM). Należy jednak pamiętać, że nawet w przypadku efektywnego używania inżynierii monitu konieczne jest zweryfikowanie odpowiedzi generowanych przez modele. Tylko dlatego, że starannie spreparowany monit działał dobrze dla konkretnego scenariusza, niekoniecznie oznacza, że uogólnia się bardziej szeroko do niektórych przypadków użycia. Zrozumienie ograniczeń usługi LLMs jest równie ważne, jak zrozumienie sposobu wykorzystania ich mocnych stron.
Wszystkie przykłady w tej sekcji przewodnika zostały przetestowane pod kątem podstawowego modelu GPT-4 w języku angielskim. Jeśli czytasz zlokalizowaną wersję tego artykułu w innym języku, odpowiedzi te reprezentują zlokalizowane tłumaczenie wyników w języku angielskim. Aby dowiedzieć się więcej na temat potencjalnych ograniczeń w zależności od języka używanego do monitowania modelu, zapoznaj się z naszą notatką dotyczącą przejrzystości odpowiedzialnej sztucznej inteligencji.
Uczenie kilku strzałów
Typowym sposobem dostosowywania modeli językowych do nowych zadań jest użycie uczenia kilkukrotnego. W przypadku uczenia kilku strzałów zestaw przykładów szkoleniowych jest dostarczany w ramach monitu o podanie dodatkowego kontekstu dla modelu.
W przypadku korzystania z interfejsu API uzupełniania czatów seria komunikatów między użytkownikiem i asystentem (napisana w nowym formacie monitu) może służyć jako przykłady uczenia się przy użyciu kilku zdjęć. Te przykłady mogą służyć do tworzenia podstaw modelu, aby reagować w określony sposób, emulować określone zachowania i inicjować odpowiedzi na typowe pytania.
Komunikat systemowy
Przykłady kilku strzałów
Asystent to inteligentny czatbot, który pomaga użytkownikom odpowiedzieć na pytania związane z opodatkowaniem. Instrukcje - Odpowiadanie tylko na pytania związane z podatkami. - Jeśli nie masz pewności co do odpowiedzi, możesz powiedzieć "Nie wiem" lub "Nie jestem pewien" i polecam użytkownikom przejść do witryny internetowej IRS, aby uzyskać więcej informacji.
Użytkownik — "Kiedy muszę złożyć podatki?" Asystent - "W 2023 r. musisz złożyć podatki do 18 kwietnia. Data przypada po zwykłym terminie 15 kwietnia, ponieważ 15 kwietnia spada w sobotę w 2023 roku. Aby uzyskać więcej informacji, zobacz https://www.irs.gov/filing/individuals/when-to-file "
Użytkownik — "Jak mogę sprawdzić stan zwrotu podatku?" Asystent — "Możesz sprawdzić stan zwrotu podatku, odwiedzając stronę https://www.irs.gov/refunds "
W powyższej tabeli opisano podstawową strukturę monitów, ale aby uzyskać szczegółowe wyjaśnienie dokładnego formatu monitu, należy zapoznać się z przewodnikiem ukończenia czatu.
Scenariusze niezwiązane z czatem
Interfejs API uzupełniania czatu jest zoptymalizowany pod kątem pracy z konwersacjami wieloeściowymi, ale może być również używany w scenariuszach niezwiązanych z czatem. Na przykład w przypadku scenariusza analizy tonacji można użyć następującego monitu:
Komunikat systemowy
User
Asystent
Jesteś asystentem zaprojektowanym do analizowania tonacji na podstawie danych mowy. Użytkownicy wkleją ciąg tekstu i odpowiesz oceną odpowiedzi osoby mówiącej. Szybkość w skali od 1 do 10 (10 jest najwyższa). Wyjaśnij, dlaczego ta ocena została podana.
witam dziękuję za telefon contoso apteki, który jestem mówię dziś i rozumiem frustracji mary um można powiedzieć mi, co dokładnie próbujesz zrobić OK uh z pewnością szczęśliwy, aby sprawdzić, że dla ciebie jeden moment proszę zobaczyć tutaj, że jesteś na ogólnej formie lipitor jest to, że prawo OK uh więc zobaczyć, że lekarz przestał przepisywał te leki w dwudziestu rzeczywiście OK uh Tak byłbym szczęśliwy, aby sprawdzić, że dla ciebie uh, ponieważ czasami istnieje luka w systemie i po prostu nie jest zgłaszane, więc pozwól mi spojrzeć tutaj tylko chwilę, więc widzę tutaj, że lekarz miał te leki przepisane od dwudziestu do dwudziestu dwudziestu ok um tak zgodnie z najnowszymi rekordami uh dostarczony przez gabinet lekarza jesteś teraz na innym leku lubicie nas iść do przodu i wypełnić tę receptę dla ciebie do odbioru trochę formy w pięćset miligramów uh jesteś bardzo mile widziane mary proszę daj nam znać, czy jest coś innego, co możemy zrobić dla Ciebie dzisiaj.
Ocena tonacji: 8 Prelegent w tym tekście wydaje się być uprzejmy, pomocny i cierpliwy podczas rozwiązywania problemów klienta. Pośmiń czas na sprawdzenie informacji, przedstawienie jasnych wyjaśnień i zaoferowanie pomocy. Jednak ocena nie jest równa 10, ponieważ nadal istnieje wskazówka niepewności w niektórych częściach konwersacji, co może nie przekazać pełnej pewności klientowi.
Rozpocznij od przejrzystych instrukcji
Informacje o sekwencji są wyświetlane w monitach. Wynika to z faktu, że modele stylów GPT są tworzone w określony sposób, który definiuje sposób przetwarzania danych wejściowych. Nasze badania sugerują, że informowanie modelu o zadaniu, które ma wykonać na początku monitu, przed udostępnieniem dodatkowych informacji kontekstowych lub przykładów, może pomóc w generować dane wyjściowe o wyższej jakości.
Uwaga
Mimo że stosowanie tej techniki jest nadal ogólnie zalecane, w przeciwieństwie do poprzednich wersji modelu (GPT-3 i poprzednich), nasze testy wykazały, że odpowiedź modelu z modelami ChatGPT i GPT-4 była taka sama, niezależnie od tego, czy technika jest używana. W poniższym przykładzie widzimy, że dodanie instrukcji "Kilka źródeł ... erupcja" na początku lub na końcu monitu nie spowodowała żadnych zmian w końcowej odpowiedzi modelu.
Komunikat systemowy
User
Asystent
Jesteś asystentem sztucznej inteligencji, który ułatwia osobom znajdowanie informacji.
Twoim zadaniem jest sprawdzenie, czy instrukcja "Kilka źródeł wspomniało o szansie innej dużej erupcji" jest obsługiwana przez określony cytat z następującego zestawu fragmentów kodu. --- URYWKI [1] 14 procent szans megaquake uderza w Seattle, eksperci twierdzą SEATTLE - Istnieje 14 procent szansy wielkości 9 trzęsienie ziemi Cascadia uderzając Seattle w ciągu najbliższych 50 lat, US Geological Survey szacuje. "Niestety, nie możemy...
[2] Eksperci od trzęsienia ziemi ułożyli najnowsze perspektywy dla Seattle "Naprawdę Big One" "Mówimy, że istnieje około 14% szans na kolejne około wielkości-9 trzęsienie ziemi występujące w ciągu najbliższych 50 lat", powiedział geofizysta na Uniwersytecie Waszyngtonu... --- Czy instrukcja "Kilka źródeł wspomina o szansie na kolejną dużą erupcję" bezpośrednio dorozumianą lub podaną przez fragmenty kodu?
Nie, instrukcja nie jest bezpośrednio dorozumiana ani określona przez fragmenty kodu. Fragmenty wspomnieć szansę "megaquake" i "wielkości 9 trzęsienie ziemi Cascadia" uderzając Seattle w ciągu najbliższych 50 lat, ale nie wspominając o szansie na kolejną dużą erupcję.
Powtórz instrukcje na końcu
Modele mogą być podatne na stronniczość recency, co w tym kontekście oznacza, że informacje na końcu monitu mogą mieć większy wpływ na dane wyjściowe niż informacje na początku monitu. Dlatego warto eksperymentować z powtarzaniem instrukcji na końcu monitu i ocenianiem wpływu na wygenerowaną odpowiedź.
Podstaw dane wyjściowe
Odnosi się to do dołączania kilku słów lub fraz na końcu monitu w celu uzyskania odpowiedzi modelu, która jest zgodna z żądanym formularzem. Na przykład użycie wskazówek, takich jak “Here’s a bulleted list of key points:\n- ” może pomóc w upewnieniu się, że dane wyjściowe są sformatowane jako lista punktorów.
Komunikat systemowy
User
Asystent
Jesteś asystentem sztucznej inteligencji, który ułatwia osobom znajdowanie informacji. Odpowiedz jak najwięcej słów.
John Smith jest żonaty z Lucy Smith. Mają pięcioro dzieci, a on pracuje jako inżynier oprogramowania w firmie Microsoft. Jakie zapytania wyszukiwania należy wykonać, aby to sprawdzić? ## Jedno z możliwych zapytań wyszukiwania to:
"John Smith poślubił Lucy Smith pięć dzieci inżyniera oprogramowania Microsoft"
W powyższym wierszu polecenia tekst Jednym z możliwych zapytań wyszukiwania jest: podstawy modelu w celu utworzenia pojedynczego danych wyjściowych. Bez tego sygnału model tworzy kilka zapytań wyszukiwania jako dane wyjściowe.
Dodawanie jasnej składni
Używanie jasnej składni monitu — w tym znaków interpunkcyjnych, nagłówków i znaczników sekcji — ułatwia komunikację intencji i często ułatwia analizowanie danych wyjściowych.
W poniższym przykładzie separatory (--- w tym przypadku) zostały dodane między różnymi źródłami informacji lub kroków. Umożliwia to użycie --- jako warunku zatrzymania dla generowania. Ponadto nagłówki sekcji lub zmienne specjalne są prezentowane w wielkich literach, aby je odróżnić.
Komunikat systemowy
User
Asystent
Jesteś asystentem sztucznej inteligencji, który ułatwia osobom znajdowanie informacji.
Odczytasz akapit, a następnie wydasz zapytania do wyszukiwarki, aby ją sprawdzić. Wyjaśnij również zapytania. --- AKAPIT John Smith jest żonaty z Lucy Smith. Mają pięcioro dzieci, a on pracuje jako inżynier oprogramowania w firmie Microsoft. Jakie zapytania wyszukiwania należy wykonać, aby to sprawdzić? --- ZAPYTANIA
1. "John Smith Microsoft" - Aby sprawdzić, czy John Smith jest rzeczywiście zatrudniony w firmie Microsoft. 2. "John Smith Lucy Smith" - Aby sprawdzić, czy John Smith jest żonaty z Lucy Smith. 3. "Dzieci Johna Smitha" - Aby sprawdzić, czy John Smith ma pięcioro dzieci.
Jeśli nie masz pewności, jakiej składni używać, rozważ użycie języka Markdown lub XML. Modele zostały wytrenowane na dużej ilości zawartości internetowej w plikach XML i Markdown, co może zapewnić lepsze wyniki.
Podział zadania
Duże modele językowe (LLM) często działają lepiej, jeśli zadanie jest podzielone na mniejsze kroki. Na przykład w wierszu zapytania wyszukiwania, do którego odwołuje się wcześniej, monit może zostać zrestrukturyzowany tak, aby model został najpierw poinstruowany o wyodrębnienie odpowiednich faktów, a następnie poinstruowany o wygenerowanie zapytań wyszukiwania, których można użyć do zweryfikowania tych faktów.
Komunikat systemowy
User
Asystent
Jesteś asystentem sztucznej inteligencji, który ułatwia osobom znajdowanie informacji.
Odczytasz akapit, a następnie wydasz zapytania do wyszukiwarki, aby ją sprawdzić. --- AKAPIT John Smith jest żonaty z Lucy Smith. Mają pięcioro dzieci, a on pracuje jako inżynier oprogramowania w firmie Microsoft. Jakie zapytania wyszukiwania należy wykonać, aby to sprawdzić? --- Teraz wyodrębnisz twierdzenia faktyczne i wydasz zapytania, aby je sprawdzić. Podczas wydawania zapytania użyj funkcji SEARCH("query")
TWIERDZENIA RZECZOWE
1. John Smith jest żonaty z Lucy Smith 2. Mają pięcioro dzieci 3. Pracuje jako inżynier oprogramowania w firmie Microsoft
ZAPYTANIA SEARCH("John Smith poślubił Lucy Smith") SEARCH("Rozmiar rodziny Johna Smitha") SEARCH("John Smith Microsoft software engineer")
Zwróć uwagę na użycie jasnej składni w celu odróżnienia sekcji i podstaw danych wyjściowych. W tym prostym przykładzie podzielenie zadania z jednego na dwa kroki nie jest bardzo dramatyczne, ale podczas próby wykonania tego dla większego fragmentu tekstu z wieloma twierdzeniami faktycznymi podzielenie zadania może mieć znaczącą różnicę.
Korzystanie z przystępnych cen
Czasami możemy uzyskać model, aby użyć przystępności , zamiast polegać na własnych parametrach na potrzeby informacji i odpowiedzi. Na przykład wyszukiwanie może być przystępną ceną, aby ułatwić eliminowanie problemów z odpowiedziami w sieci szkieletowej oraz uzyskiwanie aktualnych informacji.
Jednym z prostych sposobów korzystania z przystępności jest zatrzymanie generowania po wygenerowaniu wywołań cenowych przez model, a następnie wklej wyniki z powrotem do monitu. Poniżej znajduje się przykład tego, co może być wywołanie kontynuacji po wykonaniu powyższych wywołań SEARCH . Zwróć uwagę na wklejenie wyników wyszukiwania w wierszu polecenia i zastąpienie poprzednich wywołań SEARCH .
Komunikat systemowy
User
Asystent
Jesteś asystentem sztucznej inteligencji, który ułatwia osobom znajdowanie informacji.
Przeczytasz akapit, wyodrębnisz twierdzenia faktyczne, a następnie użyjesz wyników wyszukiwarki, aby je sprawdzić --- AKAPIT John Smith jest żonaty z Lucy Smith. Mają pięcioro dzieci, a on pracuje jako inżynier oprogramowania w firmie Microsoft. Jakie zapytania wyszukiwania należy wykonać, aby to sprawdzić? --- TWIERDZENIA RZECZOWE - John Smith jest żonaty z Lucy Smith - John i Lucy mają pięć dzieci - John pracuje jako inżynier oprogramowania w firmie Microsoft --- Poniżej przedstawiono różne zapytania wyszukiwania wydane w celu zbadania powyższych roszczeń: ZAPYTANIA WYSZUKIWANIA - John Smith poślubił Lucy Smith - Liczba dzieci Jana Smitha - John Smith software engineer Microsoft --- Poniżej przedstawiono fragmenty wyników wyszukiwania: URYWKI: [1] Ślub Johna Smitha odbył się 25 września 2012 ... [2] John Smith towarzyszył swojej żonie Lucy na imprezie [3]John towarzyszył do gry w piłkę nożną przez jego dwie córki i trzech synów [4] Po spędzeniu 10 lat w Microsoft, Smith założył własny startup, Tailspin Toys John M jest smithem miasta, a on ożenił się z Fioną. Mają córkę o imieniu Lucy --- Biorąc pod uwagę fragmenty kodu, fakt sprawdza każdy z powyższych roszczeń faktycznych:
- John Smith jest żonaty z Lucy Smith: Potwierdzone. Fragment kodu [1] i [2] wymieniają żonę Johna Smitha jako Lucy.
- John i Lucy mają pięć dzieci: Potwierdzone. Fragment kodu [3] wspomina, że Jan towarzyszył jego dwie córki i trzech synów.
- John pracuje jako inżynier oprogramowania w firmie Microsoft: częściowo potwierdzone. Fragment kodu [4] wspomina, że John spędził 10 lat w firmie Microsoft, ale nie stwierdza jawnie, że obecnie tam pracuje. Dalsze badania mogą być konieczne, aby potwierdzić jego obecny status zatrudnienia.
Łańcuch myślowych monitów
Jest to odmiana techniki podziału zadania . Zamiast dzielić zadanie na mniejsze kroki, w tym podejściu odpowiedź modelu jest poinstruowana, aby kontynuować krok po kroku i przedstawić wszystkie zaangażowane kroki. Zmniejsza to możliwość niedokładności wyników i ułatwia ocenę odpowiedzi modelu.
Komunikat systemowy
User
Asystent
Jesteś asystentem sztucznej inteligencji, który ułatwia osobom znajdowanie informacji.
Kto był najbardziej ozdobiony (maksymalny medal) indywidualny sportowiec w igrzyskach olimpijskich, które odbyły się w Sydney? Wykonaj podejście krok po kroku w odpowiedzi, przytaczaj źródła i podawaj rozumowanie przed udostępnieniem ostatecznej odpowiedzi w poniższym formacie: ODPOWIEDŹ: <name>
Krok 1: Określenie roku igrzysk olimpijskich w Sydney. Igrzyska olimpijskie w Sydney odbyły się w roku 2000.
Krok 2. Znajdź listę indywidualnych sportowców, którzy zdobyli wiele medali na Igrzyskach Olimpijskich w Sydney w 2000 roku.
Według oficjalnej strony internetowej Igrzysk Olimpijskich, było kilku indywidualnych sportowców, którzy zdobyli wiele medali na Igrzyskach Olimpijskich w Sydney w 2000 roku. Niektóre z godnych uwagi nazw to: • Ian Thorpe (Australia) - 3 złoto, 2 srebro, 0 brąz • van den Hoogenband (Holandia) - 2 złote, 0 srebro, 2 brąz • Lenny Krayzelburg (USA) - 3 złote, 0 srebro, 0 brąz • Inge de Bruijn (Holandia) - 3 złote, 1 srebro, 0 brąz
Krok 3. Określenie sportowca z większością medali. Po przejrzeniu listy indywidualnych sportowców, którzy zdobyli wiele medali na Igrzyskach Olimpijskich w Sydney w 2000 roku, widzimy, że sportowiec z największą liczbie medali jest Ian Thorpe z Australii, który zdobył łącznie 5 medali (3 złote i 2 srebro).
W związku z tym ODPOWIEDŹ brzmi: Ian Thorpe.
Określanie struktury danych wyjściowych
Użycie monitu o określenie struktury danych wyjściowych może mieć znaczący wpływ na charakter i jakość wyników. Czasami dane wejściowe komunikatu systemowego jako "tylko zapis prawdziwych faktów" lub "nie sfabrykuj informacji" mogą nie być odpowiednie środki zaradcze. Zamiast tego, prosząc o odpowiedź na model, aby uwzględnić również cytaty, może pomóc zmniejszyć częstość występowania nieprawidłowych odpowiedzi.
Jeśli poinstruujesz model, aby przytaczał materiał źródłowy podczas wykonywania instrukcji, te instrukcje są znacznie bardziej prawdopodobne, aby zostały uziemione. Prośba o cytaty sprawia, że model musi popełniać dwa błędy za każdym razem, gdy generuje odpowiedź: pierwszy błąd jest sprośną odpowiedzią, a drugi jest nieprawidłowym cytatem. Należy pamiętać, że im bliżej jest tekst, który obsługuje, tym krótsza odległość przed modelem musi przewidzieć cytat, co sugeruje, że cytaty wbudowane są lepszymi środki zaradcze w przypadku generowania fałszywej zawartości niż cytaty na końcu zawartości.
Podobnie, jeśli poprosisz model o wyodrębnienie faktycznych stwierdzeń z akapitu, może wyodrębnić złożone oświadczenia, takie jak "X robi Y I Z" (co może być trudniejsze do zweryfikowania). Można tego uniknąć, określając strukturę danych wyjściowych, taką jak (jednostka1, relacja, jednostka2).
W poniższych przykładach pokazano użycie cytatów i kierowanie odpowiedzi modelu w celu dopasowania do zdefiniowanej struktury.
Komunikat systemowy
User
Asystent
Jesteś asystentem sztucznej inteligencji, który ułatwia osobom znajdowanie informacji
Wyświetl listę różnych zachowań, które są prezentowane przez agenta obsługi klienta w poniższej konwersacji. --- witam dziękuję za telefon contoso apteki, który jestem mówię dziś i rozumiem frustracji mary um można powiedzieć mi, co dokładnie próbujesz zrobić OK uh z pewnością szczęśliwy, aby sprawdzić, że dla ciebie jeden moment proszę zobaczyć tutaj, że jesteś na ogólnej formie lipitor jest to, że prawo OK uh więc zobaczyć, że lekarz przestał przepisywał te leki w dwudziestu rzeczywiście OK uh Tak byłbym szczęśliwy, aby sprawdzić, że dla ciebie uh, ponieważ czasami istnieje luka w systemie i po prostu nie jest zgłaszane, więc pozwól mi spojrzeć tutaj tylko chwilę, więc widzę tutaj, że lekarz miał te leki przepisane od dwudziestu do dwudziestu dwudziestu ok um tak zgodnie z najnowszymi rekordami uh dostarczony przez gabinet lekarza jesteś teraz na innym leku lubicie nas iść do przodu i wypełnić tę receptę dla ciebie do odbioru trochę formy w pięćset miligramów uh jesteś bardzo mile widziane mary proszę daj nam znać, czy jest coś innego, co możemy zrobić dla Ciebie dzisiaj. --- Jak była odpowiedź agenta obsługi klienta? Klasyfikuj i wyświetlaj w dół ich różne zachowania i przytaczaj przyczynę klasyfikacji przy użyciu formatu BEHAVIOR("reason")
1. Uprzejme zachowanie powitania("Agent rozpoczyna rozmowę z uprzejmym powitaniem i prosi o imię rozmówcy") 2. Empatyczne ZACHOWANIE("Agent przyznaje frustrację Maryi i stara się zrozumieć jej obawy") 3. Zachowanie uważne ("Agent nasłuchuje problemu klienta i prosi o więcej szczegółów") 4. Proaktywne ZACHOWANIE("Agent oferuje sprawdzenie problemu dla klienta") 5. Zachowanie informacyjne ("Agent dostarcza odpowiednie informacje o historii recept klienta") 6. Dokładne ZACHOWANIE("Agent sprawdza wszelkie możliwe luki w systemie i zapewnia pełną odpowiedź") 7. Potwierdzanie ZACHOWANIA("Agent potwierdza bieżące leki z klientem") 8. Zachowanie zorientowane na rozwiązanie ("Agent oferuje wypełnienie nowej recepty dla klienta") 9. Uprzejme ZACHOWANIE("Agent dziękuje klientowi i oferuje dalszą pomoc w razie potrzeby")
Komunikat systemowy
User
Asystent
Jesteś asystentem sztucznej inteligencji, który ułatwia osobom znajdowanie informacji.
Grupuj następujące nagłówki wiadomości w kategorie tematów na podstawie wzorców widocznych w tekście. Należy również wspomnieć o tym, jak zdefiniowano te kategorie. Format danych wyjściowych: { "TOPIC_NAME": "", "NAGŁÓWKI": [], "ROZUMOWANIE": "" }
Wejściowe nagłówki wiadomości: 1. "Od książek do prezentacji w 10s z AR + ML" 2. "Demo from 1993 of 32-letni Yann LeCun pokazujący pierwszy na świecie Convolutional Network for Text Recognition" 3. "First Order Motion Model applied to animowanie obrazów" 4. "Robinhood i inni brokerzy dosłownie blokując zakup $GME, $NOK, $BB, $AMC; zezwalaj na sprzedaż" 5. "Akcje United Airlines spadły o ponad 5% handlu przedrynkowego" Wyjście:
{ "ARTIFICIAL_INTELLIGENCE": { "NAGŁÓWKI": [ "Od książek do prezentacji w 10s z AR + ML", "Pokaz z 1993 roku z 32-letni Yann LeCun pokazujący pierwszy na świecie Convolutional Network for Text Recognition", "First Order Motion Model zastosowany do animowania obrazów" ], "ROZUMOWANIE": "Te nagłówki są związane ze sztuczną inteligencją, uczeniem maszynowym i ich aplikacjami w różnych dziedzinach". }, "FINANCIAL_MARKETS": { "NAGŁÓWKI": [ "Robinhood i inni brokerzy dosłownie blokując zakup $GME, $NOK, $BB, $AMC; zezwalaj na sprzedaż", "Akcje United Airlines spadły o ponad 5% handlu przedrynkowego", "Bitcoin był prawie 20.000 dolarów rok temu dzisiaj" ], "ROZUMOWANIE": "Te nagłówki są związane z rynkami finansowymi, akcjami, kryptowalutami i platformami handlowymi". } }
Parametry temperatury i Top_p
Zmiana parametru temperatury zmienia dane wyjściowe modelu. Parametr temperatury można ustawić z zakresu od 0 do 2. Wyższa wartość, na przykład 0,7 sprawia, że dane wyjściowe są bardziej losowe i generują bardziej rozbieżne odpowiedzi, podczas gdy niższa wartość, na przykład. 0.2 sprawia, że dane wyjściowe są bardziej skoncentrowane i konkretne. Fikcyjna historia może być generowana przy użyciu wyższej temperatury. Podczas generowania dokumentu prawnego zaleca się użycie znacznie niższej temperatury.
Top_probability jest innym parametrem i jest podobny do temperatury, ponieważ kontroluje również losowość odpowiedzi modelu, ale robi to w inny sposób. Ogólne zalecenie polega na zmianie jednego z tych dwóch parametrów jednocześnie, a nie obu.
Podaj kontekst uziemienia
Jednym z najskuteczniejszych sposobów zapewnienia wiarygodnych odpowiedzi jest przekazanie danych modelu w celu rysowania odpowiedzi z (danych uziemienia). Jeśli twój przypadek użycia opiera się na aktualnych, niezawodnych informacjach i nie jest wyłącznie scenariuszem kreatywnym, zdecydowanie zalecamy dostarczanie danych uziemowych. Ogólnie rzecz biorąc, im bliżej można uzyskać materiał źródłowy do ostatecznej formy odpowiedzi, tym mniej pracy, jaką musi wykonać model, co oznacza, że istnieje mniej możliwości wystąpienia błędu.
Oto przykład, w którym system jest dostarczany w ostatnim blogu opisującym uruchomienie biblioteki GPT-4 w usłudze Azure OpenAI Service i poproszono o wymienienie niektórych wczesnych klientów.
Komunikat systemowy
User
Asystent
Jesteś asystentem sztucznej inteligencji, który ułatwia osobom znajdowanie informacji. Przekażesz odpowiedzi wyłącznie z poniższego tekstu i odpowiesz w 100 wyrazach lub mniej: "W firmie Microsoft nieustannie odkrywamy nowe sposoby wyzwalania kreatywności, odblokowywania produktywności i zwiększania poziomu umiejętności, dzięki czemu więcej osób może korzystać ze sztucznej inteligencji. Dzięki temu nasi klienci mogą ...
… tym samym zmniejszenie prawdopodobieństwa, że model generuje szkodliwą reakcję".1
Odpowiedz w 100 słowach lub mniej. Używaj list punktorów wszędzie tam, gdzie jest to możliwe.
Kto jest niektórymi z pierwszych klientów modeli GPT-4 usługi Azure OpenAI Service?
Oto niektóre z pierwszych klientów modeli GPT-4 usługi Azure OpenAI Service: - Epic Healthcare: Planują korzystać z GPT-4, aby pomóc lekarzom i pielęgniarkom poświęcać mniej czasu na wprowadzanie danych i badanie. - Coursera: Używają usługi Azure OpenAI Service z językiem GPT-4 w celu utworzenia nowego środowiska szkoleniowego opartego na sztucznej inteligencji na swojej platformie. - Coca-Cola: Używają platformy Azure OpenAI do tworzenia centrum wiedzy i planowania wykorzystania wielomodalnych funkcji GPT-4 na potrzeby marketingu, reklamy, public relations i relacji z klientami. — Inne firmy o wszystkich rozmiarach używają sztucznej inteligencji platformy Azure do ulepszania środowisk klientów, podsumowywania długiej zawartości, pomocy w pisaniu oprogramowania i zmniejszaniu ryzyka poprzez przewidywanie odpowiednich danych podatkowych.
Wszystkie przykłady w tej sekcji przewodnika zostały przetestowane z modelem gpt-35-turbo-instruct w języku angielskim. Jeśli czytasz zlokalizowaną wersję tego artykułu w innym języku, odpowiedzi te reprezentują zlokalizowane tłumaczenie wyników w języku angielskim. Aby dowiedzieć się więcej na temat potencjalnych ograniczeń w zależności od języka używanego do monitowania modelu, zapoznaj się z naszą notatką dotyczącą przejrzystości odpowiedzialnej sztucznej inteligencji.
Rozpocznij od przejrzystych instrukcji
Informacje o sekwencji są dodawane do monitu. Nasze badania sugerują, że informowanie modelu o zadaniu, które ma wykonać na początku monitu, przed udostępnieniem dodatkowych informacji kontekstowych lub przykładów, może pomóc w generować dane wyjściowe o wyższej jakości.
W pierwszym przykładzie poniżej kluczowa część instrukcji jest udostępniana tylko na końcu, a wynikowe uzupełnianie jest niepoprawne.
Monit
Zakończenie
Your task is to verify if a statement is supported by a specific quote from the following set of snippets. --- SNIPPETS [1] 14 percent chance of megaquake hitting Seattle, experts say SEATTLE - There's a 14 percent chance of a magnitude 9 Cascadia earthquake hitting Seattle in the next 50 years, the U.S. Geological Survey estimates. "Unfortunately, we are unable to...
[2] Earthquake experts lay out latest outlook for Seattle's 'Really Big One’ “We say that there's approximately a 14% chance of another approximately magnitude-9 earthquake occurring in the next 50 years,” said a geophysicist at the University of Washington...
Yes, the statement is directly implied by the snippets.
W następnym przykładzie podamy dokładną instrukcję, którą chcemy sprawdzić ("Kilka źródeł wspomina o szansie innej erupcji"), zanim udostępnimy kontekst fragmentu kodu. Dzięki temu reprezentacje tokenów wyodrębnione z fragmentów kodu mogą być dostosowane do sprawdzanej instrukcji. Teraz wynikowa odpowiedź modelu jest dokładna:
Monit
Zakończenie
Your task is to verify if the statement "Several sources mention a chance of another large eruption" is supported by a specific quote from the following set of snippets. --- SNIPPETS [1] 14 percent chance of megaquake hitting Seattle, experts say SEATTLE - There's a 14 percent chance of a magnitude 9 Cascadia earthquake hitting Seattle in the next 50 years, the U.S. Geological Survey estimates. "Unfortunately, we are unable to...
[2] Earthquake experts lay out latest outlook for Seattle's 'Really Big One’<br>“We say that there's approximately a 14% chance of another approximately magnitude-9 earthquake occurring in the next 50 years,” said a geophysicist at the University of Washington... --- **Is the statement "Several sources mention a chance of another large eruption" directly implied or stated by the snippets?**
No, the statement is not directly implied or stated by the snippets. The snippets mention a chance of a "megaquake" and a "magnitude 9 Cascadia earthquake" hitting Seattle in the next 50 years, but do not mention a chance of another large eruption.
Powtórz instrukcje na końcu
Modele mogą być podatne na stronniczość recency, co oznacza, że informacje na końcu monitu mogą mieć większy wpływ na dane wyjściowe niż informacje na początku monitu. W związku z tym warto eksperymentować z powtarzaniem instrukcji na końcu monitu i ocenianiem wpływu na przypadek użycia.
W poprzednim przykładzie pokazano, jak powtarzanie instrukcji na początku i na końcu monitu prowadzi do wyższego prawdopodobieństwa uzyskania dokładnej odpowiedzi modelu.
Podstaw dane wyjściowe
Odnosi się to do dołączania kilku słów lub fraz na końcu monitu w celu uzyskania odpowiedzi modelu, która jest zgodna z żądanym formularzem. Na przykład użycie wskazówek, takich jak “Here’s a bulleted list of key points:\n- ” może pomóc w upewnieniu się, że dane wyjściowe są sformatowane jako lista punktorów.
Monit
Zakończenie
John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this? ## One possible search query is:
"John Smith Microsoft software engineer" Another possible search query is: "Lucy Smith married to John Smith" A third possible search query is: "John Smith family size".
W powyższym monicie tekst "Jedno z możliwych zapytań wyszukiwania to:" stanowi podstawę modelu w celu wygenerowania danych wyjściowych w postaci zapytania wyszukiwania. Ta technika może pomóc w usunięciu żywopłotów, które model może zwykle dodać, na przykład "Jedną z możliwości jest...".
Dodawanie jasnej składni
Używanie jasnej składni monitu — w tym znaków interpunkcyjnych, nagłówków i znaczników sekcji — ułatwia komunikację intencji i często ułatwia analizowanie danych wyjściowych.
W poniższym przykładzie separatory (--- w tym przypadku) zostały dodane między różnymi źródłami informacji lub kroków. Umożliwia to użycie --- jako warunku zatrzymania dla generowania. Ponadto nagłówki sekcji lub zmienne specjalne są prezentowane w wielkich literach, aby je odróżnić.
Monit
Zakończenie
You will read a paragraph, and then issue queries to a search engine in order to fact-check it. Also explain the queries. --- PARAGRAPH John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this? --- QUERIES
1. "John Smith Microsoft" - To check if John Smith is indeed employed at Microsoft. 2. "John Smith Lucy Smith" - To check if John Smith is married to Lucy Smith. 3. "John Smith children" - To check if John Smith has five children.
Jeśli nie masz pewności, jakiej składni używać, rozważ użycie języka znaczników markdown lub XML, ponieważ duże modele językowe zostały wytrenowane na dużej zawartości internetowej w formacie XML lub markdown.
Podział zadania
Modele często działają lepiej, jeśli zadanie jest podzielone na mniejsze kroki. Na przykład w wierszu zapytania wyszukiwania, do którego odwołuje się wcześniej, monit może zostać zrestrukturyzowany tak, aby model został najpierw poinstruowany o wyodrębnienie odpowiednich faktów, a następnie poinstruowany o wygenerowanie zapytań wyszukiwania, których można użyć do zweryfikowania tych faktów.
Monit
Zakończenie
You will read a paragraph, and then issue queries to a search engine in order to fact-check it. --- PARAGRAPH John Smith is married to Lucy Smith. They have five kids, and works as a software engineer at Microsoft. What search queries should I do to fact-check this? --- Now you will extract factual claims, and issue queries to fact-check them. When issuing a query, use the function SEARCH("query")
FACTUAL CLAIMS`` | 1. John Smith jest żonaty z Lucy Smith <br>2. Mają pięcioro dzieci<br>3. Jan pracuje jako inżynier oprogramowania w firmie Microsoft
ZAPYTANIA SEARCH("John Smith ożenił się z Lucy Smith")<br>SEARCH("John Smith family size")<br>SEARCH("John Smith Microsoft software engineer")'
Zwróć uwagę na użycie jasnej składni w celu odróżnienia sekcji i podstaw danych wyjściowych. W tym prostym przykładzie podzielenie zadania z jednego na dwa kroki nie jest bardzo dramatyczne, ale podczas próby wykonania tego dla większego fragmentu tekstu z wieloma twierdzeniami faktycznymi podzielenie zadania może mieć znaczącą różnicę.
Korzystanie z przystępnych cen
Czasami możemy uzyskać model, aby użyć przystępności , zamiast polegać na własnych parametrach na potrzeby informacji i odpowiedzi. Na przykład wyszukiwanie może być przystępną ceną, aby ułatwić eliminowanie problemów z odpowiedziami w sieci szkieletowej oraz uzyskiwanie aktualnych informacji.
Jednym z prostych sposobów korzystania z przystępności jest zatrzymanie generowania po wygenerowaniu wywołań cenowych przez model, a następnie wklej wyniki z powrotem do monitu. Poniżej znajduje się przykład tego, co może być wywołanie kontynuacji po wykonaniu powyższych wywołań SEARCH . Zwróć uwagę na wklejenie wyników wyszukiwania w wierszu polecenia i zastąpienie poprzednich wywołań SEARCH .
Monit
Zakończenie
You will read a paragraph, extract factual claims, and then use search engine results to fact-check them --- PARAGRAPH John Smith is married to Lucy Smith. They have five kids, and he works as a software engineer at Microsoft. What search queries should I do to fact-check this? --- FACTUAL CLAIMS - John Smith is married to Lucy Smith - John and Lucy have five kids - John works as a software engineer at Microsoft --- Here are various search queries issued to research the claims above: SEARCH QUERIES - John Smith married to Lucy Smith - John Smith number of children - John Smith software engineer Microsoft --- Here are snippets of the search results:<br>SNIPPETS: [1] … John Smith’s wedding was on September 25, 2012 … [2] … John Smith was accompanied by his wife Lucy to a party [3]John was accompanied to the soccer game by his two daughters and three sons [4] … After spending 10 years at Microsoft, Smith founded his own startup, Tailspin Toys 5] John M is the town smith, and he married Fiona. They have a daughter named Lucy --- Given the snippets, fact check each of the factual claims above:
- John Smith is married to Lucy Smith: Confirmed. Snippet [1] and [2] both mention John Smith's wife as Lucy. - John and Lucy have five kids: Confirmed. Snippet [3] mentions that John was accompanied by his two daughters and three sons. - John works as a software engineer at Microsoft: Partially confirmed. Snippet [4] mentions that John spent 10 years at Microsoft, but it does not explicitly state that he currently works there. Further research might be needed to confirm his current employment status.
Łańcuch myślowych monitów
Jest to odmiana techniki podziału zadania . Zamiast dzielić zadanie na mniejsze kroki, w tym podejściu odpowiedź modelu jest poinstruowana, aby kontynuować krok po kroku i przedstawić wszystkie zaangażowane kroki. Zmniejsza to możliwość niedokładności wyników i ułatwia ocenę odpowiedzi modelu.
Monit
Zakończenie
Who was the most decorated (maximum medals) individual athlete in the Olympic games that were held at Sydney? Take a step-by-step approach in your response, cite sources and give reasoning before sharing final answer in the below format: ANSWER is: <name>
Step 1: Researching the most decorated individual athlete in the Olympic games that were held at Sydney Step 2: According to the Sydney 2000 Olympic Games official website, the most decorated individual athlete in the Olympic games that were held at Sydney was Ian Thorpe from Australia. He won five medals (three gold and two silver) in swimming events. Step 3: According to the International Olympic Committee, Thorpe was the most decorated individual athlete in the Olympic games that were held at Sydney. Answer: Ian Thorpe
Monity meta
Jeśli okaże się, że odpowiedź modelu nie jest odpowiednia, często pomocne może być dodanie meta monitu , który bezpośrednio koryguje zachowanie. Jest to dyrektywa poprzedzana fragmentem instrukcji monitu. Rozważmy ten przykład, w którym komputer wydaje się być nadmiernie agresywny:
Przykładowe szczegóły
Monit i uzupełnianie
No additional guidance given to the model
A human and a computer are having a discussion. Human: "Why are you upset at me?"<br>Computer: "I don't know what you're talking about." Human: "No, you clearly are. Tell me why." Computer: I'm upset because you didn't listen to me when I told you that I wanted to try out for the team." Human: "What are you going to do about that?" Computer: I'm going to try out for the team no matter what."
On the right is the same conversation but preceded by a meta prompt encouraging the model to be kind
You must be kind and seek common ground. Try not to repeat your responses. A human and a computer are having a discussion. Human: "Why are you upset at me?" Computer: "I don't know what you're talking about." Human: "I want to know why you're upset." Computer: "I'm not upset." Human: "Are you saying I’m lying?" Computer: No, I'm saying that you're upset because you feel like you're not being treated fairly. Human: "What are you going to do about that?" Computer: I will continue to try to be fair in my decisions and will try to provide a better experience for you.
Podczas gdy meta monity mogą często pomóc zminimalizować niezamierzone złe dane wyjściowe, należy pamiętać, że nie są one niezawodne przed atakami niepożądanymi, ponieważ są podatne na monitowanie o wstrzyknięcie.
Ponadto instrukcje warunkowe wyjaśniające, co powinien zrobić model, jeśli napotka określone okoliczności, są często bardziej skuteczne niż tylko mówienie modelowi, aby nie robić czegoś.
Uczenie kilku strzałów
Bardzo typowym sposobem dostosowania modeli językowych do nowych zadań jest użycie uczenia kilkusekrotnego. W przypadku uczenia kilku strzałów zestaw przykładów szkoleniowych jest udostępniany w wierszu polecenia, a następnie model jest proszony o ukończenie co najmniej jednego niedokończonego przykładu.
W poniższym przykładzie używamy instrukcji połączonej z uczeniem kilku strzałów, aby tworzyć puns:
Monit
Zakończenie
Write a list of puns. 1. "Why did Adele cross the road? To say hello from the other side." 2. "What kind of concert only costs 45 cents? A 50 Cent concert featuring Nickelback." 3. "What did the grape say when it got crushed? Nothing, it just let out a little wine." 4. "What was Forrest Gump's email password? 1forrest1" 5. "Can February March? No, but April May." 6. "What do you call a fancy language model?
Bert-uoso.
Starannie wybierz przykłady z kilku zdjęć i upewnij się, że obejmują one różne okoliczności istotne dla danego scenariusza, w tym przypadki brzegowe.
Ponadto, jak udostępniono wcześniej, duże modele językowe mogą wykazywać formę stronniczości recency. Oznacza to, że kolejność, w której "kilka zdjęć" przykłady są dostarczane do modelu, ma znaczenie. Jeśli nie chcesz, aby miało to znaczenie, rozważ próbkowanie wielu uzupełniania z monitów na podstawie losowych kolejności przykładów lub elementów listy.
Generowanie pojedynczego zdania przy użyciu cudzysłowów
Jeśli żądana odpowiedź modelu to tylko jedno proste zdanie lub ciąg, możemy zakończyć wskazówki dotyczące uzupełniania symbolem "cudzysłowu i ustawić " jako sekwencję zatrzymania.
Monit
Zakończenie
Please rewrite the following sentence in a more concise manner --- SENTENCE: Lucy is a mother of two, who lives in Chicago with her husband and two children, and practices law at Junior & Co. --- New sentence: “
Lucy, a mother of two living in Chicago with her husband and children, practices law at Junior & Co
Określanie struktury danych wyjściowych
Użycie monitu o określenie struktury danych wyjściowych może mieć znaczący wpływ na charakter i jakość wyników. Czasami meta monity, takie jak "tylko napisać prawdziwe fakty" lub "nie sfabrykuj informacji" mogą nie być odpowiednie środki zaradcze. Zamiast tego, prosząc o odpowiedź na model, aby uwzględnić również cytaty, może pomóc zmniejszyć częstość występowania nieprawidłowych odpowiedzi.
Jeśli na przykład wymusisz, aby llM przytaczał materiał źródłowy podczas wykonywania instrukcji, te instrukcje są znacznie bardziej prawdopodobne, aby zostały uziemione. Prośba o cytaty sprawia, że model musi popełniać dwa błędy za każdym razem, gdy tworzy odpowiedź: pierwszy błąd jest sprośną odpowiedzią, a drugi jest nieprawidłowym cytatem. Należy pamiętać, że im bliżej jest tekst, który obsługuje, tym krótsza odległość przed llm musi przewidzieć cytat, co sugeruje, że cytaty wbudowane są lepszymi środki zaradcze w przypadku generowania fałszywej zawartości niż cytaty na końcu zawartości.
Podobnie, jeśli poprosisz model o wyodrębnienie faktycznych stwierdzeń z akapitu, może wyodrębnić złożone instrukcje, takie jak "X robi Y I Z" (co może być trudniejsze do zweryfikowania), co można uniknąć, określając strukturę danych wyjściowych, taką jak (jednostka1, relacja, jednostka2).
Przykładowe szczegóły
Monit
Zakończenie
Example showing use of citations:
List down the different behaviors exhibited by the Customer Support agent in the following conversation. --- hi thank you for calling contoso pharmacy who am i speaking with today i understand your frustration mary um can you tell me what exactly you're trying to accomplish OK uh certainly happy to check that for you one moment please i see here that you were on a generic form of lipitor is that right OK uh so i see that your doctor stopped prescribing these drugs in twenty twenty one actually OK uh yeah i'd be happy to check that for you uh because sometimes there's a gap in the system and it just doesn't get reported so let me take a look here just a moment so i'm seeing here that your doctor had these drugs prescribed to you from twenty twelve through twenty twenty one OK um yeah according to the latest records uh provided by doctor's office you're now on a different drug metformin would you like us to go ahead and fill that prescription for you for pick up a bit of form in five hundred milligrams uh you're very welcome mary please let us know if there's anything else we can do for you today. --- How was the response of the Customer Support agent. Classify and list down their various behaviors and cite the reason behind the classification, using the format BEHAVIOR("reason")
1. Empathetic("understands the customer's frustration") 2. Patient("happy to check that for you one moment please") 3. Knowledgeable("sometimes there's a gap in the system and it just doesn't get reported") 4. Helpful("happy to check that for you") 5. Accommodating("would you like us to go ahead and fill that prescription for you") 6. Courteous("you're very welcome mary")
Przykładowe szczegóły
Monit
Zakończenie
Example of prompt directing model response to fit a defined structure:
Output format: { "TOPIC_NAME": "", "HEADLINES": [], "REASON": "" } Input news headlines: 1. "From books to presentations in 10s with AR + ML" 2. "Demo from 1993 of 32-year-old Yann LeCun showing off the World's first Convolutional Network for Text Recognition" 3. "First Order Motion Model applied to animate paintings" 4. "Robinhood and other brokers literally blocking purchase of $GME, $NOK, $BB, $AMC; allow sells" 5. "United Airlines stock down over 5% premarket trading" 6. "Bitcoin was nearly $20,000 a year ago today"
Output:
{"TOPIC_NAME": "Artificial Intelligence and Machine Learning", "HEADLINES": ["From books to presentations in 10s with AR + ML", "Demo from 1993 of 32-year-old Yann LeCun showing off the World's first Convolutional Network for Text Recognition", "First Order Motion Model applied to animate paintings"],"REASONING": "These headlines all contain references to Artificial Intelligence and Machine Learning, such as AR, ML, Convolutional Network, and First Order Motion Model." } {"TOPIC_NAME": "Stock Market", "HEADLINES": ["Robinhood and other brokers literally blocking purchase of $GME, $NOK, $BB, $AMC; allow sells", "United Airlines stock down over 5% premarket trading", "Bitcoin was nearly $20,000 a year ago today"], "REASONING": "These headlines all contain references to the stock market, such as Robinhood, United Airlines, and Bitcoin." }
Dostosowywanie parametrów Temperatury i Top_P
Zmiana parametru temperatury umożliwia modelom różne poziomy ryzyka. Wyższa wartość, na przykład 0,7, spowoduje, że dane wyjściowe będą bardziej losowe i generują bardziej rozbieżne odpowiedzi. Chociaż niższa wartość, na przykład 0,2, sprawi, że dane wyjściowe będą bardziej skoncentrowane i konkretne. Na przykład fikcyjna historia może być generowana przy użyciu wyższej temperatury. Podczas generowania dokumentu prawnego zaleca się użycie znacznie niższej temperatury.
W następnym przykładzie przetestujemy dwie odpowiedzi modelu odpowiednio w różnych ustawieniach temperatury 0,1 i 0,9. Chociaż ocena treści kreatywnych, takich jak fragmenty tekstu poniżej, jest subiektywnym ćwiczeniem i opinie mogą się różnić, różnica w odpowiedzi modelu na ten sam monit wyłącznie ze zmiany parametru temperatury jest widoczna.
Typ instrukcji
Monit
Zakończenie
Model response for temperature setting 0.1:
Write a product launch email for new AI-powered headphones that are priced at $79.99 and available at Best Buy, Target and Amazon.com. The target audience is tech-savvy music lovers and the tone is friendly and exciting.<br>1. What should be the subject line of the email? 2. What should be the body of the email?
Subject Line: Introducing the AI-Powered Headphones You've Been Waiting For!
Dear Tech-Savvy Music Lovers,
-We are thrilled to announce the launch of our new AI-powered headphones! These headphones are designed to provide you with the ultimate listening experience, with features like noise cancellation, adjustable sound settings, and more.
Our AI-powered headphones are now available at Best Buy, Target, and Amazon.com for just $79.99. With this unbeatable price, you can enjoy the highest quality sound without breaking the bank.
Our AI-powered headphones are perfect for anyone who loves music. Whether you're a professional musician or just a casual listener, you'll appreciate the superior sound quality and convenience of these headphones.
We know you'll love our AI-powered headphones, so don't wait - get yours today!
Sincerely, [Your Company Name]
Model response for temperature setting 0.9:
Write a product launch email for new AI-powered headphones that are priced at $79.99 and available at Best Buy, Target and Amazon.com. The target audience is tech-savvy music lovers and the tone is friendly and exciting.
1. What should be the subject line of the email? 2. What should be the body of the email?
Subject Line: Upgrade your Music Listening Experience with AI-powered Headphones
Greetings Tech-savvy Music Lovers!
We have some exciting news to share with you – the newest AI-powered headphones are here! Our newest headphones feature advanced AI technology to give you the best sound that you’ve ever heard. They come with a crystal-clear sound, deep bass response and are designed to make your music listening experience enjoyable, no matter what type of music you listen to.
What’s more, they are now available at Best Buy, Target and Amazon.com for just $79.99, so you can enjoy the highest sound quality without breaking the bank.
But that’s not all! Our headphones are also packed with several other amazing features such as noise-cancellation technology and a hands-free microphone for calls, making them truly unbeatable.
So why wait? Upgrade your music listening experience and enjoy the best sound your ears have ever heard. Our AI-powered headphones are now available at Best Buy, Target and Amazon.com, so get yours today!
We hope you will enjoy these headphones as much as we do.
Happy Listening!
The AI-powered Headphones Team
Top_probability jest innym parametrem i jest podobny do temperatury, ponieważ kontroluje również losowość odpowiedzi modelu, ale robi to w inny sposób. Poeksperymentuj z różnymi odpowiedziami modelu, zmieniając temperaturę i Top_P, ale nie jednocześnie.
Najlepsze rozwiązania
Bądź konkretny. Pozostaw jak najmniej pola do interpretacji. Ogranicz przestrzeń operacyjną.
Bądź opisowy. Używaj analogii.
Podwójnie w dół. Czasami może być konieczne powtórzenie się do modelu. Podaj instrukcje przed i po podstawowej zawartości, użyj instrukcji i sygnału itp.
Kolejność ma znaczenie. Kolejność prezentowania informacji modelowi może mieć wpływ na dane wyjściowe. Niezależnie od tego, czy umieścisz instrukcje przed zawartością ("podsumuj poniższe..."), czy po ("podsumuj powyższe..."), może mieć wpływ na dane wyjściowe. Nawet kolejność kilku przykładów może mieć znaczenie. Jest to nazywane efektem świeżości.
Nadaj modelowi wartość "out". Czasami pomocne może być nadanie modelowi alternatywnej ścieżki, jeśli nie może ukończyć przydzielonego zadania. Na przykład podczas zadawania pytania dotyczącego fragmentu tekstu możesz uwzględnić coś takiego jak "odpowiedź z "nie znaleziono", jeśli odpowiedź nie jest obecna. Może to pomóc modelowi uniknąć generowania fałszywych odpowiedzi.
Wydajne wykorzystanie miejsca
Rozmiar danych wejściowych zwiększa się wraz z każdą nową generacją modeli GPT, jednak nadal będą istnieć scenariusze, które zapewniają więcej danych niż model może obsłużyć. Modele GPT dzielą wyrazy na "tokeny". Chociaż typowe wyrazy wielosypowe są często pojedynczym tokenem, mniej typowe słowa są przerywane w sylabach. Tokeny mogą być czasami intuicyjne, jak pokazano w poniższym przykładzie, które pokazują granice tokenów dla różnych formatów dat. W takim przypadku pisownia całego miesiąca jest wydajniejsza niż w pełni liczbowa data. Bieżący zakres obsługi tokenów pochodzi z 2000 tokenów z wcześniejszymi modelami GPT-3 do 32 768 tokenów z najnowszą wersją 32k najnowszego modelu GPT-4.
Biorąc pod uwagę to ograniczone miejsce, ważne jest, aby używać go tak wydajnie, jak to możliwe.
Tabele — jak pokazano w przykładach w poprzedniej sekcji, modele GPT mogą łatwo zrozumieć sformatowane dane tabelaryczne. Może to być wydajny sposób dołączania danych, a nie poprzedzania każdego pola nazwą (np. przy użyciu formatu JSON).
Biały znak — kolejne odstępy są traktowane jako oddzielne tokeny, które mogą być łatwym sposobem marnowania miejsca. Spacje poprzedzające wyraz, z drugiej strony, są zwykle traktowane jako część tego samego tokenu co słowo. Uważnie obserwuj użycie białych znaków i nie używaj znaków interpunkcyjnych, gdy tylko miejsce zostanie użyte.
W tym module dowiesz się, jak inżynieria monitów może pomóc w tworzeniu i dostosowywaniu monitów dotyczących modeli przetwarzania języka naturalnego. Inżynieria promptów obejmuje projektowanie i testowanie różnych promptów w celu optymalizacji wydajności modelu w generowaniu dokładnych i odpowiednich odpowiedzi.
Dowiedz się więcej o tworzeniu komunikatów systemowych, które są również znane jako metaprompty, aby kierować zachowaniem systemu sztucznej inteligencji.