Omówienie inżynierii monitów
Jakość monitów wejściowych wysyłanych do modelu sztucznej inteligencji, podobnie jak te dostępne w usłudze Azure OpenAI, ma bezpośredni wpływ na jakość tego, co otrzymujemy. Starannie tworząc monity wysyłane do modelu, model może zapewnić lepsze i bardziej interesujące odpowiedzi.
Co to jest inżynieria poleceń
Monitowanie inżynieryjne to proces projektowania i optymalizowania monitów o lepsze wykorzystanie modeli sztucznej inteligencji. Projektowanie skutecznych monitów ma kluczowe znaczenie dla sukcesu inżynierii monitów i może znacząco poprawić wydajność modelu sztucznej inteligencji w określonych zadaniach. Zapewnienie odpowiednich, jednoznacznych i dobrze ustrukturyzowanych monitów może pomóc modelowi lepiej zrozumieć kontekst i wygenerować dokładniejsze odpowiedzi.
Jeśli na przykład chcemy, aby model OpenAI wygenerował opisy produktów, możemy podać mu szczegółowy opis opisujący funkcje i zalety produktu. Podając ten kontekst, model może wygenerować dokładniejsze i odpowiednie opisy produktów.
Szybka inżynieria może również pomóc w ograniczeniu stronniczości i poprawić sprawiedliwość w modelach sztucznej inteligencji. Projektując monity, które są zróżnicowane i inkluzywne, możemy zapewnić, że model nie jest stronniczy w stosunku do określonej grupy lub perspektywy.
Ważne
Bez względu na to, jak dobrze można zaprojektować monit, odpowiedzi z modeli sztucznej inteligencji nigdy nie powinny być traktowane jako fakt lub całkowicie wolne od stronniczości. Zawsze używaj sztucznej inteligencji w sposób odpowiedzialny. Aby uzyskać więcej informacji, zobacz Artykuł Microsoft's transparency note on Azure OpenAI and Microsoft's AI principles (Uwaga dotycząca przejrzystości firmy Microsoft w temacie Azure OpenAI i zasad sztucznej inteligencji firmy Microsoft).
Ponadto monity inżynieryjne mogą pomóc nam zrozumieć, które odwołania do modelu używa do generowania odpowiedzi. Modele generowania sztucznej inteligencji mają mnóstwo parametrów, a następująca logika jest w dużej mierze nieznana użytkownikom, więc może być myląca, jak dociera do odpowiedzi, jaką daje. Projektując monity, które są łatwe do zrozumienia i interpretowania, możemy pomóc ludziom lepiej zrozumieć, w jaki sposób model generuje odpowiedzi. Może to być szczególnie ważne w takich dziedzinach jak opieka zdrowotna, w których kluczowe znaczenie ma zrozumienie sposobu podejmowania decyzji przez model.
Istnieją różne metody używane podczas inżynierii własnych monitów, z których wiele jest omówionych w kolejnych lekcjach tego modułu. Obejmują one dostarczanie instrukcji, kontekstowej zawartości, wskazówek lub przykładów z kilkoma zrzutami oraz prawidłowe porządkowanie zawartości w wierszu polecenia. Metody omówione tutaj nie są wyczerpujące, ponieważ ten obszar jest zniuansowany i płynny temat.
Zagadnienia dotyczące punktów końcowych interfejsu API
W pozostałych częściach tego modułu skupimy się na .ChatCompletion
Warto zauważyć, że ChatCompletion
można również użyć w scenariuszach niezwiązanych z czatem, w których wszystkie instrukcje są zawarte w wiadomości systemowej i zawartości użytkownika są udostępniane w komunikacie roli użytkownika. Większość z tych przykładów można zmienić, aby w razie potrzeby używać punktu końcowego Completion
.
Jeśli chodzi o dostępność modelu, Completion
punkt końcowy może być używany z modelami gpt-3
i jego wcześniejszymi wersjami oraz ChatCompletion
może być używany z modelami i nowszymi gpt-35-turbo
.
Dostosowywanie parametrów modelu
Oprócz technik omówionych w tym module dostosowanie parametrów modelu może mieć znaczący wpływ na odpowiedź. W szczególności i top_p
(top_probability) są najbardziej prawdopodobne, temperature
aby wpłynąć na odpowiedź modelu, ponieważ kontrolują losowość w modelu, ale na różne sposoby.
Wyższe wartości generują więcej odpowiedzi kreatywnych i losowych, ale prawdopodobnie będą mniej spójne lub ukierunkowane. Oczekuje się, że odpowiedzi będą fikcyjnymi lub unikatowymi korzyściami z wyższych wartości dla tych parametrów, natomiast zawartość, która ma być bardziej spójna i konkretna, powinna używać niższych wartości.
Spróbuj dostosować te parametry przy użyciu tego samego monitu, aby zobaczyć, jak wpływają one na odpowiedź. Zaleca się zmianę lub temperature
top_p
jednocześnie, ale nie obie.