Lassen Sie uns einen generativen KI-Stack erstellen

January 22, 2022
-
Alexander Alten
-

In einem früheren Beitrag vom November schrieb Jorge darüber, was FL ist und warum führende Datenwissenschaftler FL nur verwenden, um ML- und KI-Modelle zu trainieren und zu produzieren. Um den zunehmenden Einsatz von Federated Learning zu fördern, verzeichnen wir auch in China eine hohe Akzeptanz [1]. Wenn es um Federated Learning-Frameworks geht, finden wir in der Regel zwei führende Open-Source-Projekte — Apache Wayang [2] (verwaltet von databloom) und Flower [3] (verwaltet von Adbloom) Rap). Und auf den ersten Blick scheinen beide Frameworks dasselbe zu tun. Aber wie immer erzählt die zweite Ansicht eine andere Geschichte.

Wie unterscheidet sich Flower von Wayang?

Flower ist ein föderiertes Lernsystem, das in Python geschrieben ist und eine Vielzahl von Trainings- und KI-Frameworks unterstützt. Das Schöne an Flower ist das Strategiekonzept [4]; der Datenwissenschaftler kann definieren, welches und wie ein spezielles Framework verwendet wird. Flower liefert das Modell an das gewünschte Framework und beobachtet die Ausführung, holt die Berechnungen zurück und startet den nächsten Zyklus. Das macht Federated Learning in Python einfach, beschränkt die gleichzeitige Verwendung aber auch auf Plattformen, die von Python unterstützt werden. Flower hat, soweit ich sehen konnte, keinen Optimierer für Datenabfragen; ein Optimierer versteht den Code und teilt das Modell in kleinere Teile auf, um mehrere Frameworks gleichzeitig zu verwenden (Modellparallelität). Und hier haben wir den idealen Berührungspunkt zwischen Blossom und Flower.


Kombiniere Blossom und Flower und baue einen föderierten generativen KI-Stack wie OpenAI

Wie baut man ein Chatbot-System auf, das mehrere Funktionen und Kunden auf der ganzen Welt erfüllt, wie in einer Bank? Ein Chatbot-Stack verwendet in der Regel NLP in Kombination mit mehreren Datenquellen, um eine natürliche Kommunikation zwischen Menschen und Maschinen zu ermöglichen. Die Nachfrage nach Interaktion zwischen Maschine und Mensch und der Kommunikation zwischen Menschen hat erheblich zugenommen, und die Prognosen von Gartner sind ein Beweis dafür.


„Die Verarbeitung natürlicher Sprache ist ein Teilgebiet der Linguistik, Informatik und künstlichen Intelligenz, das sich mit den Interaktionen zwischen Computern und menschlicher Sprache befasst, insbesondere mit der Programmierung von Computern für die Verarbeitung und Analyse großer Mengen natürlicher Sprachdaten“ (Wikipedia).


Die typische Infrastruktur, die wir in Betracht ziehen müssen, ist wie ein durchwachsenes Umfeld: Wir haben mehrere Datenquellen, die typischerweise von Data Warehouses über RDBMS-Systeme bis hin zu ziemlich geschlossenen Datenquellen wie Finanztransaktionsspeicher, Kundenbankdaten, Kreditwürdigkeitsprüfungen usw. reichen. Die Quellen sind meist nicht die modernsten, manchmal haben sie nicht einmal Verbindungspunkte - wie DWH-Systeme, die typischerweise mit 90+% Auslastung betrieben werden.

Hier kommt Blossom ins Spiel. Mit Blossom können wir uns mit jedem dieser Systeme verbinden (falls gewünscht und benötigt), und wir können bereits verfügbare Datenverarbeitungs-Frameworks und Engines wie Spark, Kafka oder Flink (und ihre kommerziellen Gegenstücke) verwenden, ohne das Engineering-Team in die Luft zu jagen.

Jetzt der lustige Teil mit Flower: Wir schließen Flower an Blossom an, und voilà — Problem gelöst! Die Architektur könnte so aussehen:


Blossom Sky and Flower as open source NLP platform
Blossom Sky and Flower als Open-Source-NLP-Plattform



Um Blossom mit Flower zu verbinden, benötigen wir nur ein paar Codezeilen:


import blossom as bls

import flwr as fl

import tensorflow as tf

context = bls.context(env="federated")

transactions = context.read("url to transaction") \

                .filter( transactionFilter )

input_flower = context.read("url to customer table") \

 .filter( customerFilter ) \

 .join (transactions ) \

 .map ( convertToVector ) \

 .toNumpy()

context.runFlower(

  input_flower, \

  server=fl.server.start_server("0.0.0.0:8080", config={"num_rounds": 3}) \

  client=fl.client.start_numpy_client("0.0.0.0:8080", client=FlowerImplementedClient())

  flowerEngine=tf

)


Wir nennen diesen Stack einen Kombinierten NLP-Federated Data Service. Flower kümmert sich um die Chatbot-Kommunikation, das ML-Modell und die Ausführung mit TF (Tensorflow) oder einem anderen unterstützten ML-Framework und liefert das Ergebnis an Blossom. Blossom kümmert sich nun darum, das Modell mit Informationen aus tieferen Backend-Systemen anzureichern und gibt die Ausgabe an Flower zurück, und Flower kümmert sich um die nächste Iteration mit TensorFlow (TF).

Diese Architektur ist das Rückgrat für ein umfangreiches NLP-System, das die besten verfügbaren Tools für Federated Learning verwendet. Dieser Stack ist zukunftssicher, beide Frameworks sind von Anfang an mit Unterstützung für steckbare Erweiterungen ausgestattet. Das heißt: Was auch immer in der Zukunft kommt, dieser Stack kann damit umgehen. Sogar das KI-Training zum Quantencomputer wird sich problemlos als Plugin einsetzen lassen.


Fazit

Der Aufbau modernster KI- und Machine-Learning-/NLP-Stacks ist kein Bereich, mit dem nur die größten Datenunternehmen der Welt umgehen können. Mit diesem Ansatz garantieren wir Datennachhaltigkeit, unübertroffenen Datenschutz und ermöglichen die digitale Transformation auf einem völlig neuen Niveau.

[1] https://cacm.acm.org/magazines/2020/12/248796-federated-learning-for-privacy-preserving-ai/fulltext
[2] https://wayang.apache.org/documentation.html
[3] https://github.com/adap/flower
[4] https://flower.dev/docs/implementing-strategies.html

Über Scalytics

Da die Anforderungen an die moderne KI-Entwicklung steigen, haben traditionelle ETL-Plattformen Schwierigkeiten, Schritt zu halten, da sie durch ihre eigenen Einschränkungen in Bezug auf Datenbewegungen und Verarbeitungsgeschwindigkeit blockiert werden. Scalytics Connect ist die Lösung der nächsten Generation, die speziell für die Optimierung von KI-Trainings durch innovative Datenintegrationsfunktionen entwickelt wurde.

Wir ermöglichen es Ihnen, datengestützte Entscheidungen in Minuten statt Tagen zu treffen
Scalytics ist basierend auf Apache Wayang, und wir sind stolz darauf, das Projekt zu unterstützen. Du kannst dir ihr öffentliches GitHub-Repo hier ansehen. Wenn Dir unsere Software gefällt - ein Star ⭐ würde viel bedeuten!

Wenn Sie professionelle Unterstützung von unserem Team von branchenführenden Experten benötigen, können Sie sich jederzeit an uns über Slack oder E-Mail wenden.
back to all articlesFollow us on Google News
Schneller zum KI-Erfolg
Kostenlose White Paper. Erfahren Sie, wie Scalytics KI und ML optimiert und Unternehmen in die Lage versetzt, schnellere KI-Erfolge zu erzielen.

Starten Sie noch heute mit Scalytics Connect

Thank you! Our team will get in touch soon.
Oops! Something went wrong while submitting the form.