Informationen zu generativen Modellen

Modelle der generativen künstlichen Intelligenz (KI) wie die Gemini-Modellfamilie sind in der Lage, Inhalte aus verschiedenen Arten von Dateneingaben wie Text, Bilder und Audio zu erstellen. Auf der einfachsten Ebene funktionieren diese Modelle wie anspruchsvolle Anwendungen zur automatischen Vervollständigung. Anhand von Eingabetexten („Sie können ein Pferd zu Wasser führen“) kann ein generatives Modell anhand von Mustern, die aus den Trainingsdaten gewonnen wurden, den Ausgabetext vorhersagen, dem statistisch wahrscheinlich wahrscheinlich gefolgt ist („aber man kann es nicht trinken lassen“). Sie können diese grundlegende Eigenschaft generativer Modelle für verschiedene Anwendungen verwenden:

  • Kreatives Schreiben wie Gedichte, Kurzgeschichten, Metaphern und Blogposts erstellen
  • Strukturierte Daten in freien Text umwandeln
  • Informationen aus freiem Text extrahieren und zusammenfassen
  • Code erstellen
  • Zwischen Sprachen übersetzen

Die Verwendung von generativen Modellen zum Erstellen dieser Features erfordert keine Kenntnisse im maschinellen Lernen (ML). Sie müssen kein großes Dataset erfassen oder ein Modell trainieren. Zum Starten Ihres ersten Prototyps müssen Sie lediglich in wenigen 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-Modellfamilie kann mehr als Textdaten verarbeiten, und obwohl sie die Funktionen eines LLM ausführen können, sind sie besser als generative Modelle bekannt.

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
*   ...

Mit generativen Modellen können Sie viele nützliche Verhaltensweisen wie dieses erzeugen, indem Sie einfach den richtigen Eingabetext, auch Prompt genannt, erstellen. Die Kunst und Wissenschaft, die richtigen Formulierungen zu finden, damit generative Modelle das tun, was Sie möchten, wird als Prompt-Design (auch als „Prompt Engineering“ oder einfach „Prompting“ bezeichnet) bezeichnet.

Prompt-Design (Erste Schritte)

Im vorherigen Abschnitt wurden einige Beispiele für Prompts gezeigt, die eine Anweisung enthalten, z. B. „Schreib mir ein Gedicht“. Diese Art der Anweisung eignet sich gut für bestimmte Arten von Aufgaben. Bei anderen Anwendungen eignet sich jedoch möglicherweise eine andere Prompt-Methode, die als Wenige Prompts bezeichnet wird. Nur wenige Prompts nutzen die Tatsache, dass Large Language Models äußerst gut darin sind, Muster in Textdaten zu erkennen und zu replizieren. Die Idee ist, dem generativen Modell ein Textmuster zu senden, das es lernen muss. Angenommen, Sie möchten eine Anwendung erstellen, die als Eingabe einen Ländernamen annimmt und seine Hauptstadt ausgibt. Hier ist ein Text-Prompt, der genau dazu entwickelt wurde:

Italy : Rome
France : Paris
Germany :

In diesem Prompt legen Sie ein Muster fest: [country] : [capital]. Wenn Sie diese Aufforderung an ein Large Language Model senden, vervollständigt es das Muster automatisch und gibt in etwa Folgendes zurück:

     Berlin
Turkey : Ankara
Greece : Athens

Diese Modellantwort sieht möglicherweise etwas seltsam aus. Das Modell hat nicht nur die Hauptstadt Deutschland (das letzte Land in Ihrem handschriftlichen Prompt) zurückgegeben, sondern auch eine ganze Liste mit zusätzlichen Länder- und Kapitalpaaren. Das liegt daran, dass das generative Modell „das Muster fortsetzt“. Wenn Sie lediglich eine Funktion erstellen möchten, die Ihnen die Hauptstadt eines Eingabelandes ("Deutschland: Berlin") aussagt, ist der Text, den das Modell nach "Berlin" generiert, wahrscheinlich unwichtig. Als Anwendungsdesigner werden Sie diese überflüssigen Beispiele wahrscheinlich kürzen. Außerdem sollten Sie die Eingabe wahrscheinlich parametrisieren, sodass Deutschland kein fester String, sondern eine Variable ist, die der Endnutzer bereitstellt:

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

Sie haben gerade einen Prompt zur Erzeugung von Landeshauptstädten verfasst.

Mit dieser Vorlage für wenige Prompts können Sie eine große Anzahl von Aufgaben ausführen. Hier ist eine kurze Aufforderung mit einem etwas anderen Format, das 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:

Sie können auch diese Eingabeaufforderung vom Typ „Umgekehrtes Wörterbuch“ verwenden. Nach einer Definition wird das Wort zurückgegeben, das dieser Definition entspricht:

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:

Vielleicht haben Sie bemerkt, dass das genaue Muster dieser wenigen Aufnahme-Prompts leicht variiert. Die Angabe von Beispielen ist eine zusätzliche Strategie, die Sie beim Schreiben eigener Prompts in Betracht ziehen sollten, da dies hilft, dem Modell Ihre Absichten mitzuteilen.

Prompts und herkömmliche Softwareentwicklung im Vergleich

Im Gegensatz zu herkömmlicher Software, die nach sorgfältig geschriebenen Spezifikationen entwickelt wurde, ist das Verhalten von generativen Modellen selbst für Modelltrainer weitgehend undurchsichtig. Daher können Sie oft nicht im Voraus sagen, welche Arten von Prompt-Strukturen für ein bestimmtes Modell am besten geeignet sind. Darüber hinaus wird das Verhalten eines generativen Modells zum großen Teil von seinen Trainingsdaten bestimmt. Da Modelle kontinuierlich auf neue Datasets abgestimmt werden, ändert sich das Modell manchmal so weit, dass versehentlich geändert wird, welche Prompt-Strukturen am besten funktionieren. Was bedeutet das für Sie? Experimentieren Sie. Probieren Sie verschiedene Aufforderungsformate aus.

Modellparameter

Jede Aufforderung, die 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 häufigsten Modellparameter sind:

  1. Max. Ausgabetokens: 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 während der Antwortgenerierung für die Stichprobennahme verwendet, was erfolgt, wenn topP und topK angewendet werden. Niedrigere Temperaturen eignen sich gut für Prompts, die eine deterministischere oder weniger offene Antwort erfordern, während höhere Temperaturen zu vielfältigeren oder kreativen Ergebnissen führen können. Eine Temperatur von 0 ist deterministisch, was bedeutet, dass immer die Antwort mit der höchsten Wahrscheinlichkeit ausgewählt wird.

  3. topK: Der Parameter topK ändert, wie das Modell Tokens für die Ausgabe auswählt. Ein topK von 1 bedeutet, dass das ausgewählte Token das wahrscheinlichste unter allen Tokens im Vokabular des Modells ist (auch als „Greedy Decoding“ bezeichnet). Ein topK von 3 bedeutet, dass das nächste Token aus den drei wahrscheinlichsten Tokens ausgewählt wird, die die Temperatur verwenden. Für jeden Schritt zur Tokenauswahl werden die topK-Tokens mit den höchsten Wahrscheinlichkeiten stichprobenartig erhoben. Die Tokens werden dann anhand von topP weiter gefiltert, wobei das endgültige Token über Temperaturstichproben ausgewählt wird.

  4. topP: Der Parameter topP ä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. Wenn die Tokens A, B und C beispielsweise eine Wahrscheinlichkeit von 0,3, 0,2 und 0,1 haben und der Wert von topP 0,5 ist, wählt das Modell entweder A oder B als nächstes Token aus und verwendet die Temperatur und schließt C als Kandidaten aus. Der Standardwert für topP ist 0,95.

  5. stop_sequences: Legen Sie eine Stoppsequenz fest, um das Modell anzuweisen, das Generieren von Inhalten zu beenden. Eine Stoppsequenz kann eine beliebige Folge von Zeichen sein. Vermeiden Sie nach Möglichkeit eine Zeichenfolge, die im generierten Inhalt vorkommen könnte.

Arten von Prompts

Abhängig vom Umfang der darin enthaltenen Kontextinformationen werden Prompts grob in drei Typen unterteilt.

Zero-Shot-Prompts

Diese Prompts enthalten keine Beispiele für das Modell, das repliziert werden soll. Zero-Shot-Aufforderungen zeigen im Wesentlichen die Fähigkeit des Modells, die Aufforderung ohne zusätzliche Beispiele oder Informationen auszuführen. Das bedeutet, dass sich das Modell auf das vorhandene 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.
  • Anleitung
<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 der Text des Modells ohne Anleitung fortgesetzt werden. Hier ist beispielsweise eine Zero-Shot-Eingabeaufforderung, bei der das Modell die bereitgestellte 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 lassen sich kreative Textformate wie Gedichte, Codes, Skripte, Musikstücke, E-Mails oder Briefe generieren.

One-Shot-Prompts

Diese Aufforderungen bieten dem Modell ein einziges Beispiel, um das Muster zu replizieren und fortzusetzen. Dies ermöglicht das Generieren vorhersehbarer Antworten aus dem Modell.

Du kannst beispielsweise folgende Lebensmittelpaare erstellen:

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

Wenige Aufnahme-Prompts

Diese Prompts liefern dem Modell mehrere Beispiele, die reproduziert werden können. Verwenden Sie nur wenige Aufforderungen, um komplizierte Aufgaben wie das Zusammenführen von Daten anhand eines Musters auszuführen.

Hier ein Beispiel:

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

Generative Modelle im Hintergrund

In diesem Abschnitt geht es um die Frage: Gibt es Zufälligkeit in den Antworten generativer Modelle oder sind sie deterministisch?

Die kurze Antwort: Ja auf beides. Wenn Sie ein generatives Modell auffordern, wird in zwei Phasen eine Textantwort generiert. In der ersten Phase verarbeitet das generative Modell die Eingabeaufforderung und generiert eine Wahrscheinlichkeitsverteilung über mögliche Tokens (Wörter), die wahrscheinlich als Nächstes kommen. Wenn Sie beispielsweise die Aufforderung mit dem Eingabetext „Der Hund ist über... gesprungen...“ erstellen, erzeugt das generative Modell ein Array wahrscheinlicher nächster Wörter:

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

Dieser Prozess ist deterministisch. Ein generatives Modell erzeugt dieselbe Verteilung jedes Mal, wenn der gleiche Prompt-Text eingegeben wird.

In der zweiten Phase wandelt das generative Modell diese Verteilungen mithilfe einer von mehreren Decodierungsstrategien in tatsächliche Textantworten um. Bei einer einfachen Decodierungsstrategie kann bei jedem Zeitschritt das wahrscheinlichste Token ausgewählt werden. Dieser Prozess wäre immer deterministisch. Sie können stattdessen auch eine Antwort durch zufällige Stichproben der vom Modell zurückgegebenen Verteilung generieren. Dieser Vorgang wäre zufällig (zufällig). Sie können den Grad der Zufälligkeit steuern, der in diesem Decodierungsprozess zulässig ist, indem Sie die Temperatur festlegen. Bei einer Temperatur von 0 werden nur die wahrscheinlichsten Tokens ausgewählt und es gibt keine Zufälligkeit. Umgekehrt führt eine hohe Temperatur zu einem hohen Maß an Zufälligkeit in die vom Modell ausgewählten Tokens, was zu unerwarteten, überraschenden Modellantworten führt.

Weitere Informationen

  • Nachdem Sie nun ein tieferes Verständnis von Prompts und generativen Modellen haben, versuchen Sie, Ihre eigenen Prompts mit Google AI Studio zu schreiben.
  • In den Richtlinien für Aufforderungen finden Sie weitere Informationen zu Best Practices zum Erstellen von Aufforderungen.