Freigeben über


Generative KI mit Azure Database for PostgreSQL – Flexibler Server

GILT FÜR: Azure Database for PostgreSQL – Flexibler Server

Generative KI (GenAI) bezieht sich auf eine Klasse von Algorithmen der künstlichen Intelligenz, die aus vorhandenen Multimediainhalten lernen und neue Inhalte erzeugen können. Der produzierte Inhalt kann mithilfe von Techniken wie Eingabeaufforderungen und Feinabstimmung angepasst werden. GenAI-Algorithmen wenden bestimmte Machine Learning-Modelle an:

  • Transformatoren und wiederkehrende neuronale Netzwerke (RNNs) für die Textgenerierung.
  • Generative Adversarial Networks (GANs) für die Bildgenerierung.
  • Variationale Autoencoder (VAEs) für die Bildgenerierung usw.

GenAI wird in der Bild- und Musiksynthese, im Gesundheitswesen und bei allgemeinen Aufgaben wie der automatischen Textvervollständigung, Textzusammenfassung und Übersetzung eingesetzt. GenAI-Techniken ermöglichen Features für Daten wie Clustering und Segmentierung, semantische Suche und Empfehlungen, Themenmodellierung, Fragebeantwortung und Anomalieerkennung.

OpenAI

OpenAI ist eine Forschungseinrichtung für künstliche Intelligenz (KI) und ein Technologieunternehmen, das für seine Pionierarbeit auf dem Gebiet der künstlichen Intelligenz und des maschinellen Lernens bekannt ist. Ihr Ziel ist es, sicherzustellen, dass künstliche allgemeine Intelligenz (AGI), d. h. hochgradig autonome KI-Systeme, die den Menschen bei den meisten wirtschaftlich wertvollen Arbeiten übertreffen können, der gesamten Menschheit zugutekommt. OpenAI brachte modernste generative Modelle wie GPT-3, GPT-3, GPT-3.5 und GPT-4 (Generative Pretrained Transformer) auf den Markt.

Azure OpenAI ist das LLM-Dienstangebot von Azure, das die Entwicklung von GenAI-Anwendungen mit Azure unterstützt. Azure OpenAI Service bietet den Kund*innen eine fortschrittliche Sprach-KI mit OpenAI GPT-4, GPT-3, Codex-, DALL-E und Whisper-Modellen mit der von Azure zugesicherten Sicherheit und Eignung für Unternehmen. Azure OpenAI entwickelt die APIs gemeinsam mit OpenAI, um Kompatibilität und einen reibungslosen Übergang von einer zur anderen zu gewährleisten.

Mit Azure OpenAI erhalten Kunden die Sicherheitsfunktionen von Microsoft Azure, wobei sie die gleichen Modelle wie OpenAI ausführen. Azure OpenAI bietet private Netzwerke, regionale Verfügbarkeit und verantwortungsvolle KI-Inhaltsfilterung.

Weitere Informationen zu Azure OpenAI.

Großes Sprachmodell (LLM)

Ein Großes Sprachmodell (LLM) ist eine Art von KI-Modell, das auf riesigen Mengen von Textdaten trainiert wird, um menschenähnliche Sprache zu verstehen und zu erzeugen. LLMs basieren in der Regel auf Deep Learning-Architekturen, z. B. Transformatoren, und sie sind bekannt dafür, dass sie eine Vielzahl von natürlichen Sprachverständnis- und Generierungsaufgaben ausführen können. Das GPT von OpenAI, das ChatGPT betreibt, ist ein LLM.

Zu den wichtigsten Merkmalen und Funktionen großer Sprachmodelle gehören:

  • Skalierung: Charakteristisch für die LLM-Architektur ist die enorme Skalierung in Bezug auf die Anzahl der verwendeten Parameter. Modelle wie GPT-3 (Generative Pretrained Transformer 3) enthalten Hunderte von Millionen bis Billionen an Parametern, mit denen sie komplexe Muster in der Sprache erfassen können.
  • Vortraining: LLMs durchlaufen ein Vortraining auf einem großen Korpus von Textdaten aus dem Internet, das es ihnen ermöglicht, Grammatik, Syntax, Semantik und ein breites Spektrum an Wissen über Sprache und die Welt zu lernen.
  • Feinabstimmung: Nach dem Vortraining können LLMs auf bestimmte Aufgaben oder Domänen mit kleineren, aufgabenspezifischen Datasets abgestimmt werden. Mit diesem Feinabstimmungsprozess können sie sich an spezialisiertere Aufgaben anpassen, z. B. Textklassifizierung, Übersetzung, Zusammenfassung und Fragebeantwortung.

GPT

GPT steht für Generative Pretrained Transformer und bezieht sich auf eine Reihe großer Sprachmodelle, die von OpenAI entwickelt wurden. Bei den GPT-Modellen handelt es sich um neuronale Netze, die mit großen Datenmengen aus dem Internet trainiert wurden, so dass sie in der Lage sind, menschenähnliche Texte zu verstehen und zu erzeugen.

Hier ist eine Übersicht über die wichtigsten GPT-Modelle und ihre wichtigsten Merkmale:

GPT-3: veröffentlicht im Juni 2020, ist ein bekanntes Modell der GPT-Serie. Es hat 175 Milliarden Parameter und macht es zu einem der größten und leistungsstärksten Sprachmodelle. GPT-3 erzielte eine bemerkenswerte Leistung bei einer breiten Palette natürlicher Sprachverständnis- und Generierungsaufgaben. Es kann Aufgaben wie das Vervollständigen von Texten, Übersetzen, Beantworten von Fragen und vieles mehr so flüssig wie ein Mensch erledigen. GPT-3 ist in verschiedene Modellgrößen unterteilt, von den kleinsten (125M Parameter) bis hin zu den größten (175B Parameter).

GPT-4: das neueste GPT-Modell von OpenAI, hat 1,76 Billionen Parameter.

Vektoren

Ein Vektor ist ein mathematisches Konzept, das in der linearen Algebra und Geometrie verwendet wird, um Größen darzustellen, die sowohl einen Betrag als auch eine Richtung haben. Im Kontext des maschinellen Lernens werden Vektoren häufig verwendet, um Datenpunkte oder Features darzustellen.

Im Folgenden finden Sie einige wichtige Vektorattribute und -vorgänge:

  • Größenordnung: Die Länge oder Größe eines Vektors, oft als seine Norm bezeichnet, stellt die Größe der Daten dar, die er repräsentiert. Es ist eine nicht negative reelle Zahl.
  • Richtung: gibt die Ausrichtung oder den Winkel der Menge an, die sie im Verhältnis zu einem Bezugspunkt oder Koordinatensystem darstellt.
  • Komponenten: Ein Vektor kann in seine Komponenten entlang verschiedener Achsen oder Dimensionen zerlegt werden. In einem 2D-Kartesischen Koordinatensystem kann ein Vektor als (x, y) dargestellt werden, wobei x und y ihre Komponenten entlang der X-Achse bzw. der Y-Achse sind. Ein Vektor in n-Dimensionen ist ein n-Tupel {x1, x2... xn}.
  • Addition und Skalarmultiplikation: Vektoren können addiert werden, um neue Vektoren zu bilden, und sie können mit Skalaren (reellen Zahlen) multipliziert werden.
  • Punktprodukt und Kreuzprodukt: Vektoren können mit Hilfe von Punktprodukten (Skalarprodukt) und Kreuzprodukten (Vektorprodukt) kombiniert werden.

Vektordatenbanken

Eine Vektordatenbank, auch als Vektordatenbank-Verwaltungssystem (Vector Database Management System, DBMS) bezeichnet, ist ein Datenbanksystemtyp, der zum effizienten Speichern, Verwalten und Abfragen von Vektordaten entwickelt wurde. Herkömmliche relationale Datenbanken behandeln in erster Linie strukturierte Daten in Tabellen, während Vektordatenbanken für die Speicherung und das Abrufen von mehrdimensionalen Datenpunkten optimiert sind, die als Vektoren dargestellt werden. Diese Datenbanken sind nützlich für Anwendungen, bei denen Vorgänge wie Ähnlichkeitssuchen, Geospatialdaten, Empfehlungssysteme und Clustering beteiligt sind.

Dies sind einige wichtige Merkmale von Vektordatenbanken:

  • Vektorspeicher: Vektordatenbanken speichern Datenpunkte als Vektoren mit mehreren Dimensionen. Jede Dimension stellt ein Feature oder Attribut des Datenpunkts dar. Diese Vektoren können eine breite Palette von Datentypen darstellen, darunter numerische, kategoriale und textuelle Daten.
  • Effiziente Vektorvorgänge: Vektordatenbanken sind für die Durchführung von Vektorvorgängen optimiert, z. B. Vektorzugabe, Subtraktion, Punktprodukte und Ähnlichkeitsberechnungen (z. B. Kosinusähnlichkeit oder Euklidischer Abstand).
  • Effiziente Suche: Effiziente Indizierungsmechanismen sind entscheidend für das schnelle Auffinden ähnlicher Vektoren. Vektordatenbanken verwenden verschiedene Indizierungsmechanismen, um einen schnellen Abruf zu ermöglichen.
  • Abfragesprachen: Sie stellen Abfragesprachen und APIs bereit, die auf Vektorvorgänge und Ähnlichkeitssuche zugeschnitten sind. Mit diesen Abfragesprachen können Benutzer ihre Suchkriterien effizient ausdrücken.
  • Ähnlichkeitssuche: Sie glänzen bei der Ähnlichkeitssuche und ermöglichen es den Nutzern, Datenpunkte zu finden, die einem bestimmten Abfragepunkt ähnlich sind. Diese Eigenschaft ist in Such- und Empfehlungssystemen wertvoll.
  • Handhabung von Geodaten: Einige Vektordatenbanken sind für Geospatialdaten konzipiert und eignen sich daher gut für Anwendungen wie standortbezogene Dienste, GIS (Geografische Informationssysteme) und kartenbezogene Aufgaben.
  • Unterstützung für verschiedene Datentypen: Vektordatenbanken können verschiedene Datentypen speichern und verwalten, einschließlich Vektoren, Bilder, Text und mehr.

PostgreSQL kann mit Hilfe der pgvector Erweiterung die Fähigkeiten einer Vektordatenbank erlangen.

Einbettungen

Einbettungen sind ein Konzept in der Maschinellen Lern- und Sprachverarbeitung (Natural Language Processing, NLP), das Objekte wie Wörter, Dokumente oder Entitäten als Vektoren in einem mehrdimensionalen Raum darstellt. Diese Vektoren sind oft dicht, d. h. sie haben eine hohe Anzahl von Dimensionen, und sie werden durch verschiedene Techniken gelernt, darunter auch neuronale Netze. Einbettungen zielen darauf ab, semantische Beziehungen und Ähnlichkeiten zwischen Objekten in einem fortlaufenden Vektorraum zu erfassen.

Zu den gängigen Arten von Einbettungen gehören:

  • Wort: In NLP stellen Einbettungen Wörter als Vektoren dar. Jedes Wort wird einem Vektor in einem hochdimensionalen Raum zugeordnet, in dem Wörter mit ähnlichen Bedeutungen oder Kontexten näher aneinander liegen. Word2Vec und GloVe sind beliebte Techniken zum Einbetten von Wörtern.
  • Dokument: Diese stellen Dokumente als Vektoren dar. Doc2Vec wird häufig verwendet, um Dokumenteinbettungen zu erstellen.
  • Bild: Bilder können als Einbettungen dargestellt werden, um visuelle Features zu erfassen, sodass Aufgaben wie die Objekterkennung möglich sind.

Einbettungen sind zentral für die Darstellung komplexer, hochdimensionaler Daten in einem Formular, das von Machine Learning-Modellen leicht verarbeitet werden kann. Sie können auf großen Datasets trainiert und dann als Merkmale für verschiedene Aufgaben verwendet werden und werden von LLMs verwendet.

PostgreSQL kann die Funktionen zum Generieren von Vektoreinbettungen mit der Azure AI-Erweiterung OpenAI-Integration gewinnen.

Szenarien

Generative KI hat eine breite Palette von Anwendungen in verschiedenen Bereichen und Branchen, darunter Technologie, Gesundheitswesen, Unterhaltung, Finanzen, Produktion und mehr. Im Folgenden finden Sie einige allgemeine Aufgaben, die mit generativer KI durchgeführt werden können:

  • Semantische Suche:
    • GenAI ermöglicht die semantische Suche nach Daten anstelle der lexikographischen Suche. Letztere sucht nach exakten Übereinstimmungen mit Abfragen, während die semantische Suche Inhalte findet, die der Suchabfrageabsicht entsprechen.
  • Chatbots und virtuelle Assistenten:
    • Entwickeln Sie Chatbots, die sich an natürlichen kontextbewussten Unterhaltungen beteiligen können, um beispielsweise Selbsthilfe für Kunden zu implementieren.
  • Empfehlungssysteme:
    • Verbessern Sie Empfehlungsalgorithmen, indem Sie Einbettungen oder Darstellungen von Elementen oder Benutzern generieren.
  • Clustering und Segmentierung:
    • GenAI-generierte Einbettungen ermöglichen Clustering-Algorithmen zum Clustern von Daten, sodass ähnliche Daten gruppiert werden. Dies ermöglicht Szenarien wie die Kundensegmentierung, die es Werbetreibenden ermöglicht, ihre Kunden auf der Grundlage ihrer Eigenschaften unterschiedlich anzusprechen.
  • Inhaltsgenerierung:
    • Textgenerierung: Generieren Sie menschenähnlichen Text für Anwendungen wie Chatbots, Roman-/ Poesie-Kreationen und natürliches Sprachverständnis.
    • Bildgenerierung: Erstellen Sie realistische Bilder, Grafiken oder Designs für Grafiken, Unterhaltung und Werbung.
    • Videogenerierung: Generieren Sie Videos, Animationen oder Videoeffekte für Filme, Spiele und Marketing.
    • Musikgenerierung.
  • Übersetzung:
    • Text von einer Sprache in eine andere übersetzen.
  • Zusammenfassung:
    • Fassen Sie lange Artikel oder Dokumente zusammen, um wichtige Informationen zu extrahieren.
  • Datenerweiterung:
    • Generieren Sie zusätzliche Datenbeispiele, um Schulungsdatensätze für ML-Modelle (Machine Learning) zu erweitern und zu verbessern.
    • Erstellen Sie synthetische Daten für Szenarien, deren Erfassung in der realen Welt schwierig oder teuer ist, z. B. in der medizinischen Bildgebung.
  • Erkennung von Medikamenten:
    • Generieren Sie molekulare Strukturen und prognostizieren Sie potenzielle Arzneimittelkandidaten für die pharmazeutische Forschung.
  • Spieleentwicklung:
    • Erstellen Sie Spielinhalte, einschließlich Levels, Charaktere und Texturen.
    • Erstellen Sie realistische Spielumgebungen und Landschaften.
  • Datenentrauschung und -vervollständigung:
    • Bereinigung verrauschter Daten durch Generierung sauberer Datenproben.
    • Geben Sie fehlende oder unvollständige Daten in Datasets ein.