True ML Talks #16 - Pipeline für maschinelles Lernen @ Digits

Auf Geschwindigkeit ausgelegt: ~ 10 ms Latenz, auch unter Last
Unglaublich schnelle Methode zum Erstellen, Verfolgen und Bereitstellen Ihrer Modelle!
- Verarbeitet mehr als 350 RPS auf nur 1 vCPU — kein Tuning erforderlich
- Produktionsbereit mit vollem Unternehmenssupport
ML-Anwendungsfälle in Ziffern
Digits ist ein Unternehmen für Finanzmanagement-Software, das KI verwendet, um Buchhaltungsaufgaben für Betreiber zu automatisieren. Durch die Automatisierung von Aufgaben wie Transaktionsklassifizierung, Erkennung von Ausreißern und Betrugserkennung hilft Digits den Betreibern, ihren Kundenstamm zu verdoppeln und ihre Reaktionszeit gegenüber Kunden zu verbessern.
- Kunden-Onboarding: Digits verwendet KI, um Neukunden dabei zu helfen, ihr Konto einzurichten und ihre Bankkonten schnell und einfach zu verbinden.
- Klassifizierung der Transaktion: Digits verwendet KI, um Transaktionen automatisch zu klassifizieren, was Buchhaltern Zeit spart und eine genaue Kategorisierung gewährleistet.
- Erkennung von Ausreißern: Digits verwendet KI, um Ausreißer bei Transaktionen zu erkennen und Buchhaltern dabei zu helfen, ungewöhnliche Transaktionen schnell zu identifizieren und zu untersuchen.
- Berichterstattung: Digits bietet Buchhaltern eine Vielzahl von Berichten, die mithilfe von KI generiert wurden, um Zeit zu sparen und schnell die Erkenntnisse zu erhalten, die sie benötigen.
Von Digits verwendete ML-Modelle:
- Klassifikationsmodelle: Klassifizieren Sie Transaktionen in verschiedene Kategorien wie Mahlzeiten, Reisen und Inventar.
- Prognosemodelle: Prognostizieren Sie zukünftige Ergebnisse wie Kundenabwanderung und Betrug.
- Generative Modelle: Generieren Sie Text, z. B. Fragen an Kunden und Nachrichten, die Sie an Kunden senden möchten.
- Auf Ähnlichkeiten basierende Modelle: Finden Sie ähnliche Muster in Transaktionen und ahmen Sie diese Muster nach.
ML Journey bei Digits
Digits mussten auf Deep-Learning- und NLP-Modelle umsteigen, um den Herausforderungen der Subjektivität in der Rechnungslegung zu begegnen. Außerdem verfügte Digits über fundierte Kenntnisse in den Bereichen Data Engineering und Kubernetes, was für den Aufbau und die Skalierung einer erfolgreichen ML-Plattform unerlässlich war.
Das Team begann mit der Einführung von TFX für die ML-Pipeline-Orchestrierung und TF Serving für die Modellbereitstellung. Dies ermöglichte es Digits, ML-Modelle auf skalierbare und zuverlässige Weise zu erstellen und bereitzustellen.
Als Nächstes konzentrierte sich das Team auf die Entwicklung von Pipelines auf Ähnlichkeitsbasis. Diese Pipelines sind in der Lage, Transaktionen genau zu klassifizieren und Ausreißer zu identifizieren, selbst wenn die Daten mehrdeutig oder unvollständig sind. Dies liegt daran, dass Pipelines, die auf Ähnlichkeit basieren, ähnliche Muster in Transaktionen finden und diese Muster nachahmen. Dieser Ansatz ist effektiver als die Verwendung globaler Modelle für maschinelles Lernen, die je nach Interpretation der Daten durch den Buchhalter zu inkonsistenten Ergebnissen führen können.
Die ML-Pipelines von Digits werden jetzt für eine Vielzahl von Funktionen verwendet, darunter Transaktionsklassifizierung, Ausreißererkennung und Betrugserkennung. Dadurch ist Digits in der Lage, seinen Kunden wertvolle Einblicke zu bieten und ihnen zu helfen, Aufgaben zu automatisieren, die Genauigkeit zu verbessern und Geld zu sparen.
Orchestrierung von ML-Schulungen auf Kubernetes
Der Ansatz von Digits für das ML-Training ist gut organisiert und effizient. Die Verwendung von Kubernetes für die Orchestrierung ermöglicht es Digits, seine Trainingsabläufe nach Bedarf nach oben oder unten zu skalieren. Die Verwendung von TensorFlow Transform für die Vorverarbeitung und der Trainingsplattform in Google Cloud-Projekten bietet Digits die Tools und Ressourcen, die es benötigt, um komplexe Modelle schnell und effizient zu trainieren. Die Verwendung eines Validierungssatzes und einer Modellregistrierung stellt sicher, dass Digits hochwertige Modelle an die Produktion liefert.
Digits orchestriert das ML-Training auf Kubernetes mithilfe der folgenden Schritte:
- ETL-Prozess: Digits verwendet einen ETL-Prozess, um Artefakte aus dem gesamten System zu sammeln und kontinuierlich Bootstrap-Datensätze zu booten.
- Datenvalidierung und Schemaerstellung: Digits validiert die Statistiken der Datensätze und erstellt Schemas.
- Vorverarbeitung: Digits verwendet TensorFlow Transform, um die Daten vorzuverarbeiten.
- Schulung: Digits trainiert die Modelle in Google Cloud-Projekten mithilfe der Trainingsplattform.
- Bewertung: Digits bewertet die trainierten Modelle mithilfe eines Validierungssatzes.
- Modellregistrierung: Digits versendet die trainierten Modelle an eine Modellregistrierung.
- Einsatz: Digits verwendet ein CI/CD-System, um die trainierten Modelle in der Produktion einzusetzen.
Verwaltung der GPU-Ressourcenzuweisung im ML-Training bei Digits
Im Bereich der GPU-Ressourcenzuweisung für das ML-Training verwendet Digits einen umfassenden Ansatz, der sowohl manuelle als auch automatisierte Verfahren umfasst. Diese Strategie umfasst:
Manuelle Prozesse: Digits legt klare Grenzen für die GPU-Nutzung für Teams und Projekte fest, um eine gerechte Zuweisung zu gewährleisten und gleichzeitig eine Überauslastung zu vermeiden. Darüber hinaus setzt es sich für eine offene Kommunikation zwischen ML-Ingenieuren ein, fördert das Bewusstsein für Ressourcen und mildert Konflikte.
Automatisierte Prozesse: Digits ist wachsam, indem es die GPU-Nutzung kontinuierlich überwacht und rechtzeitig Warnmeldungen ausgibt, falls die Nutzung vordefinierter Schwellenwerte überschreitet, um eine frühzeitige Identifizierung und Behebung von Problemen zu ermöglichen. Ein Warteschlangensystem gewährleistet eine faire GPU-Zuweisung, wobei das Prinzip „Wer zuerst kommt, mahlt zuerst“ eingehalten wird.
Bewährte Verfahren: Digits ermutigt ML-Techniker, die GPU-Nutzung proaktiv zu planen und so die Verfügbarkeit von Ressourcen und die Minimierung von Konflikten sicherzustellen. Die Nutzung von Cloud-Ressourcen bietet Flexibilität und gewährleistet auch in Zeiten hoher Nachfrage einen angemessenen GPU-Zugriff. Die Förderung der Transparenz bei der GPU-Nutzung fördert das Vertrauen und die Zusammenarbeit zwischen den Teammitgliedern und verbessert letztendlich das Ressourcenmanagement.
Verwendung von TensorFlow Profiler für die Analyse von Trainingsläufen an Ziffern
Bei Digits steht TensorFlow Profiler im Mittelpunkt der Analyse von Trainingsläufen und liefert wertvolle Erkenntnisse für die Optimierung von ML-Modellen:
Digits protokolliert sorgfältig jeden Trainingslauf durch den TensorFlow Profiler, sodass Leistungstrends im Laufe der Zeit verfolgt werden können.
Wichtige Kennzahlen wie Trainingsdauer, Speicherverbrauch und Genauigkeit werden sorgfältig geprüft verfolgt, was aussagekräftige Leistungsvergleiche zwischen verschiedenen Modellen und Konfigurationen ermöglicht.
TensorFlow Profiler stattet Digits mit der Fähigkeit aus, die Leistung verschiedener Trainingsläufe systematisch zu vergleichen und so bei der umsichtigen Auswahl des am besten geeigneten Modells und der Konfiguration für bestimmte Problembereiche zu helfen.
Vorteile:
- Verbesserte Leistung: TensorFlow Profiler identifiziert und behebt Leistungsengpässe, was zu erheblichen Verbesserungen der Trainingsgeschwindigkeit und -genauigkeit führt.
- Kostenreduzierung: Eine verbesserte Trainingsleistung reduziert die Gesamtkosten des ML-Modelltrainings für Digits.
- Höhere Transparenz: Detaillierte Leistungseinblicke, die von TensorFlow Profiler bereitgestellt werden, verbessern das Verständnis von Digits für das Training von ML-Modellen und helfen dabei, potenzielle Probleme frühzeitig zu erkennen.
Optimierung von Validierungssätzen für ähnlichkeitsbasierte ML-Pipelines
Berücksichtigen Sie bei der Erstellung von Validierungssätzen für ähnlichkeitsbasierte ML-Pipelines die folgenden Schlüsselfaktoren:
- Zielsetzung: Definieren Sie das Ziel des Modells — was macht Ähnlichkeit zwischen Datenpunkten aus? Sobald dieses Ziel klar ist, kann der Validierungssatz mit bekannten ähnlichen und unähnlichen Beispielen gefüllt werden.
- Kontext: Das Validierungssatz sollte die reale Anwendung des Modells widerspiegeln. Wenn das Modell beispielsweise Kunden Produkte empfiehlt, sollte es Artikel enthalten, die Kunden häufig zusammen kaufen.
- Größe: Finden Sie ein Gleichgewicht — Ihr Validierungssatz sollte statistisch signifikant, aber überschaubar sein. Als allgemeine Richtlinie gilt, dass es mindestens 10% des Umfangs des Trainingssatzes ausmachen sollte.
- Variabilität: Um die Robustheit des Modells zu erhöhen, stellen Sie sicher, dass Ihr Validierungssatz verschiedene Datenpunkte umfasst.
- Auswirkungen der Betreiber: Die Anzahl der Betreiber kann den Validierungssatz auf bestimmte Branchen ausrichten. Um dem entgegenzuwirken, sollten Sie Beispiele aus verschiedenen Branchen und Branchen einbeziehen.
Herausforderungen und Optimierungen ähnlichkeitsbasierter ML-Pipelines
Auf Ähnlichkeit basierende ML-Pipelines sind im Vergleich zu herkömmlichen ML-Pipelines mit einer Reihe einzigartiger Herausforderungen und Optimierungen verbunden.
Herausforderungen:
- Auswahl einer Verlustfunktion: Es gibt eine Vielzahl verschiedener Verlustfunktionen, die für ähnlichkeitsbasierte ML-Modelle verwendet werden können. Die Wahl der richtigen Verlustfunktion ist wichtig, um die Genauigkeit und Zuverlässigkeit des Modells sicherzustellen.
- Strukturierung der Trainingsdaten: Wie die Trainingsdaten strukturiert sind, hängt von der gewählten Verlustfunktion ab. Es ist wichtig, die Trainingsdaten so zu strukturieren, dass sie effizient und effektiv sind.
- Leistungsoptimierung: Das Trainieren von ML-Modellen auf Ähnlichkeitsbasis kann rechenintensiv sein. Es ist wichtig, den Trainingsprozess im Hinblick auf die Leistung zu optimieren.
Optimierungen:
- Verwende eine GPU: GPUs können das Training ähnlichkeitsbasierter ML-Modelle erheblich beschleunigen.
- Profilieren Sie das Modell: Die Profilierung des Modells während des Trainings kann helfen, Engpässe und Bereiche zu identifizieren, in denen der Trainingsprozess verbessert werden kann.
- Daten vorverarbeiten: Die Vorverarbeitung der Daten kann die Leistung des Modells verbessern und die Trainingszeit verkürzen.
- Reduzieren Sie die Eingabe-Token: Wenn Sie ein Sprachmodell verwenden, kann die Reduzierung der Anzahl der Eingabe-Tokens die Leistung des Modells verbessern und die Trainingszeit reduzieren.
Digits verwendet TensorFlow Extended- und Vertex AI-Pipelines für ähnlichkeitsbasierte ML-Pipelines
Digits verwendet TensorFlow Extended (TFX) und Vertex AI Pipelines für ähnlichkeitsbasierte ML-Pipelines. TFX ist eine von Google entwickelte Open-Source-Komplettplattform für den Aufbau, die Bereitstellung und die Verwaltung von ML-Pipelines. Vertex AI Pipelines ist ein vollständig verwalteter Cloud-Service für die Verwaltung von ML-Pipelines.
TFX bietet eine Reihe von Komponenten, die für den Aufbau ähnlichkeitsbasierter ML-Pipelines nützlich sind, darunter:
- TFX-Datenvalidierung: Validiert die Qualität und Konsistenz der Trainingsdaten.
- TFX-Transformation: Verarbeitet die Trainingsdaten vor, einschließlich der Behandlung fehlender Werte, der Konvertierung von Datentypen und der Skalierung von Funktionen.
- TFX-Modellanalyse: Evaluiert die Leistung trainierter Modelle auf einem ausgehaltenen Validierungssatz.
- TFX-Serving: Stellt trainierte Modelle in der Produktion bereit.
Vertex AI Pipelines macht es einfach, TFX-Pipelines in großem Maßstab auszuführen und zu verwalten. Vertex AI Pipelines bietet eine Reihe von Funktionen, die für ML-Pipelines auf Ähnlichkeit basieren, nützlich sind, darunter:
- Automatische Skalierung: Vertex AI Pipelines kann die Ressourcen, die für den Betrieb von Pipelines verwendet werden, automatisch je nach Bedarf skalieren.
- Überwachung und Alarmierung: Vertex AI Pipelines bietet Überwachungs- und Warnfunktionen, mit denen Probleme mit Pipelines identifiziert und gelöst werden können.
- Versionskontrolle: Vertex AI Pipelines bietet Funktionen zur Versionskontrolle, mit denen Änderungen an Pipelines einfach verfolgt und verwaltet werden können.
Digits verwendet Vertex-Endpunkte für die Modellregistrierung und TF Serving für die Produktionalisierung
Digits verwendet Vertex Endpoints für die Modellregistrierung und TF Serving für die Produktionalisierung.
Vertex Endpoints ist ein vollständig verwalteter Cloud-Dienst für die Bereitstellung und Verwaltung von Modellen für maschinelles Lernen. Er bietet eine Reihe von Funktionen, die ihn zu einer guten Wahl für die Modellregistrierung machen, darunter:
- Zentralisiertes Management: Vertex Endpoints bietet einen zentralen Ort zum Speichern und Verwalten von Modellen.
- Versionskontrolle: Vertex Endpoints bietet Funktionen zur Versionskontrolle, mit denen Änderungen an Modellen einfach verfolgt und verwaltet werden können.
- Zutrittskontrolle: Vertex Endpoints bietet Zugriffskontrollfunktionen, mit denen Sie einfach kontrollieren können, wer auf Modelle zugreifen und sie bereitstellen kann.
TF Serving ist ein leistungsstarkes, produktionsbereites TensorFlow-Serversystem. Es bietet eine Reihe von Funktionen, die es zu einer guten Wahl für die Produktion machen, darunter:
- Hohe Leistung: TF Serving kann Modelle mit hohem Durchsatz und niedriger Latenz bereitstellen.
- Skalierbarkeit: TF Serving kann so skaliert werden, dass es eine große Anzahl von Anfragen verarbeitet.
- Zuverlässigkeit: TF Serving ist so konzipiert, dass es zuverlässig und produktionsbereit ist.
Digits verwendet CI/CD, um die Bereitstellung von Modellen auf Vertex-Endpunkten zu automatisieren. Wenn ein Modell in der Modellregistrierung registriert ist, wird das CI/CD-System ausgelöst. Das CI/CD-System erstellt dann ein TF Serving-Modell und stellt es auf einem Vertex-Endpunkt bereit.
Vorteile:
Die Verwendung von Vertex Endpoints und CI/CD für die Produktionalisierung bietet eine Reihe von Vorteilen:
- Skalierbarkeit: Vertex Endpoints können die Ressourcen, die für die Bereitstellung von Modellen verwendet werden, automatisch skalieren, was die Bearbeitung einer großen Anzahl von Anfragen erleichtert.
- Zuverlässigkeit: Vertex Endpoints wurde so konzipiert, dass es zuverlässig und produktionsbereit ist.
- Automatisierung: CI/CD automatisiert die Bereitstellung von Modellen, was das Risiko menschlicher Fehler reduziert und die häufige Bereitstellung von Modellen erleichtert.
Wie Digits automatisch erkennt, wenn Modelle neu trainiert werden müssen
Digits verwendet eine Kombination von Techniken, um automatisch zu erkennen, wann Modelle neu trainiert werden müssen:
- Überwachung der Modellvorhersagen: Digits überwacht die Vorhersagen von Modellen in der Produktion. Wenn die Vorhersagen ungenau werden, kann dies ein Zeichen dafür sein, dass das Modell neu trainiert werden muss.
- Leistungsmetriken des Modells verfolgen: Digits verfolgt eine Reihe von Modellleistungsmetriken wie Genauigkeit, Präzision und Rückruf. Wenn sich diese Kennzahlen verschlechtern, kann dies ein Zeichen dafür sein, dass das Modell neu trainiert werden muss.
- Datenschnipsel validieren: Digits validiert regelmäßig Datenschnipsel aus der Produktion. Dies hilft dabei, eventuell auftretende Datenabweichungen zu erkennen. Wenn eine Datendrift festgestellt wird, kann dies ein Zeichen dafür sein, dass das Modell neu trainiert werden muss.
- Überprüfung der Modellausgaben: Digits verfügt über eine interne Bewertungsplattform, auf der Mitarbeiter die Ergebnisse von Modellen überprüfen können. Dies hilft dabei, Fälle zu identifizieren, in denen das Modell keine genauen Vorhersagen trifft. Wenn solche Fälle erkannt werden, kann dies ein Zeichen dafür sein, dass das Modell neu trainiert werden muss.
Sobald Digits feststellt, dass ein Modell neu trainiert werden muss, verwendet es CI/CD, um den Umschulungs- und Bereitstellungsprozess zu automatisieren. Das CI/CD-System erstellt ein neues TF Serving-Modell unter Verwendung der neuesten Trainingsdaten und stellt es auf einem Vertex-Endpunkt bereit.
Beispiel:
Das Folgende ist ein Beispiel dafür, wie der automatische Modell-Retraining-Prozess von Digits funktioniert:
- Ein in der Produktion bestehendes Modell macht eine ungenaue Vorhersage.
- Das Überwachungssystem von Digits erkennt die ungenaue Vorhersage und sendet eine Benachrichtigung an das CI/CD-System.
- Das CI/CD-System löst einen neuen Trainingsjob aus.
- Der Trainingsjob trainiert ein neues Modell mit den neuesten Trainingsdaten.
- Das CI/CD-System stellt das neue Modell auf einem Vertex-Endpunkt bereit.
- Das neue Modell wird nun verwendet, um Vorhersagen in der Produktion zu treffen.
Die Bedeutung der Zusammenarbeit zwischen ML-Ingenieuren und Designern
Ingenieure und Designer für maschinelles Lernen (ML) arbeiten oft in Silos, was zu Problemen führen kann, wenn versucht wird, ML-Modelle in die Produktion zu bringen. ML-Ingenieure entwickeln möglicherweise Modelle, die zwar genau, aber nicht benutzerfreundlich sind, während Designer möglicherweise Benutzeroberflächen erstellen, die zwar optisch ansprechend sind, aber kein Feedback zu Modellvorhersagen einholen.
Um diesen Herausforderungen zu begegnen, ist es wichtig, dass ML-Ingenieure und Designer eng zusammenarbeiten. Dies kann wie folgt geschehen:
- Gemeinsam an den Produktanforderungen arbeiten: ML-Ingenieure und Designer sollten zusammenarbeiten, um die Produktanforderungen für ML-Modelle zu definieren. Dies wird dazu beitragen, sicherzustellen, dass die Modelle so entwickelt werden, dass sie den Bedürfnissen der Benutzer entsprechen, und dass das Design der Schnittstellen mit den Modellen kompatibel ist.
- Feedback teilen: ML-Ingenieure und Designer sollten regelmäßig Feedback miteinander austauschen. Dies hilft, potenzielle Probleme mit den Modellen oder den Schnittstellen frühzeitig zu erkennen.
- Feedback-Schleifen erstellen: ML-Ingenieure und Designer sollten Feedback-Schleifen erstellen, um Feedback von Benutzern zur Leistung der Modelle und zur Benutzerfreundlichkeit der Schnittstellen zu sammeln. Dieses Feedback kann verwendet werden, um die Modelle und die Schnittstellen im Laufe der Zeit zu verbessern.
Tipps für den Aufbau von ML-Plattformen
- Effizienz: Konzentrieren Sie sich auf den Aufbau effizienter MLOps-Pipelines für bestimmte Anwendungen, z. B. solche, die proprietäre Daten oder ein hohes Maß an Datenschutz und Sicherheit erfordern.
- API-zuerst: Erwägen Sie, vortrainierte Modelle von OpenAI, Anthropic, Bard und anderen Anbietern für generische Aufgaben zu verwenden.
- Beratung: Konzentrieren Sie sich auf die Beratung mit anderen Teammitgliedern zur Verwendung dieser APIs und zur Lösung spezifischer domänenspezifischer Probleme.
Generative KI @ Ziffern
Generative KI hat das Potenzial, viele Branchen zu revolutionieren. Hier sind einige der Anwendungsfälle für generative KI bei Digits:
- Förderung der Kommunikation zwischen Buchhaltern und Betreibern: Generative KI kann verwendet werden, um Schätzungen von Fragen und Antworten zu generieren, was beiden Parteien Zeit und Mühe sparen kann.
- Internes Hosting großer Sprachmodelle: Digits verfügt über eine eigene Infrastruktur für das Hosten großer Sprachmodelle, die es ermöglicht, dies auf sichere und datenschutzorientierte Weise zu tun.
- Verwendung des API-basierten Zugriffs auf generative KI-Modelle: Es besteht das Potenzial, den API-basierten Zugriff auf generative KI-Modelle mit ähnlichkeitsbasiertem maschinellem Lernen zu kombinieren, um ein hervorragendes Produkterlebnis zu bieten.
Es gibt Datenschutz- und Sicherheitsbedenken im Zusammenhang mit generativer KI, und es ist wichtig, diese Bedenken verantwortungsbewusst anzugehen. Wir als Community können Wege finden, generative KI auf eine Weise zu entwickeln und zu nutzen, die für alle sicher und vorteilhaft ist.
Die Casting- und Modelregistrierungs-Hosting-Landschaft wird sich in den kommenden Jahren erheblich verändern, um den Bedürfnissen großer Sprachmodelle gerecht zu werden. - Hannes
Lesen Sie unsere vorherigen Blogs in der True ML Talks-Reihe:
Schaue weiter TrueML YouTube-Serie und das TrueML lesen Blog-Serie.
Wahre Gießerei ist ein ML Deployment PaaS über Kubernetes, um die Workflows von Entwicklern zu beschleunigen und ihnen gleichzeitig volle Flexibilität beim Testen und Bereitstellen von Modellen zu bieten und gleichzeitig die volle Sicherheit und Kontrolle für das Infra-Team zu gewährleisten. Über unsere Plattform ermöglichen wir Teams für maschinelles Lernen bereitstellen und überwachen Modelle innerhalb von 15 Minuten mit 100% iger Zuverlässigkeit, Skalierbarkeit und der Möglichkeit, innerhalb von Sekunden rückgängig zu machen. So können sie Kosten sparen und Modelle schneller für die Produktion freigeben, wodurch ein echter Geschäftswert erzielt wird.
TrueFoundry AI Gateway bietet eine Latenz von ~3—4 ms, verarbeitet mehr als 350 RPS auf einer vCPU, skaliert problemlos horizontal und ist produktionsbereit, während LiteLM unter einer hohen Latenz leidet, mit moderaten RPS zu kämpfen hat, keine integrierte Skalierung hat und sich am besten für leichte Workloads oder Prototyp-Workloads eignet.
Der schnellste Weg, deine KI zu entwickeln, zu steuern und zu skalieren













.png)




.png)






.webp)

.webp)



