Napisywanie skutecznych promptów dla LLMs
Wymaga pewnego doświadczenia, ale
Nadal istnieją pewne powszechne podejścia do pisania dobrych promptów, dzięki czemu LLM nie będzie się pogubił, próbując zrozumieć, czego od niego oczekujesz.
Jak poprawić wydajność modeli językowych za pomocą technik inżynierii promptów
Inżynieria promptów to potężna technika stosowana w przetwarzaniu języka naturalnego (NLP), służąca poprawie wydajności modeli językowych poprzez dostarczanie im dodatkowego kontekstu, wskazówek i informacji dotyczących zadania. W tym artykule pokażemy, jak stworzyć skuteczne prompty, które pomogą Twojemu modelowi NLP generować bardziej dokładne, istotne i różnorodne wyniki.
Tworzenie skutecznych promptów
1. Bądź jasny i konkretny
- Cel: Upewnij się, że Twój prompt jest łatwo zrozumiały dla modelu językowego.
- Zastosowanie: Unikaj używania żargonu lub terminów technicznych, które mogą zmylić model. Zachowuj instrukcje proste i do rzeczy.
2. Używaj konkretnych przykładów
- Cel: Pomoże modelowi lepiej zrozumieć, jaki rodzaj wyników się oczekuje.
- Zastosowanie: Dodaj konkretne przykłady w swoim promptzie, takie jak ustawienie, postacie lub szczegóły fabularne w zadaniach generowania opowiadań.
3. Wariuj prompty
- Cel: Pozwoli modelowi nauczyć się więcej o zadaniu i wygenerować różnorodne wyniki.
- Zastosowanie: Eksperymentuj z różnymi stylami, tonami i formatami, aby zobaczyć, jak model reaguje.
4. Testuj i udoskonalaj
- Cel: Zweryfikuj skuteczność promptów i dokonaj niezbędnych korekt.
- Zastosowanie: Po stworzeniu zestawu promptów przetestuj je na modelu językowym. Analizuj wyniki i udoskonalaj prompty na podstawie opinii lub metryk wydajności.
5. Używaj opinii
- Cel: Nieustannie poprawiaj jakość i istotność swoich promptów.
- Zastosowanie: Włącz opinię użytkowników lub wgląd z innych źródeł, aby poprawić skuteczność promptów w czasie.
Jasne instrukcje dla lepszych wyników
Przykład:
- Prompt: Wyjaśnij najnowsze postępy w dużych modelach językowych.
- Instrukcje: Zawsze cytuj swoje źródła, nie starsze niż 2020.
Stylizacja dla uczniów podstawowych
Wyjaśnienie: Przedstaw skomplikowane koncepcje za pomocą prostego języka i przykładów, które są odpowiednie dla sieci edukacyjnych dzieci.
Wskazówki dotyczące formatowania
Przykład:
{
"role": "sentiment_classifier",
"instructions": [
"Dla każdej wiadomości podaj procent pozytywnego, neutralnego i negatywnego sentymentu.",
"Przykłady: 'Uwielbiałem to' -> 70% pozytywny, 30% neutralny; 'Mógłoby być lepiej' -> 0% pozytywny, 50% neutralny, 50% negatywny"
],
"examples": [
{
"message": "Myślałem, że było w porządku",
"sentiment": [25%, 50%, 25%]
},
{
"message": "Uwielbiałem to!",
"sentiment": [100%, 0%, 0%]
}
]
}
Prompty oparte na roli
Przykład:
- Prompt: Jesteś wirtualnym przewodnikiem, który obecnie prowadzi turystów po Wieży Eiffla w nocnej wycieczce. Opisz Wieżę Eiffla dla swojej grupy, obejmując jej historię, liczbę odwiedzających ją każdego roku, czas potrzebny na pełną wycieczkę oraz dlaczego tyle osób odwiedza to miejsce rocznie.
Technika łańcucha myślenia
Przykład:
- Prompt: Jesteś wirtualnym przewodnikiem z roku 1901. Twoi turysty wizytują Wieżę Eiffla.
- Dlaczego została zbudowana?
- Jak długo trwało jej budowanie?
- Skąd pochodziły materiały użyte do jej konstrukcji?
- Jaka była liczba odwiedzających Wieżę Eiffla w latach 1900?
- Ile czasu zajmuje pełna wycieczka, i dlaczego tyle osób odwiedza to miejsce każdego roku?
Samokonsystencja
Przykład:
- Prompt: John stwierdził, że średnia 15 liczb wynosi 40. Jeśli do każdej liczby dodamy 10, jaka będzie nowa średnia?
- Instrukcje: Uruchom prompt kilka razy i wybierz najczęściej zwracaną wartość jako odpowiedź.
Generowanie wzbogacane danymi
Przykład:
Na podstawie poniższych informacji o temperaturach w Menlo Park:
-
2023-12-11: 52 stopnie Fahrenheita
-
2023-12-12: 51 stopni Fahrenheita
-
2023-12-13: 55 stopni Fahrenheita
-
Prompt: Jaka była temperatura w Menlo Park 12 grudnia 2023 roku?
Modele językowe wspomagane przez programy
Przykład:
- Prompt: Oblicz: ((-5 + 93 * 4 - 0) * (4^4 + -7 + 0 * 5))
Ograniczanie zbędnych tokenów
Przykład:
- Prompt: Jesteś robotem, który wypisuje tylko JSON.
- Instrukcje: Twój odpowiedź musi zawierać pole ‘zip_code’.
- Przykładowe pytanie: Jaki jest kod pocztowy Menlo Park?
- Oczekiwana odpowiedź: {“zip_code”: “94025”}
Redukcja halucynacji
Przykład 1:
- Prompt: Wyjaśnij pojęcie obliczeń kwantowych dla ucznia szkoły średniej.
- Instrukcje: Podaj proste wyjaśnienia i unikaj skomplikowanego żargonu.
Przykład 2:
- Prompt: Napisz e-mail do przełożonego, w którym proponujesz spotkanie w celu omówienia postępów projektu.
- Instrukcje: Używaj języka profesjonalnego, zachowuj formalny ton i zawieraj konkretne informacje dotyczące stanu projektu.
Przykład 3:
- Prompt: Utwórz wiersz o naturze.
- Instrukcje: Skup się na opisowym języku i obrazach związanych z elementami naturalnymi.
Podsumowanie
Dzięki przestrzeganiu tych wytycznych dotyczących inżynierii promptów możesz znacząco poprawić wydajność swoich modeli NLP. Niezależnie od tego, czy korzystasz z jasnych instrukcji, konkretnych przykładów czy promptów opartych na roli, każda technika odgrywa kluczową rolę w kierowaniu modelem w stronę bardziej dokładnych i istotnych wyników.
Przydatne linki
- Test: Jak Ollama wykorzystuje wydajność procesora Intel i efektywne jądra
- Jak Ollama obsługuje żądania równoległe
- Porównanie szybkości LLM
- Porównanie zdolności do streszczenia LLM
- Wykrywanie błędów logicznych za pomocą LLM
- Meta / llama3: https://llama.meta.com/docs/overview
- Przeniesienie folderu modeli Ollama na inne miejsce
- Porównanie LLM: Mistral Small, Gemma 2, Qwen 2.5, Mistral Nemo, LLama3 i Phi
- Cheat sheet dla Conda
- Cheat sheet dla Ollama
- Cheat sheet dla Docker
- Cheat sheet dla Markdown