Optymalizowanie danych wyjściowych modelu za pomocą monitu inżynieryjnego
Wskazówka
Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .
Najbardziej dostępnym sposobem optymalizacji wydajności modelu jest szybka inżynieria. Inżynieria podpowiedzi jest procesem projektowania i uściślania podpowiedzi w celu poprawy jakości, dokładności i istotności odpowiedzi generowanych przez model językowy. Nie wymaga to dodatkowej infrastruktury ani danych treningowych i można natychmiast rozpocząć eksperymentowanie.
Zrozumieć składniki monitu
Podczas interakcji z modelem językowym jakość pytania bezpośrednio wpływa na jakość odpowiedzi. Dobrze skonstruowany monit pomaga modelowi zrozumieć, czego potrzebujesz, i wygenerować bardziej przydatną odpowiedź.
Monity dotyczące modeli uzupełniania czatu zwykle obejmują następujące składniki:
- Komunikat systemowy: instrukcje definiujące zachowanie, rolę i ograniczenia modelu.
- Komunikat użytkownika: pytanie lub dane wejściowe od użytkownika.
- Komunikat asystenta: Poprzednie odpowiedzi modelu używane w konwersacjach wieloturnowych.
- Przykłady: przykładowe pary wejściowe/wyjściowe, które pokazują oczekiwany format odpowiedzi.
Sposób tworzenia struktury i łączenia tych składników określa, jak skutecznie reaguje model.
Projektowanie skutecznych komunikatów systemowych
Komunikat systemowy to zestaw instrukcji podanych dla modelu w celu kierowania odpowiedziami. Komunikaty systemowe zazwyczaj pojawiają się najpierw w konwersacji i działają jako zestaw instrukcji najwyższego poziomu. Są one używane do:
- Zdefiniuj rolę i granice asystenta.
- Ustaw styl tonu i komunikacji.
- Określ formaty danych wyjściowych, takie jak JSON lub punktory.
- Dodaj ograniczenia bezpieczeństwa i jakości dla danego scenariusza.
Komunikat systemowy może być tak prosty, jak:
You are a helpful AI assistant.
Może również zawierać szczegółowe reguły i wymagania dotyczące formatowania. Na przykład aplikacja do czatu biura podróży może używać na przykład:
You are a friendly travel advisor for Margie's Travel.
Answer only questions related to travel, hotels, and trip planning.
Use a warm, conversational tone.
If you don't have enough information to answer, ask a clarifying question.
Format hotel recommendations as a bulleted list with the hotel name, location, and price range.
Ważna
Komunikat systemowy wpływa na model, ale nie gwarantuje zgodności. Należy testować i iterować komunikaty systemowe oraz nakładać je na inne środki zaradcze, takie jak filtrowanie i ocena zawartości.
Podczas projektowania komunikatu systemowego postępuj zgodnie z tą listą kontrolną:
- Zacznij od roli asystenta: Określ rolę i oczekiwany wynik typowego zadania.
- Zdefiniuj granice: Wymień tematy, działania i typy zawartości, których asystent powinien unikać.
- Określ format danych wyjściowych: jeśli potrzebujesz określonego formatu, podaj go w zwykły sposób i zachowaj spójność.
- Dodaj zasady "w przypadku braku pewności": Poinformuj model, co robić, gdy żądanie użytkownika jest niejednoznaczne, poza zakresem lub gdy modelowi brakuje informacji.
Stosowanie wzorców monitów
Skuteczne zapytania używają wzorców, które pozwalają modelowi generować lepsze odpowiedzi. Oto kilka typowych wzorców, których można użyć:
Wzorzec osoby
Poinstruuj model, aby przejął określoną perspektywę lub rolę. Na przykład, poproszenie modelu o odpowiedź jako doświadczony profesjonalista ds. marketingu daje inne wyniki niż nieużywanie żadnej postaci.
| Brak osoby | Z postacią | |
|---|---|---|
| Komunikat systemowy | Brak | Jesteś doświadczonym specjalistą ds. marketingu piszącym dla klientów technicznych. |
| Komunikat użytkownika | Napisz jednozdaniowy opis produktu CRM. | Napisz jednozdaniowy opis produktu CRM. |
| Odpowiedź | Produkt CRM to narzędzie programowe przeznaczone do zarządzania interakcjami firmy z klientami. | Korzystaj z bezproblemowego zarządzania relacjami z klientami z naszym rozwiązaniem CRM, zaprojektowanego tak, aby usprawnić operacje i zwiększyć wzrost sprzedaży dzięki niezawodnej analizie. |
Wzorzec formatowania
Podaj szablon lub strukturę w wierszu polecenia, aby pobrać dane wyjściowe w określonym formacie. Jeśli na przykład potrzebujesz ustrukturyzowanej odpowiedzi na temat hotelu:
Format the result to show:
- Hotel name
- Location
- Star rating
- Price range per night
Ten wzorzec zapewnia spójne, zorganizowane odpowiedzi, które można łatwo analizować w aplikacji.
Wzorzec myślenia łańcuchowy
Poproś model o wyjaśnienie jego rozumowania krok po kroku. Ta technika, nazywana łańcuchem myśli, zmniejsza prawdopodobieństwo niedokładnych wyników i ułatwia weryfikację logiki modelu.
Na przykład zamiast pytać "Który hotel jest najlepszy dla rodziny czwórki?", możesz wyświetlić monit:
Which hotel is best for a family of four? Take a step-by-step approach:
consider room size, amenities for children, location, and price.
Powiązana technika polega na podzieleniu zadania na jawne kroki podrzędne , zanim model odpowie, zamiast prosić go o rozumowanie przez wszystko jednocześnie. Na przykład możesz najpierw poprosić model o wyodrębnienie kluczowych faktów z fragmentu, a następnie w kolejnym zapytaniu poprosić go o udzielenie odpowiedzi na pytanie na podstawie tych faktów. Rozkład pracy w ten sposób zmniejsza błędy w złożonych, wieloczęściowych zadaniach.
Uwaga / Notatka
Pobudzanie do myślenia krok po kroku jest techniką dla modeli, które nie używają rozumowania. Modele rozumowania, takie jak modele serii o, obsługują logikę krok po kroku wewnętrznie.
Wzorzec uczenia z niewielką ilością przykładów
Podaj jeden lub więcej przykładów żądanych danych wejściowych i wyjściowych, aby ułatwić modelowi zidentyfikowanie żądanego wzorca. Ta technika jest nazywana uczeniem kilku strzałów (lub jednym strzałem dla jednego przykładu). Jeśli nie podano żadnych przykładów, nazywa się to zero-shot learning.
Aby na przykład sklasyfikować zapytania klientów:
Classify the following customer messages:
Message: "I need to change my flight to Rome"
Category: Booking change
Message: "What's the weather like in Bali in March?"
Category: Travel information
Message: "Can I get a refund for my cancelled tour?"
Category:
Model uczy się wzorca klasyfikacji z przykładów i poprawnie kończy ostatni wpis.
Używanie jasnej składni i ograniczników
Gdy monit zawiera wiele sekcji — takich jak instrukcje, tekst źródłowy i przykłady — użyj ograniczników, takich jak ---, nagłówki języka Markdown lub tagi XML, aby je oddzielić. Wyraźne granice pomagają modelowi odróżniać instrukcje od treści i zmniejszają prawdopodobieństwo błędnej interpretacji.
Wskazówka
Modele mogą być podatne na efekt świeżości, co oznacza, że tekst pod koniec monitu może mieć większy wpływ niż tekst na początku. Jeśli model nie przestrzega instrukcji konsekwentnie, spróbuj powtórzyć kluczową instrukcję w końcowej części zapytania.
Konfigurowanie parametrów modelu
Poza tekstem monitów można dostosować parametry modelu, które kontrolują sposób generowania odpowiedzi przez model:
- Temperatura: Kontroluje losowość danych wyjściowych. Wyższa wartość (na przykład 0,7) generuje więcej kreatywnych i zróżnicowanych odpowiedzi, podczas gdy niższa wartość (na przykład 0,2) generuje bardziej skoncentrowane i deterministyczne odpowiedzi. Używaj niższych wartości dla zadań faktycznych i wyższych wartości dla kreatywnych.
-
Top_p: Kontroluje również losowość, ale w inny sposób. Ogranicza model do podzestawu najbardziej prawdopodobnych następnych tokenów. Na przykład wartość
top_p0,9 oznacza, że model uwzględnia tylko 90 pierwszych% prawdopodobnych tokenów.
Wskazówka
Ogólnie zaleca się dostosowanie temperatury lub top_p, a nie obu w tym samym czasie.
W scenariuszu biura podróży można użyć niskiej temperatury (0,2) podczas odpowiadania na faktyczne pytania dotyczące udogodnień hotelowych, ale wyższej temperatury (0,7) podczas generowania kreatywnych sugestii podróży podróży.
Gdy inżynieria prompt jest wystarczająca
Inżynieria podpowiedzi to właściwy punkt wyjścia dla każdej próby optymalizacji modelu. Jest to skuteczne, gdy trzeba wykonać następujące kroki:
- Kieruj tonem, formatem i zachowaniem modelu.
- Podaj konkretne instrukcje dotyczące zadania.
- Szybkie iterowanie wyników bez zmian infrastruktury.
- Utrzymuj niskie koszty, ponieważ nie są wymagane żadne dodatkowe szkolenia ani przechowywanie danych.
Jednak inżynieria promptów ma ograniczenia. Jeśli model nie ma access do potrzebnych informacji (takich jak katalog hotelowy firmy) lub jeśli stale nie zachowuje określonego zachowania pomimo szczegółowych instrukcji, musisz rozważyć dodatkowe strategie.