Informationen zu generativen Modellen

Modelle für generative künstliche Intelligenz (KI) wie die Gemini-Modellfamilie können Inhalte aus verschiedenen Arten von Dateneingaben erstellen, einschließlich Text, Bildern und Audio. Im Grunde funktionieren diese Modelle wie ausgefeilte Autocomplete-Anwendungen. Anhand des Eingabetexts („Du kannst ein Pferd zum Wasser führen“) kann ein generatives Modell anhand der aus den Trainingsdaten gelernten Muster den statistisch wahrscheinlichen Ausgabetext („aber du kannst es nicht zum Trinken zwingen“) vorhersagen. Diese grundlegende Eigenschaft generativer Modelle kann für verschiedene Anwendungen verwendet werden:

  • Kreatives Schreiben wie Gedichte, Kurzgeschichten, Metaphern und Blogbeiträge erstellen
  • Strukturierte Daten in Freitext konvertieren
  • Informationen aus Text in freiem Format extrahieren und zusammenfassen
  • Code generieren
  • Zwischen Sprachen übersetzen

Die Verwendung generativer Modelle zum Erstellen dieser Funktionen erfordert keine Kenntnisse im Bereich maschinelles Lernen (ML). Sie müssen kein großes Dataset erfassen oder ein Modell trainieren. Zum Starten Ihres ersten Prototyps müssen Sie lediglich in einigen Sätzen beschreiben, was das Modell tun soll.

Generative Modelle, die nur Texteingabe und ‑ausgabe verarbeiten, werden auch als Large Language Models (LLMs) bezeichnet. Die Gemini-Modelle können mehr als nur Textdaten verarbeiten. Sie können zwar die Funktionen eines LLM ausführen, werden aber genauer als generative Modelle bezeichnet.

Beispielanwendungen

Die folgenden Beispiele zeigen typische Texteingaben und Ausgaben von einem generativen Modell.

Gedicht erstellen

Nutzereingabe: Write me a four-line poem about puppies and Android phones. Make sure it rhymes.

Modellausgabe:

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

Liste erstellen

Nutzereingabe: Generate a bulleted list of items I need to pack for a three-day camping trip.

Modellausgabe:

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

Sie können generative Modelle dazu bringen, alle möglichen nützlichen Verhaltensweisen zu generieren, indem Sie einfach den richtigen Eingabetext erstellen, auch Prompt genannt. Die Kunst und Wissenschaft, die richtige Formulierung zu finden, damit generative Modelle das tun, was Sie wollen, wird als Prompt-Design bezeichnet (auch als „Prompt-Engineering“ oder einfach „Prompting“).

Prompt-Design leicht gemacht

Im vorherigen Abschnitt wurden einige Beispiele für Prompts mit einer Anweisung gezeigt, z. B. „Schreibe mir ein Gedicht“. Diese Art von Anleitung kann für bestimmte Arten von Aufgaben gut funktionieren. Für andere Anwendungen kann jedoch eine andere Prompt-Methode namens wenige-shot-Prompting besser funktionieren. Bei Few-Shot-Prompts wird davon profitiert, dass Large Language Models Muster in Textdaten sehr gut erkennen und replizieren können. Dabei wird dem generativen Modell ein Textmuster gesendet, das es lernt, zu vervollständigen. Angenommen, Sie möchten eine Anwendung erstellen, die den Namen eines Landes als Eingabe nimmt und die Hauptstadt ausgibt. Hier ist ein Text-Prompt, der genau das tut:

Italy : Rome
France : Paris
Germany :

In diesem Prompt legen Sie ein Muster fest: [country] : [capital]. Wenn Sie diesen Prompt an ein Large Language Model senden, wird das Muster automatisch vervollständigt und Sie erhalten etwa Folgendes:

     Berlin
Turkey : Ankara
Greece : Athens

Diese Modellantwort sieht möglicherweise etwas seltsam aus. Das Modell hat nicht nur die Hauptstadt Deutschlands (das letzte Land in Ihrem handgeschriebenen Prompt) zurückgegeben, sondern auch eine ganze Liste weiterer Länder und Hauptstadtpaare. Das liegt daran, dass das generative Modell „das Muster fortsetzt“. Wenn Sie nur eine Funktion erstellen möchten, die Ihnen die Hauptstadt eines Eingabelandes liefert („Deutschland: Berlin“), ist der Text, den das Modell nach „Berlin“ generiert, wahrscheinlich nicht von Bedeutung. Als App-Designer würden Sie diese überflüssigen Beispiele wahrscheinlich kürzen. Außerdem sollten Sie die Eingabe parametisieren, damit „Deutschland“ kein fester String, sondern eine Variable ist, die der Endnutzer angibt:

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

Sie haben gerade einen Prompt für ein paar Sätze zum Generieren von Landeshauptstädten geschrieben.

Mit dieser Vorlage für Few-Shot-Prompts können Sie eine Vielzahl von Aufgaben erledigen. Hier ist ein Prompt für wenige Sätze mit einem etwas anderen Format, der Python in JavaScript konvertiert:

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:

Oder nehmen Sie diesen Prompt zum „Rückwärtswörterbuch“: Wenn Sie eine Definition angeben, gibt das Tool das Wort zurück, das zu dieser Definition passt:

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:

Möglicherweise ist dir aufgefallen, dass das genaue Muster dieser Prompts für wenige Aufnahmen leicht variiert. Neben Beispielen können Sie auch Anweisungen in Ihren Prompts angeben. Dies ist eine weitere Strategie, die Sie beim Erstellen eigener Prompts berücksichtigen sollten, da Sie so Ihre Absicht dem Modell besser vermitteln können.

Prompting im Vergleich zur traditionellen Softwareentwicklung

Anders als herkömmliche Software, die nach einer sorgfältig formulierten Spezifikation entwickelt wird, ist das Verhalten generativer Modelle selbst für die Modelltrainer weitgehend undurchsichtig. Daher können Sie oft nicht im Voraus vorhersagen, welche Arten von Prompt-Strukturen für ein bestimmtes Modell am besten geeignet sind. Außerdem wird das Verhalten eines generativen Modells weitgehend durch seine Trainingsdaten bestimmt. Da Modelle kontinuierlich anhand neuer Datensätze optimiert werden, ändert sich das Modell manchmal so stark, dass sich auch die Prompt-Strukturen, die am besten funktionieren, unbeabsichtigt ändern. Was bedeutet das für Sie? Experimentieren Sie. Probieren Sie verschiedene Promptformate aus.

Modellparameter

Jeder Prompt, den Sie an das Modell senden, enthält Parameterwerte, die steuern, wie das Modell eine Antwort generiert. Das Modell kann für verschiedene Parameterwerte unterschiedliche Ergebnisse generieren. Die gängigsten Modellparameter sind:

  1. Max. Ausgabe-Tokens:Gibt die maximale Anzahl von Tokens an, die in der Antwort generiert werden können. Ein Token besteht aus etwa vier Zeichen. 100 Tokens entsprechen etwa 60–80 Wörtern.

  2. Temperatur:Die Temperatur bestimmt den Grad der Zufälligkeit bei der Tokenauswahl. Die Temperatur wird für die Stichprobenerhebung während der Antwortgenerierung verwendet. Dies geschieht, wenn topP und topK angewendet werden. Niedrigere Temperaturen eignen sich für Prompts, die eine deterministischere oder weniger offene Antwort erfordern, während höhere Temperaturen zu vielfältigeren oder kreativeren Ergebnissen führen können. Eine Temperatur von 0 ist deterministisch, d. h., die Antwort mit der höchsten Wahrscheinlichkeit wird immer ausgewählt.

  3. topK:Mit dem Parameter topK wird geändert, wie das Modell Tokens für die Ausgabe auswählt. Ein topK von 1 bedeutet, dass das ausgewählte Token unter allen Tokens im Vokabular des Modells (auch als „Greedy Decoding“ bezeichnet) am wahrscheinlichsten ist, während ein topK von 3 bedeutet, dass das nächste Token mithilfe der Temperatur aus den drei wahrscheinlichsten Tokens ausgewählt wird. Für jeden Tokenauswahlschritt werden die topK-Tokens mit den höchsten Wahrscheinlichkeiten abgetastet. Tokens werden dann anhand von topP weiter gefiltert, wobei das letzte Token mithilfe von Temperaturstichproben ausgewählt wird.

  4. topP:Mit dem Parameter topP wird geändert, wie das Modell Tokens für die Ausgabe auswählt. Tokens werden vom wahrscheinlichsten bis zum am wenigsten wahrscheinlichen Token ausgewählt, bis die Summe ihrer Wahrscheinlichkeiten dem Wert topP entspricht. Beispiel: Wenn die Tokens A, B und C eine Wahrscheinlichkeit von 0,3, 0,2 und 0,1 haben und der Wert topP 0,5 ist, wählt das Modell anhand der Temperatur entweder A oder B als das nächste Token und schließt C als Kandidaten aus. Der Standardwert für topP ist 0,95.

  5. stop_sequences:Sie können eine Stopp-Sequenz festlegen, um das Modell anzuweisen, keine Inhalte mehr zu generieren. Eine Stoppsequenz kann eine beliebige Folge von Zeichen sein. Vermeiden Sie unnötige Zeichenfolgen, die in den generierten Inhalten vorkommen könnten.

Arten von Prompts

Je nach dem Grad der enthaltenen Kontextinformationen werden Prompts grob in drei Typen unterteilt.

Zero-Shot-Prompts

Diese Prompts enthalten keine Beispiele, die das Modell replizieren soll. Zero-Shot-Prompts zeigen im Wesentlichen die Fähigkeit des Modells, den Prompt ohne zusätzliche Beispiele oder Informationen zu erledigen. Es bedeutet, dass sich das Modell auf sein bereits vorhandenes Wissen verlassen muss, um eine plausible Antwort zu generieren.

Einige häufig verwendete Zero-Shot-Prompt-Muster sind:

  • Anleitung
<Overall instruction>
<Content to operate on>

Beispiel:

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.
  • Instruction-content-instruction
<Overall instruction or context setting>
<Content to operate on>
<Final instruction>

Beispiel:

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.
  • Fortsetzung. Manchmal kann das Modell den Text auch ohne Anweisungen fortsetzen. Hier ist beispielsweise ein Zero-Shot-Prompt, bei dem das Modell die Eingabe fortsetzen soll:
Once upon a time, there was a little sparrow building a nest in a farmer's
barn. This sparrow

Mit Zero-Shot-Prompts können Sie kreative Textformate wie Gedichte, Code, Drehbücher, Musikstücke, E-Mails oder Briefe generieren.

One-Shot-Prompts

Diese Prompts liefern dem Modell ein einzelnes Beispiel, um das Muster zu replizieren und fortzusetzen. So können vorhersehbare Antworten aus dem Modell generiert werden.

Sie können beispielsweise Lebensmittelkombinationen generieren:

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

Few-Shot-Prompts

Diese Prompts liefern dem Modell mehrere Beispiele, die es nachahmen soll. Verwenden Sie Prompts mit wenigen Prompts, um komplexe Aufgaben auszuführen, z. B. die Synthese von Daten basierend auf einem Muster.

Ein Beispiel für einen Prompt könnte sein:

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"}

Die generativen Modelle

In diesem Abschnitt soll die Frage beantwortet werden: Sind die Antworten generativer Modelle zufällig oder deterministisch?

Die kurze Antwort: Ja, in beiden Fällen. Wenn Sie ein generatives Modell mit einem Prompt auslösen, wird eine Textantwort in zwei Phasen generiert. In der ersten Phase verarbeitet das generative Modell den Eingabeprompt und generiert eine Wahrscheinlichkeitsverteilung über mögliche Tokens (Wörter), die wahrscheinlich als Nächstes kommen. Wenn Sie beispielsweise den Prompt „Der Hund sprang über das…“ eingeben, generiert das generative Modell eine Reihe wahrscheinlicher nächster Wörter:

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

Dieser Prozess ist deterministisch. Ein generatives Modell erzeugt jedes Mal dieselbe Verteilung, wenn es denselben Prompt-Text eingibt.

In der zweiten Phase wandelt das generative Modell diese Verteilungen mithilfe einer von mehreren Dekodierungsstrategien in tatsächliche Textantworten um. Bei einer einfachen Dekodierungsstrategie wird bei jedem Zeitschritt das wahrscheinlichste Token ausgewählt. Dieser Prozess ist immer deterministisch. Sie können aber auch eine Antwort generieren, indem Sie zufällige Stichproben anhand der vom Modell zurückgegebenen Verteilung abrufen. Dieser Prozess wäre stochastisch (zufällig). Mit der Temperatur können Sie den zulässigen Grad der Zufälligkeit bei diesem Dekodierungsprozess steuern. Eine Temperatur von 0 bedeutet, dass nur die wahrscheinlichsten Tokens ausgewählt werden und es keine Zufälligkeit gibt. Umgekehrt führt eine hohe Temperatur zu einer hohen Zufälligkeit der vom Modell ausgewählten Tokens, was zu unerwarteteren, überraschenderen Modellantworten führt.

Weitere Informationen

  • Nachdem Sie jetzt mehr über Prompts und generative Modelle erfahren haben, können Sie mit Google AI Studio eigene Prompts erstellen.
  • Weitere Informationen zu Best Practices zum Erstellen von Prompts finden Sie in den Richtlinien für Aufforderungen.