Freigeben über


Funktionsweise von generativer KI und LLMs

Generative KI ist eine Art künstlicher Intelligenz, die originale Inhalte erstellen kann, z. B. natürliche Sprache, Bilder, Audio und Code. Die Ausgabe einer generativen KI basiert auf den vom Benutzer bereitgestellten Eingaben. Eine gängige Möglichkeit für Benutzer, mit generativer KI zu interagieren, besteht in Chatanwendungen, die natürliche Sprache als Eingabe verwenden. ChatGPT, entwickelt von OpenAI, ist ein beliebtes Beispiel dafür. Generative KI-Anwendungen, die natürliche Sprache als Eingabe verwenden, werden durch große Sprachmodelle (Large Language Models, LLMs) unterstützt, um die Verarbeitung natürlicher Sprachen (Natural Language Processing, NLP) durchzuführen.

Funktionsweise von generativer KI

Generative KI basiert immer auf Modellen. Diese Modelle werden mit großen Datenmengen in Form von Inhalten trainiert, z. B. natürlicher Sprache, Bilder, Audio und Code. Generative KI-Modelle verwenden die in den Trainingsdaten identifizierten Muster, um neue, statistisch ähnliche Inhalte zu erzeugen.

Die vom Benutzer bereitgestellte Eingabe wird vom KI-Modell verwendet, um eine Ausgabe zu erstellen. Die Eingabe wird zunächst in eine Form von Daten analysiert, die das Modell verstehen kann. Anschließend verwendet das Modell diese Daten, um übereinstimmende Muster aus dem Training zu identifizieren, die zum Erstellen der endgültigen Ausgabe kombiniert werden. Generative KI-Modelle sind so konzipiert, dass sie einzigartige Inhalte erzeugen, sodass sie nicht dieselbe Ausgabe für identische Eingaben generieren.

Generative KI-Anwendungen, die natürliche Sprache als Eingabe oder Ausgabe unterstützen, nutzen dazu LLMs. Das LLM wird verwendet, um NLP durchzuführen, das den Eingabetext klassifiziert und seine Stimmung bestimmt. Diese Klassifizierungs- und Stimmungsanalyse wird vom generativen KI-Modell verwendet, um Muster zu identifizieren und die Ausgabe zu erstellen. Wenn die Ausgabe Text ist, kann das LLM allein verwendet werden, um sie zu generieren. Wenn die Ausgabe Audio oder Bilder ist, werden zusätzliche Modelle verwendet, um die Daten und Muster zum Generieren von Ausgaben in diesem Format bereitzustellen.

Häufige Verwendungen von generativer KI

Generative KI-Anwendungen unterstützen eine Vielzahl potenzieller Anwendungsfälle und potenzieller Ausgaben, die in den folgenden Abschnitten untersucht werden.

Generierung natürlicher Sprache

Einige generative KI-Anwendungen können Ausgaben für natürliche Sprachen erzeugen, z. B.:

  • Professionell formulierte Zusammenfassungen für ein LinkedIn-Profil
  • Umfassende Beschreibungen von Elementen in einem Online-Shop
  • Ideen für gesunde Mahlzeiten

Wenn die Benutzereingabe beispielsweise Gib mir drei Ideen für ein gesundes Frühstück mit Paprika lautet, kann eine generative KI-Anwendung die folgende Ausgabe erzeugen:

OK, hier sind drei gesunde Frühstücksgerichte, die Paprika enthalten:

  1. Rührei mit Paprika: Würfeln Sie einige Paprikaschoten und braten Sie sie in einer Pfanne an, bis sie etwas weicher sind. Geben Sie dann einige verquirlte Eier hinzu, und vermengen Sie alles miteinander. Servieren Sie das Rührei auf einem Vollkorntoast – schon haben Sie ein nahrhaftes Frühstück.

  2. Toast mit Paprika und Avocado: Toasten Sie eine Scheibe Vollkornbrot und belegen Sie sie mit in Scheiben geschnittener Paprika, pürierter Avocado und einer Prise Salz und Pfeffer. Auf diese Weise erhalten Sie gesunde Fette aus der Avocado und das Vitamin C aus der Paprika.

  3. Frühstücks-Burrito mit Paprika: Braten Sie einige gewürfelte Paprikaschoten, Zwiebeln und Rührei in einer Pfanne an. Dann geben Sie die Mischung auf eine Vollkorntortilla, und garnieren sie mit etwas Salsa oder scharfer Soße. Rollen Sie ihn zusammen, und lassen Sie sich ein sättigendes und nahrhaftes Frühstück schmecken.

Bildgenerierung

Einige generative KI-Anwendungen erzeugen Bildausgaben aus natürlichen Spracheingaben. Abhängig von der Anwendung und den zugehörigen Modellen können Benutzer möglicherweise Folgendes angeben:

  • Die Personen oder Elemente, die das Bild zeigen soll
  • Der künstlerische Stil zum Erstellen des Bilds
  • Verweise zum Generieren ähnlicher Bilder

Die Bildgenerierung kann virtuelle Avatare für Onlinekonten erstellen, Logos für ein Unternehmen entwerfen oder künstlerische Inspirationen für Ersteller bereitstellen. Beispielsweise kann ein Benutzer die Anforderung eingeben: Erstelle ein Bild eines Elefanten, der einen Burger isst. Eine generative KI-Anwendung kann die folgende Ausgabe erzeugen:

Beispiel eines KI-generierten Bilds eines Elefanten, der einen Hamburger isst.

Audiogenerierung

Einige generative KI-Anwendungen erzeugen Audioausgaben aus natürlichen Spracheingaben. Abhängig von der Anwendung und den zugehörigen Modellen können Benutzer:

  • Natürlich klingende Stimmen aus Eingabetext synthetisieren
  • Musik in einem bestimmten Stil oder mit bestimmten Instrumenten erstellen
  • Eingabeaudiodateien basierend auf einem festgelegten Kriterium in natürlicher Sprache ändern

Die Audiogenerierung kann gesprochene Antworten von digitalen Sprachassistenten bereitstellen, Hintergrundinstrumente zu Songs für die Musikproduktion hinzufügen oder die ursprüngliche Stimme eines Benutzers aus Referenzaufzeichnungen reproduzieren.

Codegenerierung

Einige generative KI-Anwendungen erzeugen Code aus natürlichen Spracheingaben. Abhängig von der Anwendung und den zugehörigen Modellen können Benutzer möglicherweise Code generieren, der:

  • In der Sprache ihrer Wahl ist
  • Eine bestimmte Eingabe- und Ausgabestruktur akzeptiert
  • Spezifische Technologien basierend auf ihrer Referenzdokumentation verwendet

Die Codegenerierung kann schnelle Implementierungen allgemeiner Vorgänge bereitstellen, z. B. Sortieren oder Filtern von Daten, Beschleunigen der Übersetzung von Code von einer Sprache in eine andere oder Beantworten von Fragen zu einer Technologie basierend auf der angegebenen Referenzdokumentation. Beispielsweise kann eine generative KI-Anwendung aus der Eingabe „Zeige mir, wie ein Tic-Tac-Toe-Spiel mit C# codiert wird“ die folgende Ausgabe erzeugen:

Hier ist ein einfaches Beispiel dafür, wie Sie ein Tic-Tac-Toe-Spiel in C# codieren können:

using System;

namespace TicTacToe
{
    class Program
    {
        static char[] board = { '1', '2', '3', '4', '5', '6', '7', '8', '9' };
        static int player = 1; // Player 1 will start
        static int choice; // The number the player chooses
        static int flag = 0; // Set the flag value to 0

        // Check if the position is already marked or not
        private static int CheckPosition(char mark)
        {
            for (int i = 0; i < 9; i++)
            {
                if (board[i] == mark)
                {
                    return 1;
                }
            }
            return 0;
        }

        // The rest of the generated code has been omitted for brevity
        // ...
    }
}

Dieser Code erstellt ein einfaches konsolenbasiertes Tic-Tac-Toe-Spiel in C#. Es verwendet ein eindimensionales Array, um das Spielfeld darzustellen und nach jedem Zug nach einem Gewinn oder Unentschieden zu suchen.

Funktionsweise von LLMs

Beim Trainieren eines LLM wird der Trainingstext zuerst in Token unterteilt. Jedes Token identifiziert einen eindeutigen Textwert. Ein Token kann ein eindeutiges Wort, ein Teilwort oder eine Kombination aus Wörtern und Satzzeichen sein. Jedem Token wird eine ID zugewiesen, mit der der Text als Sequenz von Token-IDs dargestellt werden kann.

Nachdem der Text in Token unterteilt wurde, wird jedem Token ein kontextbezogener Vektor zugewiesen, der als Einbettung bezeichnet wird. Diese Einbettungsvektoren sind mehrwertige numerische Daten, bei denen jedes Element des Tokenvektors ein semantisches Attribut des Tokens darstellt. Die Elemente des Tokenvektors werden basierend darauf bestimmt, wie häufig Token zusammen oder in ähnlichen Kontexten verwendet werden.

Ziel ist es, das nächste Token in der Sequenz basierend auf den vorherigen Token vorherzusagen. Jedem Token in der vorhandenen Sequenz wird eine Gewichtung zugewiesen, die ihren relativen Einfluss auf das nächste Token darstellt. Anschließend wird eine Berechnung durchgeführt, die die Gewichtungen und Einbettungen der vorherigen Token verwendet, um den nächsten Vektorwert vorherzusagen. Das Modell wählt dann das wahrscheinlichste Token aus, um die Sequenz basierend auf dem vorhergesagten Vektor fortzusetzen.

Dieser Prozess wird für jedes Token in der Sequenz iterativ fortgesetzt, wobei die Ausgabesequenz regressiv als Eingabe für die nächste Iteration verwendet wird. Die Ausgabe wird ein Token nach dem anderen erstellt. Diese Strategie entspricht der Funktionsweise der automatischen Fertigstellung, bei der Vorschläge auf der Grundlage der bisherigen Eingabe und mit jeder neuen Eingabe aktualisiert werden.

Während des Trainings ist die vollständige Abfolge von Token bekannt, aber alle Token, die nach dem derzeit betrachteten Token kommen, werden ignoriert. Der vorhergesagte Wert für den Vektor des nächsten Tokens wird mit dem tatsächlichen Wert verglichen, und der Verlust wird berechnet. Die Gewichtungen werden dann inkrementell angepasst, um den Verlust zu reduzieren und das Modell zu verbessern.