Ein zuverlässiger Datensatz aus hochwertigen Datenquellen ist notwendig, um effiziente KI-Systeme und Anwendungen für Large Language Models (LLM) zu entwickeln. Die Datenaufbereitung umfasst Bereinigung, Transformation und ausgefeilte Prozesse zur Organisation unstrukturierter Daten in einen nutzbaren Datensatz. Dieser Prozess ist schwierig, da Qualitätsprobleme verborgen sein können und erst spät im Softwareentwicklungszyklus sichtbar werden, was zu anspruchsvollen Debugging-Arbeiten und Verzögerungen bei der gesamten Projektzeit führt. Qualitativ hochwertige Daten sind unerlässlich für die Entwicklung verantwortungsvoller LLM- und KI-Anwendungen, da schlecht aufbereitete Daten zu voreingenommenen oder unsicheren Ausgaben führen können. Es besteht auch das Risiko einer Verletzung der Privatsphäre, wenn personenbezogene Daten (PII) in die Modelldaten aufgenommen werden, ohne dass die damit verbundenen Konsequenzen angemessen berücksichtigt werden. Außerdem kann eine schlechte Datenaufbereitung zu Zeit- und Ressourcenverschwendung führen. Die Grundlage für die Entwicklung verantwortungsvoller generativer KI ist die richtige Aufbereitung Ihrer Daten, um Ihr Produkt effizient zu erstellen.
Um Entwicklern und Data Science-Spezialisten die Werkzeuge zur Bewältigung der Herausforderungen der Datenaufbereitung bereitzustellen, hat IBM das Open-Source-Data Prep Kit (DPK) entwickelt. Das DPK ist ein geeignetes Toolkit für Anwender, um Datendateien für KI-basierte Anwendungen und LLM-Workflows vorzubereiten. Um dieses Ziel zu erreichen, stellt DPK mehrere modulare „Transformationen“ in einer Python-Umgebung bereit. Der Benutzer kann die „Transformationen“ als isolierte Klassen verwenden oder sie zu einer Datenpipeline kombinieren, um Daten aus einer Datenquelle zu bereinigen, zu transformieren und zu organisieren. DPK ist auf Skalierbarkeit ausgelegt und verwendet spaltenbasierte Datensätze wie Parquet-Dateien sowie Skalierbarkeitslaufzeiten wie Ray und Spark. Dies erleichtert die Datenaufbereitung auf einem einzelnen Gerät oder einem großen Cluster, um die Datenverarbeitung zu beschleunigen. DPK wurde erfolgreich zur Aufbereitung von Daten für IBM Granite-Modelle eingesetzt und hat dabei seine Effektivität in realen Anwendungsfällen unter Beweis gestellt.
DPK besteht aus drei wesentlichen architektonischen Komponenten:
Datenzugriff, Transformation und Laufzeit.
Datenzugriff: Diese Komponente ermöglicht eine einheitliche Methode zum Lesen und Schreiben von Daten aus verschiedenen Speicherorten (zum Beispiel lokale Dateisysteme, S3-kompatibler Speicher). Sie unterstützt die Erstellung von Checkpoints, sodass bei einem Neustart eines Jobs nur noch die Dateien verarbeitet werden, die noch nicht fertiggestellt wurden, was Zeit und Ressourcen spart.
Transformation: Dieses Modul bietet spezifische Funktionen, die auf die Daten angewendet werden, darunter Datenkonvertierung, Deduplizierung und Erkennung personenbezogener Daten (PII). DPK verfügt über eine sich entwickelnde Bibliothek von Transformationen als Suite vorgefertigter Transformationen. Das Framework ermöglicht es zudem Mitwirkenden, die sich mit verteilten Rechenframeworks (wie Ray oder Spark) nicht umfassend auskennen, eigene benutzerdefinierte Transformationen zu erstellen und zu entwickeln. Jede Transformation fungiert als eigenständige und konfigurierbare Arbeitseinheit, ist in Pipelines zusammensetzbar und bietet Data Preparation im LLM-Maßstab.
Laufzeitumgebung: Die Laufzeitumgebung ist die spezifische Ausführungsumgebung für die Transformation, die für die Arbeitszuweisung und Überwachung zuständig ist. DPK kann in verschiedenen Laufzeitumgebungen ausgeführt werden, darunter reines Python (mit Multiprocessing), Ray und Spark. Diese Fähigkeit gibt dem Benutzer die Flexibilität, seine Data Preparation von einem Laptop auf einen Cluster mit Tausenden von Knoten zu skalieren. Die Laufzeitumgebung verwaltet die Zuweisung der Aufgaben an die Worker. Laufzeitumgebungen ermöglichen es Transformationen außerdem, spezifische Funktionen wie gemeinsam genutzte Klassen oder Objektspeicher zu verwenden. Die gesamte Laufzeitarchitektur besteht aus einem Transform-Launcher (dem Entry-Point), einem Transform-Orchestrator (der Komponente, die den Workflow ausführt und Workers erzeugt) und Dateiprozessoren (der Komponente, die jede einzelne Datei verarbeitet). Der Orchestrator nutzt die Laufzeitumgebung, um gemeinsam genutzte Komponenten und den Datenzugriff einzurichten, der es ihm ermöglicht, die zu verarbeitenden Dateien zu finden. Jeder Dateiprozessor liest, verarbeitet und schreibt die Ergebnisse und Metadaten mithilfe einer Programmierschnittstelle (API) Aufrufen zurück.
Die Automatisierung und Skalierbarkeit von DPK sind innovativ unterstützen verschiedene Laufzeiten wie Local, Ray und Spark.
Mit seinen neuen Funktionen hebt sich DPK von etablierten Datenaufbereitungsprojekten wie BigCode, DataTrove und Dolma ab. Ein wesentlicher Unterschied ist die Anzahl der Anwendungsfälle, die unterstützt werden (Pretraining, Fine-Tuning und Retrieval-Augmented Generation (RAG)) sowie die Dimension der Daten, die es unterstützen kann. Im Gegensatz zu anderen Toolkits, die eine einzelne Datenmodalität unterstützen, unterstützt DPK natürliche Sprachdaten und Codedaten. DPK ist erweiterbar, das heißt, es ist einfach, eine beliebige Anzahl skalierbarer Module hinzuzufügen.
Für die Automatisierung verfügt DPK über eine Befehlszeilenschnittstelle (CLI) und eine No-Code-Option unter Verwendung von Kubeflow Pipelines (KFP), einer Plattform zur Bereitstellung skalierbarer ML-Workflows auf Kubernetes. Diese Funktion erweitert die Zielgruppe und ermöglicht eine breitere Anwendbarkeit für Data Scientists und KI-Anwendungsentwickler.
Die Funktionen der KFP-Integration sind:
Skalierbarkeit: KFP ermöglicht die Skalierung großer Datensätze und hochkomplexe Workflows dank Kubernetes, einer skalierbaren, On-Demand-Computing-Plattform.
Modularität: Jeder Workflow wird in wiederverwendbare Komponenten unterteilt, was komplexe Workflows und zusätzliches Debugging leicht umsetzt.
Reproduzierbarkeit: Der Verlauf jeder Ausführung wird protokolliert, was die Reproduktion von Experimenten ermöglicht.
Visualisierung: Es gibt eine Schnittstelle, um Pipeline-Ausführungen zu überwachen, Ergebnisse zu visualisieren und Probleme zu beheben.
Die Skalierbarkeit von DPK wird durch experimentelle Studien unterstützt. Zum Beispiel reduziert das Toolkit die Ausführungszeit für Transformationen proportional, wenn der Umfang der Verarbeitungsknoten zunimmt. Es skaliert gleichmäßig über alle Workloads hinweg, von der Annotation einfacher Daten bis hin zur Ausführung komplexerer Workloads wie der Sprachidentifizierung, die zusätzliche Rechenkosten verursacht.
In dem Maße, in dem sich die Funktionen von KI-Systemen verbessern und immer mehr in Entscheidungsfindungsprozesse integriert werden, wird die Forderung nach einer Unternehmensführung, die ethische, sichere und gesetzeskonforme KI ermöglicht, dringlich. Es ist jedoch wichtig zu betonen, dass Governance nicht mit Modellen beginnt – sie beginnt mit Daten.
Besonders wertvoll an DPK ist sein direkter Beitrag zu den Zielen der KI-Governance:
Sicherheit: DPK-„Transformationen“ identifizieren und entfernen toxische oder schädliche Inhalte mithilfe seiner HAP-Erkennung (Hass, Beleidigungen und Obszönitäten).
Fairness: DPK-„Transformationen“ beseitigen Verzerrungen durch Deduplizierung und Filterung von minderwertigen oder irrelevanten Daten.
Compliance: DPK-„Transformationen“ leiten personenbezogene Daten (PII) ab und schwärzen diese unter Einhaltung datenschutzrechtlicher Vorschriften wie der DSGVO (Datenschutz-Grundverordnung) und dem HIPAA (Health Insurance Portability and Accountability Act).
Transparenz: DPK-„Transformationen“ fügen Dokumenten-Hashes und Qualitätsbewertungen hinzu, um die Rückverfolgbarkeit und Prüfbarkeit zu verbessern.
Ganz gleich, ob Sie im Gesundheitswesen, im Finanzwesen, im öffentlichen Dienst oder in einem anderen Bereich tätig sind, in dem Vertrauen eine wichtige Rolle spielt – DPK unterstützt Sie bei der Entwicklung von KI-Systemen auf der Grundlage verantwortungsbewusster Datennutzung.
Szenario: Eine Regierung entwickelt ein domänenspezifisches LLM zur Zusammenfassung juristischer Dokumente. Der Datensatz enthält öffentliche Aufzeichnungen, rechtliche Unterlagen und politische Dokumente, die aus verschiedenen Quellen stammen.
Governance-Herausforderungen:
Einige Quellen sind nicht verifiziert oder politisch voreingenommen.
Der Datensatz umfasst mehrere Sprachen.
Möglicherweise beleidigende oder hetzerische Sprache.
Personenbezogene Daten wie Namen und Adressen müssen entfernt werden.
Doppelte Akten und Standardformulierungen sind üblich.
Die Dokumentqualität variiert enorm.
Lösung: Durch die Implementierung eines Governance-Konzepts unter Verwendung von DPK kann die Behörde sicherstellen, dass der Datensatz folgende Eigenschaften aufweist:
Ethische Quellen
Datenschutzkonform
Hohe Qualität und Vielfalt
Geeignet für verantwortungsvolles LLM-Training
Wenn Sie die im vorangegangenen Anwendungsfall beschriebenen Herausforderungen bewältigen oder in einem beliebigen anderen Szenario Risiken in Bezug auf Datenqualität, Sicherheit und Compliance mindern möchten, benötigen Sie eine Pipeline, die Governance-Richtlinien konsequent durchsetzt. DPK ermöglicht diese Pipeline durch die Bereitstellung einer Reihe modularer Transformationen, die Sie zur Bereinigung, Filterung und Anreicherung des Datensatzes miteinander verketten können.
Diese Tabelle zeigt eine einfache 6-stufige Governance-Pipeline, die die wichtigsten Anforderungen für KI-Governance erfüllt. Jeder Schritt ist mit einem entsprechenden Risiko oder Qualitätsproblem verbunden, um sicherzustellen, dass der endgültige Datensatz ethisch einwandfrei erhoben wurde, den Datenschutzbestimmungen entspricht und für eine verantwortungsvolle KI-Entwicklung bereit ist.
So erstellen Sie Ihre eigene Governance-Pipeline:
Repository klonen: https://github.com/data-prep-kit/data-prep-kit
Transformationen installieren: pip install 'data-prep-toolkit-transforms[all]'
Pipeline mithilfe von KFP oder Python mit dpk_transform_chain konfigurieren
Pipeline mit der CLI ausführen oder mit Ray oder Spark in Ihre Datenplattform integrieren
DPK enthält eine Reihe vordefinierter Transformationen, die nach verschiedenen Anforderungen an die Datenaufbereitung kategorisiert sind.
Dateneinspeisungstransformationen: Diese Transformationen wandeln Daten aus einem oder mehreren Formaten in ein standardisiertes Format um, beispielsweise komprimierte Code-Dateien in Parquet oder HTML/PDF in Parquet.
Universelle (Code- und Sprach-)Transformationen: Diese Transformationen können sowohl für Code-Daten als auch für natürliche Sprache verwendet werden, beispielsweise zur exakten und unscharfen Deduplizierung, um doppelte Datensätze zu entfernen, sowie zur Anpassung der Dateigröße.
Reine Sprachtransformationen: Diese Transformationen sind für Daten in natürlicher Sprache vorgesehen. Dazu gehören die Sprachidentifizierung, mit der die Sprache des Textes ermittelt wird, sowie der PII-Annotator bzw. -Redakteur, der personenbezogene Daten identifiziert und entfernt.
Reine Code-Transformationen: Diese sind nur für Code-Daten vorgesehen. Dazu gehören Annotationen für Programmiersprachen, Annotationen zur Codequalität und ein Header-Cleaner für Lizenz- und Urheberrechtsinformationen. Das Framework enthält außerdem Transformationen für RAG-Anwendungen, wie beispielsweise die Aufteilung von Dokumenten in Abschnitte und einen Text-Encoder, der Einbettungsvektoren für Text erstellt. Diese Transformationen sind ein zentraler Aspekt, um Daten vorzubereiten, die in einer Vektordatenbank verwendet werden.
DPK ist für jeden, der KI entwickelt, von entscheidender Bedeutung, insbesondere für LLM-Anwendungen. Dieses Toolkit ist ein sauberes, skalierbares und standardisiertes Framework, das den komplexen und manchmal mühsamen Prozess der Data Preparation vereinfacht. Mit einem vollständigen Satz modularer „Transformationen“, die Entwickler und Data Scientists unterstützen, können diese Rohdaten bereinigen und strukturieren sowie wichtige Aspekte der KI-Governance in ihre Daten-Workflows integrieren. So können sie sich der Qualität und Vertrauenswürdigkeit der grundlegenden Daten sicher sein, die für Schulungen und Rechenschaftspflicht in Bezug auf Ethik- und Datenschutzstrategie verwendet werden. DPK verbessert letztlich KI-Systeme, indem es die Verantwortung und Vertrauenswürdigkeit für Entwickler gewährleistet, Modell-Innovationen ermöglicht und gleichzeitig fest in einer starken Datenbank verankert ist.