Freigeben über


Datenplattform für KI-Workloads in Azure

Eine Datenplattform ist ein integrierter Satz von Technologien, die zum Verwalten von Workloadanforderungen konzipiert sind, indem Quelldaten aufgenommen und dann gefiltert, aggregiert und für den Verbrauch vorbereitet werden.

Daten weisen unterschiedliche Merkmale auf, die auf ihrer beabsichtigten Verwendung basieren. Es wird dringend empfohlen, die Prinzipien eines guten Datenpipelinedesigns zu verstehen, bevor Sie die in diesem Artikel beschriebenen technologischen Funktionen erkunden. Weitere Informationen finden Sie unter "Entwurf von Schulungsdaten" und "Erdungsdatenentwurf".

Die Plattform erfüllt auch Speicheranforderungen, wenn Daten an bestimmten Stellen in der Pipeline ruhen. Wenn die Workload komplex ist und umfangreiche Daten verarbeitet, können Sie Pipelineaufgaben zwischen verschiedenen Komponenten verteilen. Bewerten Sie für einfachere Anwendungsfälle, ob Sie die Quelldaten in einem Speicher verwenden können, der diese kombinierten Funktionen bietet.

Stellen Sie sich die folgenden Fragen, damit Sie vermeiden können, eine übermäßig komplexe Architektur für Ihre Datenplattform zu entwerfen. Es ist immer am besten, dinge einfach zu halten, wenn Sie können.

  • Kann Ihre Anwendung die erwartete Vorhersageleistung haben, indem Sie Daten aus einer einzigen Quelle aufnehmen?
  • Unterstützt Ihre erste Wahl des Datenspeichers Data Warehouse-Funktionen?
  • Sind die Quelldaten bereits für KI-Suchvorgänge optimiert?

Wenn Sie diese Fragen mit "Ja" beantworten, können Sie Ihre Architektur vereinfachen, indem Sie der Anwendung den direkten Zugriff auf die Datenquelle ermöglichen. Dieser Ansatz beseitigt die Notwendigkeit von Big Data-Architekturkomponenten wie Datenaufnahme, Analysespeicherintegration und externe Datenverarbeitung. Wenn die Quelldatenbank die erforderlichen Suchvorgänge verarbeiten kann, kann die Direkte Integration der Suchindexfunktion in die Quelldatenbank ein praktischer Ansatz sein. Stellen Sie sicher, dass die Quelle kosteneffizient skaliert werden kann, um neue Anforderungen zu erfüllen.

Azure Cosmos DB unterstützt z. B. die Vektorsuche, daher benötigen Sie möglicherweise keinen anderen Index. Ein weiterer Anwendungsfall ist die Verwendung von Lesereplikaten als Endpunkte für Suchvorgänge. Bei SQL-Datenbanken mit Lesereplikaten können direkte Suchvorgänge an diese Replikate die Leistung optimieren. Nutzen Sie die integrierten Funktionen der Datenbank, um die Architektur so weit wie möglich zu vereinfachen.

Eine Datenplattformarchitektur für große Workloads ist komplexer.

Das Aufnehmen von Daten aus mehreren Datenquellen und das Orchestrieren von Suchvorgängen auf verschiedenen Plattformen kann komplex und ineffizient werden. Außerdem benötigen Sie noch einige Extrakte, Transformationen und Last (ETL); Extrahieren, Laden und Transformieren (ELT); oder extrahieren und laden (EL)-Prozesse, um die Daten im Datenspeicher neu zu gestalten. Das Szenario wird komplexer, da die Daten mehr Verarbeitung erfordern. Sie müssen der Architektur viele Komponenten hinzufügen, um die End-to-End-Pipeline von der Aufnahme bis zum Verarbeiten von Abfragen zu verarbeiten. Viele Big Data-Technologien sind hoch spezialisiert und wurden entwickelt, um diese Verarbeitungsaufgaben effektiv zu verarbeiten.

Eine solche Technologie ist der Suchindex. Der hauptvorteil des Hinzufügens eines separaten Indexes ist die Möglichkeit, Abfragen effizient zu verwalten und große Datenmengen zu verarbeiten, die einen hohen Durchsatz aufweisen. Diese Funktion entlädt KI-Funktionen aus der ursprünglichen Datenquelle, sodass sich der Index auf seine Hauptfunktion konzentrieren kann, um Abfragen zu verarbeiten.

Wählen Sie eine Plattform basierend auf ihrer spezifischen Funktionalität und ihrem Zweck aus, und berücksichtigen Sie Ihre funktionalen und technischen Anforderungen. Wenn sich Ihre Architektur entwickelt, um komplexe Anwendungsfälle zu behandeln, konzentrieren Sie sich auf die folgenden Abschnitte zu aggregierten Datenspeichern, Verarbeitungspipelinen und Suchindizes.

Empfehlungen

Hier ist die Zusammenfassung der Empfehlungen in diesem Artikel.

Empfehlung Beschreibung
Erstellen Sie sichere, leistungsfähige und kostengünstige Datenspeicher. Ein wichtiger Bestandteil Ihrer Datenplattform ist ein Datenspeicher, der Daten aus mehreren Quellen aggregiert und die Integration in verschiedene Integrationsaufgaben ermöglicht. Dies hilft Ihrer Arbeitsauslastung bei der skalierungsweiten Leistung. Überprüfen Sie unbedingt die verschiedenen funktionalen und nicht funktionalen Anforderungen Ihres Datenspeichers, um eine kostengünstige Bereitstellung sicherzustellen.

Überlegungen zum Speichern aggregierter Daten
Befolgen Sie bewährte Methoden für die Datenaufnahme und -verarbeitung. Hochwertige Daten tragen dazu bei, die Zuverlässigkeit Ihrer Arbeitsauslastung und die Endbenutzerfreundlichkeit zu verbessern. Berücksichtigen Sie die Anforderungen Ihrer Workload sowie die wichtigsten bewährten Methoden, um effiziente Aufnahme- und Datenübergangsprozesse zu erstellen, die dazu beitragen, eine hohe Qualität zu gewährleisten.

Überlegungen zur Verarbeitung von Daten
Entwerfen Sie zuverlässige und relevante Suchindizes. Zielen Sie auf einen leistungsfähigen, einmal schreibgeschützten Datenspeicher mit Lese-/Schreibvorgängen ab, der Sofort- und Fuzzyabfragen effizient verarbeitet und relevante Ergebnisse an Ihre Benutzerbasis liefert, auch wenn Abfragen nicht präzise sind.

Überlegungen für einen Suchindex
Stellen Sie sicher, dass funktionale Datenspeicher skaliert ausgeführt werden. Abhängig von den funktionalen Anforderungen Ihrer Arbeitsauslastung müssen Sie möglicherweise funktionale Datenspeicher erstellen, z. B. für die Offline-Ableitung. Es ist wichtig, dass Sie Datenspeicher mit ihrer festgelegten Funktion erstellen und bewährte Methoden für die Funktion anwenden.

Überlegungen für einen Featurespeicher
Überlegungen für einen Offline-Ableitungsdatenspeicher

Überlegungen zum Speichern aggregierter Daten

In KI-Workloads werden Daten mit Hilfe von Pipelines, die den Workflow zwischen diesen Phasen koordinieren, durch verschiedene Phasen der Speicherung und Verarbeitung verschoben. Eine wichtige Phase ist ein Datenspeicher, der Daten enthält, die aus mehreren Quellen erfasst und aggregiert werden. Sie benötigen diesen Speicher, um die Verarbeitung durchzuführen, bis die Daten einen geeigneten Zustand für Schulungen oder Indizierung erreicht haben. Der Hauptfokus liegt auf der Sicherstellung, dass die Daten ihre Quelle genau widerspiegeln.

Hinweis

Ein alternativer Ansatz besteht darin, direkt auf Datenquellen zuzugreifen. Dieser Ansatz kann jedoch zu Leistungsproblemen führen, da die Quellsysteme möglicherweise mit KI-Features überladen werden. Es können auch Datenzugriffsprobleme auftreten. Um diese Probleme zu vermeiden, empfehlen wir, Daten in diesen Speicher zu kopieren.

Die Datenplattform für diesen Speicher sollte die Sicherheitsstandards erfüllen, die auf Datenquellen angewendet werden, kosteneffizient sein und die Integration mit ETL-, ELT- und EL-Verarbeitungsaufgaben unterstützen. Die Optionen variieren von basisbasiertem Speicher bis hin zu Big Data-Technologien basierend auf dem Datenvolume. Wählen Sie kostengünstigen Speicher, der Ihnen dabei hilft, genügend Zuverlässigkeit und Leistung zu erzielen.

Der folgende Abschnitt enthält Anleitungen zu den Funktionen, die Sie berücksichtigen sollten, wenn Sie eine Datenspeichertechnologie auswählen. Weitere Informationen finden Sie unter Datenverarbeitungspipelinen.

Funktionsanforderungen

  • Kann die Plattform verschiedene Datenformate verarbeiten?

    Der Datenspeicher sollte in der Lage sein, verschiedene Datenformate zu speichern und bei Bedarf in andere Formate zu transformieren.

    Angenommen, Ihre Aufnahmepipelinequellen stammen aus einer relationalen Datenbank und einer Parkettdatei, sodass sie sowohl strukturierte als auch semistrukturierte Daten unterstützt. Sie möchten relationale Daten gemäß ihren Schemadefinitionen in das Parkettformat konvertieren. Die Datenplattform sollte über integrierte Funktionen verfügen, um diese Transformation zu erledigen, ohne benutzerdefinierten Code zu schreiben.

  • Erwarten Sie, dass mehrere Versionen der Daten gespeichert werden?

    Datenwerte und Schemas können sich im Laufe der Zeit ändern und die Verwaltung mehrerer Versionen der Daten wird wichtig.

    Quellsysteme speichern in der Regel nur aktuelle Daten, nicht historische Daten. Wenn es wichtig ist, historische Daten aufzubewahren, müssen Sie möglicherweise große Datensätze aus Quellsystemen duplizieren. In diesem Fall kann die Versionsverwaltung die aktuellen Daten aus historischen Daten unterscheiden.

    In einigen Fällen müssen Sie möglicherweise Kopien von Daten für unterschiedliche Anwendungsfälle verwalten. Um dieses Szenario zu unterstützen, müssen Sie möglicherweise Daten verzweigen. Jede Verzweigung kann unabhängig voneinander mutieren, um ihre Qualität und Nutzbarkeit zu verbessern. Ihre Datenplattform sollte in der Lage sein, die richtige Versionsverwaltung dieser Balken aufrechtzuerhalten.

    Ihre Datenplattform sollte in der Lage sein, Versionen von Daten im Laufe der Zeit zu speichern, um historischen Kontext bereitzustellen. Dieser Contetxt ist von Vorteil für die Verarbeitung und Schulung von KI-Modellen, da es mehrere Beobachtungen statt nur einen einzigen Zeitpunkt bietet.

  • Verfügt die Plattform über integrierte Funktionen für die Datenlebenszyklusverwaltung?

    Die Datenlebenszyklusverwaltung (Data Lifecycle Management, DLM) ist ein Prozess zum Verwalten von Daten von der Erstellung bis zum Löschvorgang mit Phasen wie Datensammlung, Speicherung, Verwendung, Archivierung und Entsorgung.

    Ohne DLM können Daten unkontrolliert wachsen, was oft zu mehreren Kopien führt, während sie sich durch Qualitätsstufen bewegt. Die Datenplattform sollte über DLM-Funktionen verfügen, um ein ungebundenes Datenwachstum zu verhindern.

    Betrachten Sie dieses Szenario. Der Vorverarbeitungsschritt muss wiederholt werden, um die Daten zu verfeinern, bis sie eine akzeptable Qualität für Schulungszwecke erreicht. Ihre Datenplattform sollte in der Lage sein, Zwischenkopien der Daten zu löschen.

    In einigen Fällen müssen Sie möglicherweise Daten für behördliche Prüfungen aufbewahren. Die Datenplattform sollte über Kaltspeicherfunktionen für selten zugängliche Daten verfügen, damit Sie sie zu niedrigeren Kosten archivieren können.

  • Unterstützt die Plattform Data Governance-Features?

    Die Auditierbarkeit ist ein wichtiger Aspekt für KI-Workloads. Der Datenspeicher sollte Überwachungspfade verwalten, die den Datenzugriff nachverfolgen, den Datenschutz sicherstellen und Datenherkunft verstehen können.

    Verwenden Sie ein Datenwörterbuchfeature, um Metadaten, Datentypen, Zwecke und Linien zu verwalten. Diese Funktion ist besonders wichtig, wenn Daten aus mehreren Quellen aufgenommen werden.

  • Planen Sie eine Schulung mit Produktionsdaten?

    Es gibt zwei Ansätze für Bereitstellungen, Modellbereitstellung und Codebereitstellung. Bei der Modellbereitstellung werden Produktionsdaten in der Entwicklung verwendet, die strenge Sicherheitsmaßnahmen erfordern. In der Codebereitstellung wird das Modell erst Produktionsdaten angezeigt, wenn es sich in der Produktion befindet. Obwohl die Codebereitstellung Sicherheitsbedenken in der Entwicklungsumgebung vereinfacht, kann die Berechnungskosten erhöht werden. Je nachdem, welcher Ansatz Sie auswählen, sollte Ihre Datenplattform separate Umgebungen für Die Entwicklung und Produktion unterstützen.

  • Priorisieren Sie Komfortfeatures gegenüber wichtigen funktionalen Features?

    Wenn Sie eine Datenplattform für KI oder maschinelles Lernen auswählen, verlassen Sie sich nicht nur auf die Notizbuchfunktionen. Obwohl Notizbücher für die explorative Datenanalyse nützlich sind, sollten sie nicht der entscheidende Faktor sein. Computeressourcen für Notizbücher liegen in der Regel außerhalb des Bereichs des Aggregationsdatenspeichers. Sie sind in der Regel in andere Ressourcen integriert, z. B. Azure Machine Learning.

Nicht funktionale Anforderungen

  • Wie viele Daten erwarten Sie, dass sie gespeichert werden?

    KI-Workloads generieren viele Daten. Das Volumen kann aufgrund mehrerer Versionen und zusätzlicher Metadaten erheblich gesteigert werden.

    Skalierbarkeit für Speicher und Durchsatz ist wichtig. Die Datenplattform muss Daten aus der Aufnahmepipeline effizient nutzen, während es Datenvolume verarbeitet, gleichzeitige Schreibvorgänge verwaltet und die leistung der einzelnen Schreibvorgänge ohne Beeinträchtigung gewährleistet. Diese Kriterien gelten auch für die Verarbeitungspipeline, die Lese-, Prozess- und sogar Schreibvorgänge in den Speicher zurückgibt.

    Berücksichtigen Sie beim Treffen einer Entscheidung den gesamten Prozess, da Aufnahme und Verarbeitung häufig gleichzeitig auftreten. Der Entwurf muss in der Lage sein, häufige Datenbewegungen und -verarbeitungen zu verwalten. Die Datenplattform sollte ein hohes Maß an Parallelität bieten, um Daten effektiv zu verarbeiten.

    Die Plattformtechnologie sollte Telemetrie ausgeben, die einen aussagekräftigen Einblick in den Durchsatz und die Leistung der Lese- und Schreibvorgänge gibt.

  • Ist dieser Datenspeicher eine kritische Komponente, die zum Zuverlässigkeitsziel der Workload beiträgt?

    Wählen Sie einen Datenspeicher aus, der sowohl Zuverlässigkeit als auch Skalierbarkeit verbessert, indem Sie mehrere Instanzen verwenden. Big Data Stores verfügen häufig über einen integrierten Controller, der die Datenverarbeitung über Instanzen hinweg koordiniert. Wenn eine Kopie fehlschlägt, kann eine andere verwendet werden.

    Denken Sie daran, dass Daten nicht ihren Zweck erfüllen, wenn sie nicht korrekt oder zugänglich sind. Die Datenplattform sollte haltbarkeitssicher sein und sicherstellen, dass die Daten intakt bleiben. Stellen Sie sicher, dass auf die APIs, die die Daten abfragen, zugegriffen werden kann. Berücksichtigen Sie darüber hinaus Datenspeicher mit Sicherungsfunktionen.

    Im Allgemeinen müssen Sie diese Daten nicht sichern. Wenn jedoch die Kosten für das Aggregieren von Daten jedes Mal von Grund auf erheblich hoch sind, können Sie die Rehydratisierung der Daten aus einer Sicherung in Betracht ziehen.

  • Haben Sie Kosteneinschränkungen?

    Wenn Die Datensicherheit und Leistung ausreichend sind, sollten Sie die Kostenbeeinträchtigung berücksichtigen.

    Das System sollte einmal für den Schreibvorgang optimiert werden. Lesen Sie viele , um zu vermeiden, dass die Datenspeicherung übersteht. Die Trainings- oder Erdungsdaten sind wichtig, aber nicht kritisch wie eine Produktionsdatenbank, die sofortige Reaktionsfähigkeit erfordert. Der Fokus liegt auf dem Ausgleich von Kosten mit nur ausreichendEr Effizienz, um die Rendite für Investitionen zu maximieren.

Die vorstehenden Anforderungen können sie natürlich in Betracht ziehen, einen Data Lake zu verwenden, da es DLM, Qualitätsstufen, Observierbarkeit und Unterstützung für verschiedene Dateiformate bietet. Wenn Ihre Workload bereits einen Data Lake verwendet, nutzen Sie diese Ressource, um Ihre KI-Anforderungen zu erfüllen. Alternativ können Sie andere Speicheroptionen auswählen, z. B. Azure Blob Storage, die ein gewisses Maß an DLM, Überwachungsfunktionen und hohe Transaktionsraten bieten.

Überlegungen zur Verarbeitung von Daten

Sie müssen Daten im aggregierten Datenspeicher verarbeiten, um das Hilfsprogramm nachgelagert zu erhöhen. ETL-Pipelines führen diesen Vorgang aus, der an den folgenden Punkten am wichtigsten ist:

  • Aufnahmeebene

    Die Pipeline ist dafür verantwortlich, Daten aus verschiedenen Quellen zu sammeln und in den aggregierten Datenspeicher zu verschieben. Während dieses Prozesses führt die Pipeline in der Regel grundlegende Vorverarbeitung durch und strukturiert die Daten sogar in einem abfragefähigen Format.

    Um den Bedarf an benutzerdefiniertem Code zu minimieren, empfehlen wir, einen Großteil dieser Verantwortung auf eine Datenplattform zu entladen. Berücksichtigen Sie beim Auswählen einer Technologie die ETL-Merkmale, die zur Unterstützung von Modellschulungen und Augmentation erforderlich sind.

  • Verarbeitungsebene

    Daten aus dem aggregierten Datenspeicher werden umfassend verarbeitet, bevor sie für die Indizierung oder Modellschulungsanwendung verwendet werden kann. Die Verarbeitungspipeline erfordert Zuverlässigkeits- und Skalierungsebenen, die der Aufnahmepipeline ähneln. Der Hauptunterschied ist die Art der Verarbeitung, die für die Daten durchgeführt wird.

    Der Prozess umfasst erhebliche Rescoping und Umstrukturierungen von Daten. Dieser Vorgang umfasst Aufgaben wie die Entitätserkennung, das Integrieren zusätzlicher Daten in das Dataset und das Ausführen von Nachschlagevorgängen. Dieser Vorgang kann auch das Löschen unnötiger Daten und das Anwenden von Datenlogik über eine Daten-Orchestrierungsplattform umfassen.

Die Datenverarbeitungsphase kann verschiedene Ausgaben erzeugen, die in verschiedenen Zielen für unterschiedliche Zwecke landen. Das Hauptziel besteht darin, Daten aus dem aggregierten Datenspeicher für den Verbrauch am Endziel vorzubereiten und zu übertragen. Der Consumer kann daten entweder bei Bedarf abrufen, oder die Verarbeitungsschicht kann Daten übertragen, wenn sie bereit sind.

Hinweis

Im Kontext des maschinellen Lernens und der generativen KI ist es wichtig, zwischen ETL-, ELT- und EL-Prozessen zu unterscheiden. Herkömmliche ETL ist für Data Warehouse- und objektrelationale Zuordnungen von entscheidender Bedeutung, bei denen Daten aufgrund von Schemaeinschränkungen transformiert werden müssen, bevor Sie sie in das Zielsystem laden. ELT umfasst das Extrahieren von Daten, das Laden in einen Datensee und anschließendes Transformieren mithilfe von Tools wie Python oder PySpark. Bei der generativen KI, insbesondere bei der abrufgestützten Generation (RAG), umfasst der Prozess häufig das Extrahieren und Laden von Dokumenten zuerst in den Speicher, gefolgt von Transformationen wie Blöcken oder Bildextraktion.

Im folgenden Abschnitt finden Sie Anleitungen, die Sie berücksichtigen sollten, wenn Sie eine Datenverarbeitungstechnologie auswählen, die ÜBER ETL-Funktionen verfügt.

Funktionsanforderungen

  • Welche Unterstützung bietet die Verbindung mit Datenquellen?

    Daten, die verarbeitet werden müssen, können in relationalen Datenbanken, großen Datenquellen oder verschiedenen Speicherlösungen gespeichert werden.

    Die meisten Datenverarbeitungstechnologien unterstützen vordefinierte Integrationen, mit denen Sie eine Verbindung zu verschiedenen Datenquellen herstellen können, ohne Code zu schreiben. Die Connectors verfügen über Features wie das Kopieren von Daten aus der Quelle zum Senken, Ausführen von Nachschlagevorgängen und Anwenden einer Form der Datengovernance. Es gibt Tools, die Drag-and-Drop-Features bieten, um unnötige Codierungen zu vermeiden.

    Wählen Sie eine Datenplattform aus, die die Integration in die erwarteten Datenquellen erleichtert.

  • Kann die Plattform verschiedene Datenformate verarbeiten?

    Daten können in verschiedenen Formaten vorliegen, z. B. strukturierte Daten wie Datenbanken und JSON, unstrukturierte Daten wie Bilder und Dokumente oder Streamingdaten wie Daten von Internet of Things-Geräten. Die Pipelines sollten in der Lage sein, die erwarteten Dateitypen zu verarbeiten.

  • Bietet die Plattform Features für die Datenvorbereitung und Rescoping?

    Sie müssen Daten verarbeiten, die Sie zur Schulung oder Erweiterung verwenden möchten, bis sie für Schulungen, Feinabstimmungen oder Indizierung geeignet ist. Ihre Datenentwurfsstrategien sollten die Anforderungen explizit skizzieren.

    In den folgenden Artikeln werden spezifische Überlegungen beschrieben:

    Im Rahmen der grundlegenden Reinigung entfernt die Plattform Duplikate, füllt fehlende Werte aus und beseitigt während der Aufnahme zusätzliche Geräusche. Für bestimmte Anwendungsfälle, z. B. die Implementierung eines RAG-Musters, wird empfohlen, dass Sie Blöcke in Kleinbuchstaben verwenden.

    Obwohl diese Vorverarbeitungsschritte erforderlich sind, muss die Plattform auch umfangreiche Datenmanipulation unterstützen, die für Ihre Anforderungen spezifisch ist. Bei diesem Vorgang werden Daten geladen, erneut erfasst und transformiert. Für bestimmte Modelle muss die Plattform externe Quellen für die Dokumentanalyse abfragen können, z. B. Dokumentintelligenz oder andere KI-Tools. Diese Arbeit ist für die Vorbereitung der Daten und für die Datenanreicherung erforderlich.

    Wenn Ihr Datenspeicher diese Verarbeitungsebene unterstützt, können Sie diese Phase im Speicher lokalisieren, ohne sie an anderer Stelle zu verschieben. Andernfalls benötigen Sie eine externe Technologie wie Azure Databricks oder Azure Data Factory. Diese Technologien eignen sich zum Verschieben von Daten und zum Ausführen von Manipulationen, z. B. Filtern, Ausfüllen fehlender Werte und Standardisierung der Zeichenfolgen-Groß-/Kleinschreibung. Für komplexere Aufgaben ist in der Regel eine Jobhosting-Plattform erforderlich. Sie können Spark-Pools für die Big Data-Orchestrierung verwenden.

    In bestimmten Anwendungsfällen sollten Sie diese Verantwortung für den Verbraucher der Daten externisieren. Ki-Modelle, die maschinelles Lernen verwenden, bieten beispielsweise Funktionen zur Auftragsverarbeitung zum Lesen, Bearbeiten und Schreiben von Daten mithilfe von benutzerdefiniertem Python-Code.

    Ein weiteres Beispiel ist die RAG-Implementierung. Ein allgemeiner Verarbeitungsschritt ist ein Abschnitt, in dem ein Dokument in mehrere Blöcke unterteilt ist und jeder Block zu einer Zeile im Index wird. Es speichert auch Einbettungen, die ein OpenAI-Dienst häufig generiert, für diese Blöcke. Bei KI-Suchvorgängen wird dieser Prozess innerhalb des Indizierungsworkflows orchestriert, unabhängig davon, ob openAI oder Azure AI Search verwendet wird.

  • Gibt es einen integrierten Orchestrator für die Verwaltung von Workflows?

    Die Verarbeitungsaufgaben sind modular und werden als Aufträge ausgeführt. Die Plattform sollte über Orchestrierungsfunktionen verfügen, die den Workflow in Schritte oder Aufträge aufteilen. Jeder Auftrag sollte unabhängig definiert, ausgeführt und überwacht werden.

    In komplexen Workflows hängen bestimmte Schritte vom erfolgreichen Abschluss früherer Workflows ab. Der Orchestrator sollte Auftragsabhängigkeiten behandeln und sicherstellen, dass Aufgaben in der richtigen Reihenfolge ausgeführt werden.

    Das Datendesign ist ein iterativer Prozess, sodass das Orchestratortool flexibel genug sein sollte, um Workflows einfach zu ändern. Sie sollten neue Schritte einfügen oder vorhandene Schritte anpassen können, ohne große Codeabschnitte neu zu schreiben.

    Data Factory ist eine beliebte Wahl, da sie einen umfassenden Featuresatz zum Verwalten von Datenworkflows bietet. Azure Databricks kann auch komplexe Workflows verwalten und Aufträge planen und überwachen. Sie sollten auch die Kostenauswirkungen berücksichtigen. Beispielsweise können Azure Databricks-Features umfangreich sein, aber sie sind auch teuer. Eine alternative Open-Source-Option, z. B. Apache NiFi, ist möglicherweise kostengünstiger.

    Welches Tool Sie letztendlich auswählen, hängt davon ab, was Ihre Organisation zulässt und welche Fähigkeiten das Workload-Team hat.

Nicht funktionale Anforderungen

Wenn Sie eine Verarbeitungspipeline auswählen, ist es entscheidend, den Durchsatz und die Observierbarkeit auszugleichen. Die Pipeline muss zuverlässig verarbeiten und die erforderlichen Daten für Modelle oder Indizes innerhalb eines ausreichenden Zeitrahmens landen. Es sollte leicht genug sein, um Ihre aktuellen Bedürfnisse zu unterstützen und für zukünftiges Wachstum skalierbar zu sein. Teams müssen entscheiden, wie viel sie benötigen, um die Plattform zukunftssicher zu machen, um später technische Schulden zu vermeiden. Zu den wichtigsten Überlegungen gehören die Häufigkeit und das Volumen der Datenaufnahme, die Zuverlässigkeit des Prozesses und die Notwendigkeit der Beobachtbarkeit, um Probleme umgehend zu überwachen und zu beheben.

  • Wie viele Daten erwarten Sie, dass sie aufgenommen werden?

    Berücksichtigen Sie für die Aufnahme- und Verarbeitungsphasen die Skalierbarkeit und Geschwindigkeit der Plattform für die Verarbeitung von Aufgaben. Sie erwarten beispielsweise, dass täglich 10 Terabyte Daten in einen Index oder für Modellschulungen geladen werden. Ihre Datenaufnahmeplattform sollte in der Lage sein, dieses Volumen und den erwarteten Durchsatz zu verarbeiten. In diesem Fall ist die Verwendung von Azure Logic Apps möglicherweise nicht machbar, da sie unter einer solchen Last fehlschlagen könnte. Stattdessen eignet sich Data Factory besser für diese Datenverarbeitung.

    Eine Möglichkeit zum Verarbeiten von hohem Volumen ist parallelität, da sie eine effizientere Datenverarbeitung und -verarbeitung ermöglicht. Plattformen wie Azure Databricks können Aufgaben koordinieren, indem mehrere Instanzen für denselben Auftrag erstellt und die Last effizient verteilt werden.

    Berücksichtigen Sie außerdem die tolerierbare Latenz und die Komplexität der Aufträge. Die Datenbereinigung umfasst z. B. die Überprüfung und möglicherweise das Ersetzen ungültiger Felder oder das Maskieren vertraulicher Informationen. Diese Aufgaben erfordern zwar grundlegende Ressourcen, da jede Zeile einzeln verarbeitet wird, was zur Gesamtzeit hinzufügt.

  • Welche Überwachungsfunktionen benötigen Sie?

    Datenverarbeitungspipelines sollten Über Überwachungsfunktionen verfügen und Einblicke in die Leistung und den Status von Aufträgen der Pipeline bieten.

    Sie müssen in der Lage sein, den Fortschritt der Aufträge nachzuverfolgen. Angenommen, die Pipeline führt einen Datenbereinigungsauftrag aus, der nicht vollständig oder teilweise abgeschlossen wird. Es kann nachgelagerte Auswirkungen auf die Qualität der Daten geben, mit denen das Modell trainiert wird, was sich auf die Vorhersagekraft auswirken kann.

    Ähnlich wie bei anderen Komponenten in der Workload sollten Sie Protokolle, Metriken und Warnungen in der Datenpipeline aktivieren, um das Verhalten zu verstehen. Sammeln und analysieren Sie Leistungsmetriken, um die Effizienz- und Zuverlässigkeitsaspekte zu verstehen.

    Identifizieren Sie alle Lücken in der integrierten Telemetrie, und bestimmen Sie, welche zusätzliche Überwachung Sie implementieren müssen. Diese Überwachung kann das Hinzufügen von benutzerdefinierten Protokollierungen oder Metriken umfassen, um bestimmte Details zu den Auftragsschritten zu erfassen.

  • Wie viel Zuverlässigkeit erwarten Sie von der Datenverarbeitungsplattform?

    Die Zuverlässigkeit einer Datenverarbeitungspipeline variiert je nach Plattformauswahl. Obwohl Logik-Apps über Orchestrierungsfunktionen verfügen, ist sie möglicherweise nicht so zuverlässig wie Data Factory. Data Factory, gehostet auf einem Azure Kubernetes Service (AKS)-Cluster, kann unterschiedliche Zuverlässigkeitsmerkmale aufweisen.

    Einzelinstanz-Setups werden als Fehlerpunkte betrachtet. Wählen Sie eine Plattform aus, die Zuverlässigkeitsfeatures wie mehrere Instanzen unterstützt, um Ihre Anforderungen zu erfüllen.

    Die Plattform sollte auch Resilienzfeatures unterstützen. Beispielsweise sollte der Orchestrator automatisch eine fehlgeschlagene Aufgabe wiederholen, wodurch die Notwendigkeit manueller Neustarts reduziert wird.

    Die Batchverarbeitung kann je nach Datenfrischung und Latenzanforderungen weniger zuverlässig sein als die Ableitung. Wenn die Schulung wöchentlich auftritt und die Verarbeitung einen Tag dauert, sind gelegentliche Fehler akzeptabel, da genügend Zeit zum Wiederholen vorhanden ist.

  • Gibt es Kostenbeschränkungen?

    Wenn Sie die Kosteneffizienz einer Datenverarbeitungspipeline berücksichtigen, ist es wichtig, eine Lösung auszuwählen, die Ihren Anforderungen ohne unnötige Kosten entspricht. Wenn Ihre Anforderungen die erweiterten Features von Azure Databricks nicht rechtfertigen, ist eine kostengünstigere Option wie Data Factory möglicherweise ausreichend. Darüber hinaus können Open-Source-Tools wie Apache Airflow oder Apache NiFi robuste Funktionen zu niedrigeren Kosten bereitstellen. Der Schlüssel besteht darin, ausstehende Features zu vermeiden, die Sie nicht benötigen, und eine Plattform auszuwählen, die Funktionalität und Kosteneffizienz ausgleicht.

  • Welche Sicherheitsanforderungen gelten für die Workflows und die daten, die Sie verarbeiten?

    Seien Sie klar über die Anforderungen an die Sicherheit, den Datenschutz und die Datenhaltung. Ziehen Sie beispielsweise alle gesetzlichen Anforderungen an geografische Vorschriften in Betracht. Erfüllen Sie die Datenhaltungsanforderungen, indem Sie sicherstellen, dass Daten in bestimmten Regionen gespeichert und verarbeitet werden. Möglicherweise müssen Sie separate Pipelines für verschiedene Regionen ausführen, z. B. eine für Europa und eine für Amerika, um lokale Compliance-Vorschriften zu erfüllen.

    Die Datenpipelineplattform sollte identitäts- und zugriffsverwaltung unterstützen, um sicherzustellen, dass nur autorisierte Identitäten Zugriff auf bestimmte Aufträge oder Schritte innerhalb von Workflows haben. Wenn Ihr ETL-Prozess z. B. aus mehreren Workflows besteht und einer davon streng vertrauliche Daten verarbeitet, sollte die Plattform es Ihnen ermöglichen, den Zugriff auf diesen Workflow einzuschränken und gleichzeitig die anderen Zugänglichkeit zu behalten. Diese Funktion hilft Ihnen, die Sicherheitsanforderungen zu erfüllen, ohne separate Plattformen für unterschiedliche Datenempfindlichkeitsstufen zu benötigen. Im Idealfall sollte die Plattform integrierte Unterstützung für eine solche Isolation bieten, die eine effiziente und sichere Datenverwaltung ermöglicht.

Datenverarbeitungspipelines können die Daten entweder in einen Suchindex oder eine Modellschulungspipeline ausgeben. Je nach Anwendungsfall lesen Sie die Abschnitte in Suchindizes oder Featurespeichern.

Überlegungen für einen Suchindex

Der Suchindex dient zum Speichern kontextbezogener oder geerdeter Daten zum Senden an den Modell-Ableitungsendpunkt zusammen mit der Eingabeaufforderung. Beide Aufrufe, die Indexabfrage und der Endpunktaufruf des Endpunkts, erfolgen im Kontext der Wartung derselben Client-HTTP-Anforderungen. Im Gegensatz zu ETL-Prozessen, die Offline- und Batchaufträge verarbeiten, unterstützt dieser Index echtzeitbasierte Ableitungen, was hohe Leistung und Zuverlässigkeit erfordert. Es ist auf KI-Abfragen spezialisiert und bietet Features wie Stichwortindizierung und -filterung, die nicht typisch für Big Data Stores sind. Das Ziel besteht darin, einen leistungsfähigen, schreibgeschützten Datenspeicher mit Lese-/Schreibzugriff zu haben, der imPromptu- und Fuzzy-Abfragen unterstützt. Dieser Datenspeicher kann relevante Ergebnisse ohne präzise Abfragen bereitstellen.

Funktionsanforderungen

  • Welche Suchtypen werden vom Suchindex unterstützt?

    Abfragen, die das System empfängt, sind im Wesentlichen Suchvorgänge, und der Index muss umfangreiche Suchfunktionen unterstützen. Für RAG ist die Vektorsuche nicht verhandelbar, da Daten als berechnete Vektoren oder Einbettungen gespeichert werden, die für die Suche verwendet werden.

    Die Vektorsuche ist leistungsfähig, und die Kombination mit Filterung und Volltextsuche verbessert die Effektivität des Suchindexes. Ihr Datenentwurf sollte die Kombination dieser Suchtypen berücksichtigen, z. B. Vektor- und Volltextsuche, Filterung und spezielle Datentypen wie geografischer Standort.

    Ihr Datenentwurf sollte diese Anforderungen explizit angeben. Weitere Informationen finden Sie unter Effiziente Abfrage im Datenentwurf.

  • Unterstützt der Index multimodale Daten?

    Wählen Sie Indextechnologien aus, die multimodale Daten unterstützen. Ki-Suchvorgänge können beispielsweise eine E-Mail analysieren, ein Bild darin in Vektoren konvertieren und die Beschreibung im Index speichern. Verwenden Sie diese Funktion, um verschiedene Inhaltsmodalitäten zu durchsuchen, einschließlich Bilder, Videos und Audiodateien.

  • Unterstützt der Index die Funktionen für automatische Aktualisierungen, wenn sich die Daten in den Datenquellen ändern?

    Wählen Sie einen Index mit automatischen Updatefeatures aus. Wenn eine nicht verfügbar ist, müssen Sie Änderungen manuell erkennen und an den Index übertragen. Mit diesen Funktionen kann der Indexer Änderungen in Datenquellen erkennen und Aktualisierungen automatisch abrufen. Indem Sie diese Verantwortung auf die Plattform entladen, können Sie den Betriebsaufwand reduzieren und den Wartungsvorgang vereinfachen.

Nicht funktionale Anforderungen

  • Kann der Index mit großen Datenmengen ausgeführt werden?

    Der Index sollte in der Lage sein, große Datenmengen zu verarbeiten, skalierbar zu sein und für schwere Suchworkloads gut zu arbeiten. Der Index speichert die Rohdaten und alle Metadaten, Anreicherungen und Entitäten, die ihr zugeordnet sind. Im Kontext des RAG-Musters kann ein einzelnes Dokument, das in mehrere Blöcke unterteilt ist, zu einer signifikanten Zunahme des Datenvolumens führen.

  • Verfügt der Index über integrierte Zuverlässigkeitsfeatures?

    Berücksichtigen Sie die Ausrichtung zwischen der Zuverlässigkeit des Ableitungsendpunkts oder des Modells und des Datenspeichers, da sie voneinander abhängen.

    Der Suchvorgang umfasst zwei Schritte: Abfragen des Datenspeichers und anschließendes Abfragen des Ableitungsendpunkts. Beide Schritte müssen ähnliche Zuverlässigkeitsmerkmale aufweisen. Ausgleichen Sie Ihre Zuverlässigkeitsziele zwischen beiden Komponenten, um die Effektivität der Suche sicherzustellen.

    Um die Ausfallsicherheit zu gewährleisten, sollte die Workload die erwartete Anzahl gleichzeitiger Benutzer unterstützen und über ausreichende Bandbreite verfügen, um Datenverkehrsspitzen zu bewältigen. Idealerweise sollte die Plattform zonale Ausfälle überleben.

    Die Datenplattform sollte entwickelt werden, um die Verwendung eines beschädigten Indexes für die Ableitung zu verhindern. In solchen Fällen sollten Sie den Index problemlos neu erstellen können. Der Index sollte auch einen zuverlässigen Austausch zwischen Indizes unterstützen, indem Features wie Aliasing verwendet werden, um Ausfallzeiten während des Indextauschs zu minimieren. Ohne diese Funktionalität müssen Sie sich möglicherweise auf eine Sicherung des Indexes verlassen. Das Verwalten einer Sicherung ist komplexer.

    Aus Arbeitsauslastungsperspektive verstehen Sie die potenziellen Fehlermodi oder Stressindikatoren, z. B. Drosselung. Obwohl das System beispielsweise normalerweise 50 gleichzeitige Benutzer unterstützt, unterstützt es möglicherweise nur 30 Benutzer während eines Neuindizierungsprozesses, der als Hintergrundauftrag ausgeführt wird. In diesem Fall wird die Anzeigedauer des Hintergrundauftrags wichtig. Wenn Sie den Durchsatz eines Indexes auswerten, schließen Sie sowohl Front-End-Abfragen als auch Back-End-Aufträge ein.

  • Was sind die wichtigsten Kostentreiber dieser Technologie?

    Wenn Sie Kosten modellieren, schätzen Sie die Kosten, die dem Datenvolumen, der Anzahl der Abfragen und dem erwarteten Durchsatz des Indexes zugeordnet sind. Denken Sie daran, dass Indizes hauptsächlich plattform as a Service (PaaS) sind, wo Preise abstrahiert werden. Forschungsebenen und deren Funktionen, um eine Überzahlung für nicht verwendete Kapazität oder Features zu vermeiden.

    Ki-Suchrechnungen beispielsweise als Einheiten, die Kapazität, Durchsatz und Speicher umfassen können. Zusätzliche Features können zu mehr Gebühren führen. Die umfangreiche Verwendung von Bildextraktionsfeatures kann z. B. zu einer hohen Rechnung führen. Abhängigkeiten, z. B. das Feature "Qualifikationssätze", die sich außerhalb des Indexbereichs befinden, aber Teil der Datenverarbeitung sind, können zusätzliche Kosten verursachen.

    Die Zahlung für eine Stufe ohne nutzung der vollen Kapazität kann zu Überzahlung führen. Ebenso wirken sich die Anzahl der Tabellen in Ihrem Index und die Möglichkeit zur Behandlung gleichzeitiger Datenverkehr auf Kosten aus.

    Informationen zu den Mit AI Search verbundenen Kosten finden Sie unter "Planen und Verwalten von Kosten einer KI-Suchdienst".

  • Erfüllen die Sicherheitsfeatures des Indexes Ihr Sicherheitsdatendesign?

    Ihr Datendesign sollte die Sicherheits- und Datenschutzanforderungen eindeutig angeben. In Entwicklungs- und Testumgebungen, in denen echte Produktionsdaten verwendet werden, sollte der Index Funktionen unterstützen, die allen Zugriffskontrollen und Rückverfolgbarkeitsmaßnahmen entsprechen. Überprüfen Sie Sicherheitsfeatures wie datenmasken und entfernen Sie personenbezogene Informationen im Index.

    Wählen Sie einen Index aus, der die Möglichkeit hat, Clients über die Microsoft Entra-ID eindeutig zu identifizieren. Der Suchindex sollte auch Zugriffssteuerungen auf Dokumentebene unterstützen, um die Abfrage der Relevanz nach Identitäten zu ermöglichen. Wenn der Index diese Features nicht bietet, passen Sie Ihr Design an, um ähnliche Funktionen mit Abfragefiltern zu erzielen. Weitere Informationen finden Sie unter Sicherheitsfilter zum Kürzen von Ergebnissen in der KI-Suche.

    Im Idealfall sollte der Suchindex den Anforderungen an die Netzwerksicherheit entsprechen. Wenn Sie z. B. den Ausgangsdatenverkehr auf Nicht-Microsoft-Websites filtern und die Observierbarkeit beibehalten müssen, sollte der Index Ausgangssteuerelemente bieten. Es sollte auch die Netzwerksegmentierung unterstützen. Wenn sich die Back-End-Compute in einem virtuellen Netzwerk befindet, ist eine private Konnektivität für schlüsselkomponenten, einschließlich des Indexes, unerlässlich, um die Gefährdung des öffentlichen Internets zu vermeiden. Der Index sollte problemlos in private Netzwerke integriert werden und verwaltete Identitäten für die Authentifizierung über die Microsoft Entra-ID unterstützen.

Überlegungen für einen Featurespeicher

Bei diskriminativen Modellen kann Ihr Datenentwurf einen Zwischendatenspeicher enthalten, der Daten zur zusätzlichen Einschränkung zwischenspeichert. Dieser Speicher, der als Featurespeicher bezeichnet wird, ermöglicht Es Data Scientists, Features als letzten Schritt außerhalb des aggregierten Datenspeichers zu speichern.

Der Featurespeicher unterstützt Katalogdaten für mehrere Verwendungen, indem Metadaten wie Generationszeit und Ursprung hinzugefügt werden. Dieser Zwischenlandeplatz eignet sich ideal für goldene Trainingsdaten.

Die verwalteter Feature Store in Machine Learning ist eine Datenspeicheroption, die in MLflow und andere Tools integriert wird. Sie ruft Daten aus dem aggregierten Datenspeicher ab und trainiert sie und fügt eine wiederverwendbare Ebene hinzu, um eine bessere Datenlinie und formale Identifizierung innerhalb von Machine Learning zu erzielen.

Wenn Sie einen Featurespeicher verwenden, behandeln Sie ihn wie ein Datenspeicher mit Sicherheits- und Zugriffsaspekten.

Überlegungen für einen Offline-Ableitungsdatenspeicher

In einigen Szenarien ist die Verwendung eines separaten Speichers für schnellere zukünftige Nachschlagevorgänge geeignet, da die Ableitung für vorab gesammelte und vorab berechnete Daten im Voraus erfolgt. In diesem Prozess erreicht die Benutzeranforderung nie das KI-Modell. Es gibt mehrere Vorteile:

  • Verbesserte Effizienz und Benutzerfreundlichkeit durch Reduzierung der Latenz. Ergebnisse werden für häufige Abfragen schneller bereitgestellt, z. B. das Generieren von HÄUFIG gestellten Fragen als Ergebnis.
  • Ableitungsaufrufe können einfacher als Batchprozess skaliert werden, ohne dass die Einschränkungen der Echtzeitverarbeitung bestehen.
  • Ermöglicht die Vorabvalidierung, um die Genauigkeit vor der Produktion sicherzustellen.
  • Da die Anforderung nicht an den Interferenzendpunkt geleitet wird, reduziert sie die Last und trägt zur Zuverlässigkeit der Workload bei.
  • Dies könnte kostengünstiger sein, da sie die Notwendigkeit von hochleistungsintensiver Hardware reduziert, die für die Echtzeitverarbeitung erforderlich ist.

Dieser Ansatz ist jedoch nur wirksam, wenn Sie die möglichen Anforderungen vorhersagen können und ein erheblicher Teil der Vorhersagen von Benutzern angefordert werden soll. Für Szenarien mit weniger wiederholten Anforderungen kann ein Offline-Ableitungsspeicher weniger effektiv sein.

Der Datenspeicher für dieses Szenario sollte für Lesevorgänge optimiert werden, muss in der Lage sein, große Datenmengen zu verarbeiten und einen effizienten Abruf zu ermöglichen. Sie sollte auch in den aggregierten Datenspeicher integriert werden können. Jeder Speicher mit diesen Funktionen kann berücksichtigt werden, z. B. Azure Cosmos DB oder sogar ein Tabellenspeicher.

Ressourcen

Diese Artikel enthalten weitere Details zu Azure-Produkten, die wir als Technologieoptionen für die in diesem Artikel erläuterten Überlegungen empfehlen.

Nächste Schritte