Informacje o modelach generatywnych

modele generatywnej sztucznej inteligencji (AI), takie jak rodzina Gemini modele są w stanie tworzyć treści na podstawie różnego rodzaju danych wejściowych, w tym tekst, obrazy i dźwięk. Na najbardziej podstawowym poziomie modele te działają tak do zaawansowanych aplikacji autouzupełniania. podany tekst („Możesz poprowadzić konia); do wody”), model generatywny może przewidzieć, że tekst wyjściowy statystycznie prawdopodobne jest, że podążają za nią („ale nie można tego zmusić do picia”) na podstawie wzorców na podstawie danych treningowych. Tej podstawowej właściwości modele generatywne przeznaczone do różnych zastosowań:

  • Generuj kreatywne teksty, takie jak poezja, opowiadania, metafory, posty na blogach
  • Konwertowanie uporządkowanych danych na dowolny tekst
  • Wyodrębnianie i podsumowywanie informacji z tekstu dowolnego
  • Generowanie kodu
  • Tłumacz teksty w różnych językach

Użycie modeli generatywnych do tworzenia tych funkcji nie wymaga maszyny i systemów uczących się. Nie musisz zbierać dużego zbioru danych ani trenować model atrybucji. Aby stworzyć pierwszy prototyp, wystarczy opisać, co będzie Ci potrzebne w kilku zdaniach.

Modele generatywne, które obsługują tylko wprowadzanie i wyprowadzanie tekstu, są również znane jako dużych modeli językowych (LLM). Rodzina modeli Gemini może przetwarzać więcej niż dane tekstowe i chociaż potrafią realizować funkcje LLM, są lepiej znane jako modele generatywne.

Przykładowe aplikacje

Poniższe przykłady pokazują typowe dane wejściowe i wyjściowe z model generatywny.

Wygeneruj wiersz

Dane wejściowe użytkownika: Write me a four-line poem about puppies and Android phones. Make sure it rhymes.

Dane wyjściowe modelu:

Puppies are cute,
Android phones are neat,
They both bring joy,
And make life complete.

Wygeneruj listę

Dane wejściowe użytkownika: Generate a bulleted list of items I need to pack for a three-day camping trip.

Dane wyjściowe modelu:

*   Tent
*   Sleeping bag
*   Sleeping pad
*   Camp stove
*   Pots and pans
*   Utensils
*   Food
*   Water
*   First-aid kit
*   Sunscreen
*   Insect repellent
*   ...

Możesz uzyskać modele generatywne do generowania różnych przydatnych zachowań, takich jak Wystarczy, że wpiszesz właściwy tekst, zwany też promptem. Sztuka i nauką znajdowania właściwych słów, które można wykorzystać na modelach generatywnych, tzw. projektowanie promptów (nazywany też „inżynierią promptów” po prostu „pytania”).

Podstawy projektowania promptów

W poprzedniej sekcji przedstawiliśmy kilka przykładów promptów zawierających instrukcje, takie jak „Napisz mi wiersz”. Ten sposób kształcenia może się sprawdzić w przypadku: i konkretnych typach zadań. Jednak w innych aplikacjach pojawia się technika zwana promptami typu „few-shot” może okazać się lepsza. Krótkie prompty są potrzebne tę zaletę, że duże modele językowe świetnie radzą sobie rozpoznawania i powielania wzorców w danych tekstowych. Chodzi o przesłanie model generatywny, oparty na tekście, który uczy się wypełniać. Na przykład powiedz chcą stworzyć aplikację, która jako dane wejściowe otrzymuje nazwę kraju stolicy. Oto prompt tekstowy, który do tego służy:

Italy : Rome
France : Paris
Germany :

W tym promptie określ wzorzec: [country] : [capital]. Jeśli wyślesz do dużego modelu językowego, automatycznie uzupełni on wzorzec, zwraca kod podobny do tego:

     Berlin
Turkey : Ankara
Greece : Athens

Ta odpowiedź modelu może wyglądać trochę dziwnie. Model zwrócił nie tylko wartość stolicy Niemiec (ostatniego kraju w Twoim odręcznym promptie), ale również pełna lista dodatkowych par kraju i wielkich liter. To dlatego, że to „kontynuowanie wzorca”. Jeśli chcesz tylko i utwórz funkcję informującą o stolicy kraju wejściowego („Niemcy : Berlin”), prawdopodobnie nie interesuje Cię żaden tekst, po „Berlin”. Projektanci aplikacji powinni pewnie skrócenia tych zbędnych przykładów. Warto też określić parametry w taki sposób, by dane Niemcy nie były stałym ciągiem znaków, a zmienną. dostarczane przez użytkownika:

Italy : Rome
France : Paris
<user input here> :

Właśnie udało Ci się napisać krótki prompt, który pomoże Ci zdobyć stolice krajów.

Możesz wykonać wiele zadań, postępując zgodnie z tym krótkim promptem. szablon. Oto prompt w nieco innym formacie, konwertuje Pythona na JavaScript:

Convert Python to JavaScript.
Python: print("hello world")
JavaScript: console.log("hello world")
Python: for x in range(0, 100):
JavaScript: for(var i = 0; i < 100; i++) {
Python: ${USER INPUT HERE}
JavaScript:

Możesz też użyć tego „odwrotnego słownika” . Po określeniu definicji zwraca wartość słowo pasujące do tej definicji:

Given a definition, return the word it defines.
Definition: When you're happy that other people are also sad.
Word: schadenfreude
Definition: existing purely in the mind, but not in physical reality
Word: abstract
Definition: ${USER INPUT HERE}
Word:

Zapewne zauważyłeś, że dokładny wzorzec promptów jest różny nieco. Oprócz przykładów podanie instrukcji w prompty to dodatkowa strategia, którą warto wziąć pod uwagę podczas pisania własnych promptów. pomaga to przekazać modelowi swoje zamiary.

Tworzenie promptów a tradycyjne tworzenie oprogramowania

W przeciwieństwie do tradycyjnego oprogramowania, które zostało zaprojektowane pod kątem dokładnie napisanej specyfikacji, zachowanie modeli generatywnych jest w dużej mierze niejasne nawet dla osób, które je trenują. Jako często nie można z wyprzedzeniem przewidzieć, jakie typy struktur promptów najlepiej sprawdzają się w konkretnym modelu. Co więcej, generatywna AI działa zależy w dużej mierze od danych treningowych, a modele stale dostrajany na nowych zbiorach danych, czasami model zmienia się na tyle, że nieumyślnie zmienia struktury promptów, które działają najlepiej. Co to oznacza dla: Ciebie? Eksperymentuj! Wypróbuj różne formaty promptów.

Parametry modelu

Każdy prompt wysyłany do modelu zawiera wartości parametrów, które określają, model wygeneruje odpowiedź. Model może generować różne wyniki dla: różne wartości parametrów. Najczęstsze parametry modelu:

  1. Maksymalna liczba tokenów wyjściowych:określa maksymalną liczbę tokenów, które można przesłać wygenerowane w odpowiedzi. Token ma około 4 znaków. 100 odpowiadają około 60–80 słowom.

  2. Temperatura: temperatura określa stopień losowości tokena. wyboru. Temperatura jest używana do próbkowania podczas generowania odpowiedzi, co ma miejsce, gdy zastosowane zostały parametry topP i topK. Niższe temperatury są dobre w przypadku promptów, które wymagają bardziej deterministycznej lub mniej otwartej odpowiedzi; a wyższe temperatury mogą prowadzić do bardziej różnorodnych i kreatywnych wyników. O temperatura równa 0 jest deterministyczna, co oznacza, że najwyższe prawdopodobieństwo odpowiedź jest zawsze wybrana.

  3. topK: parametr topK zmienia sposób, w jaki model wybiera tokeny dla dane wyjściowe. Wartość topK o wartości 1 oznacza, że wybrany token jest najbardziej prawdopodobny wszystkich tokenów w słowniku modelu (nazywanym też dekodowaniem zachłannym), a topK o wartości 3 oznacza, że następny token jest wybrany z 3 dostępnych. na podstawie temperatury. W każdym kroku wyboru tokena para klucz-wartość Próbkowane są tokeny (topK) o największym prawdopodobieństwie. Tokeny są następnie dalej przefiltrowane na podstawie identyfikatora topP z ostatecznym tokenem wybranym przy użyciu próbkowanie temperatury.

  4. topP: parametr topP zmienia sposób, w jaki model wybiera tokeny dla dane wyjściowe. Tokeny są wybierane od najbardziej do najmniej prawdopodobnych aż do sumy wartości ich prawdopodobieństwo jest równe wartości topP. Jeśli na przykład tokeny A, B, i C mają prawdopodobieństwo 0,3, 0,2 i 0,1, a wartość topP to 0,5, model wybierze A lub B jako kolejny token, korzystając z metody dla temperatury ciała i wykluczyć C jako kandydata. Domyślną wartością parametru topP jest 0,95.

  5. stop_sequences: ustaw sekwencję zatrzymania na poinstruować model, aby przestał generować treści. Sekwencja zatrzymania może być dowolną w ciągu znaków. Unikaj stosowania sekwencji znaków, które mogą pojawiać się w wygenerowanych treściach.

Typy promptów

W zależności od poziomu zawartych w nich informacji kontekstowych prompty są można podzielić na 3 rodzaje.

Prompty typu zero-shot

Te prompty nie zawierają przykładów do replikacji przez model. Zero-shot pokazują zasadniczo zdolność modelu do wykonania promptu bez przykłady lub informacje. Oznacza to, że model musi polegać nie ma już doświadczenia, by móc udzielić miarodajnej odpowiedzi.

Oto niektóre typowe wzorce promptów typu „zero-shot”:

  • Treść instrukcji
<Overall instruction>
<Content to operate on>

Na przykład

Summarize the following into two sentences at the third-grade level:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds.

Hummingbirds are made up of three main parts: the head, the body, and the tail.
The head is small and round, and it contains the eyes, the beak, and the brain.
The body is long and slender, and it contains the wings, the legs, and the
heart. The tail is long and forked, and it helps the hummingbird to balance
while it is flying.

Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color!

Hummingbirds are very active creatures. They spend most of their time flying,
and they are also very good at hovering. Hummingbirds need to eat a lot of food
in order to maintain their energy, and they often visit flowers to drink nectar.

Hummingbirds are amazing creatures. They are small, but they are also very
powerful. They are beautiful, and they are very important to the ecosystem.
  • Instrukcja – treść – instrukcja
<Overall instruction or context setting>
<Content to operate on>
<Final instruction>

Na przykład

Here is some text I'd like you to summarize:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds. Hummingbirds
are made up of three main parts: the head, the body, and the tail. The head is
small and round, and it contains the eyes, the beak, and the brain. The body is
long and slender, and it contains the wings, the legs, and the heart. The tail
is long and forked, and it helps the hummingbird to balance while it is flying.
Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color! Hummingbirds are very active creatures. They spend most
of their time flying, and they are also very good at hovering. Hummingbirds need
to eat a lot of food in order to maintain their energy, and they often visit
flowers to drink nectar. Hummingbirds are amazing creatures. They are small, but
they are also very powerful. They are beautiful, and they are very important to
the ecosystem.

Summarize it in two sentences at the third-grade reading level.
  • Kontynuacja. Czasami model może kontynuować tekst bez żadnego za instrukcje. Oto prompt typu „zero-shot”, w którym model kontynuacja danych wejściowych:
Once upon a time, there was a little sparrow building a nest in a farmer's
barn. This sparrow

Używaj promptów typu „zero-shot”, aby generować kreatywne formaty tekstowe, takie jak wiersze, kod skryptów, utworów muzycznych, wiadomości e-mail i listów.

Prompty jednorazowe

Te prompty dostarczają modelowi pojedynczy przykład do replikacji i kontynuowania nie powtarzają się. Umożliwia to generowanie przewidywalnych odpowiedzi na podstawie model atrybucji.

Na przykład możesz generować pary potraw, takie jak:

Food: Apple
Pairs with: Cheese
Food: Pear
Pairs with:

Prompty na kilka rzutów

Te prompty dostarczają modelowi wiele przykładów do powielenia. Używaj do wykonania skomplikowanych zadań, np. syntetyzowania danych na wzorach.

Przykładowy prompt może wyglądać tak:

Generate a grocery shopping list for a week for one person. Use the JSON format
given below.
{"item": "eggs", "quantity": "6"}
{"item": "bread", "quantity": "one loaf"}

Działanie modeli generatywnych

W tej sekcji znajdziesz odpowiedź na pytanie: czy jest losowość w generatywnej modele odpowiedzi czy odpowiedzi deterministycznych?

Krótka odpowiedź: tak na oba. Gdy poprosisz o model generatywny, jest generowana dwuetapowo. Na pierwszym etapie model generatywny przetwarza prompt wejściowy i generuje rozkład prawdopodobieństwa na możliwe tokeny (słowa), które mogą pojawić się w przyszłości. Jeśli na przykład poprosisz o z tekstem wejściowym „Pies przeskoczył nad ...”, model generatywny Wygeneruj tablicę prawdopodobnych kolejnych słów:

[("fence", 0.77), ("ledge", 0.12), ("blanket", 0.03), ...]

Ten proces jest deterministyczny. model generatywny da taki sam efekt, za każdym razem, gdy wpiszesz ten sam tekst promptu.

Na drugim etapie model generatywny przekształca te rozkłady odpowiedzi tekstowych za pomocą jednej z kilku strategii dekodowania. Prosta może wybierać najbardziej prawdopodobny token w każdym kroku. Ten zawsze byłby deterministyczny. Możesz jednak zamiast tego zdecydować się na generowania odpowiedzi przez losowe próbkowanie według rozkładu zwracanego przez model atrybucji. Ten proces byłby stochastyczny (losowy). Kontroluj stopień losowość jest dozwolona w tym procesie dekodowania przez ustawienie temperatury. O wartość 0 oznacza, że wybierane są tylko najbardziej prawdopodobne tokeny. losowość. Z kolei wysoka temperatura zapewnia duży stopień losowości w tokeny wybrane przez model, co prowadzi do bardziej nieoczekiwanych, zaskakujących odpowiedzi modelu.

Więcej informacji