Zehntausende von AWS-Kunden nutzen AWS-Services für maschinelles Lernen (ML), um ihre ML-Entwicklung mit vollständig verwalteter Infrastruktur und Tools zu beschleunigen. Kunden, die ML-Modelle vor Ort entwickelt haben, wie z. B. auf ihrem lokalen Desktop, möchten ihre alten ML-Modelle in die AWS Cloud migrieren, um die Vorteile des umfassendsten Satzes von ML-Services, Infrastruktur und Implementierungsressourcen, die auf AWS verfügbar sind, vollständig zu nutzen .
Die Legacy-Code bezieht sich auf Code, der für die manuelle Ausführung auf einem lokalen Desktop entwickelt wurde und nicht mit Cloud-fähigen SDKs wie dem erstellt wurde AWS SDK für Python (Boto3) or Amazon SageMaker Python-SDK. Mit anderen Worten, diese Legacy-Codes sind nicht für die Cloud-Bereitstellung optimiert. Die bewährte Methode für die Migration besteht darin, diese Legacy-Codes mithilfe von umzugestalten Amazon SageMaker-API oder das SageMaker Python SDK. In einigen Fällen haben Organisationen mit einer großen Anzahl von Legacy-Modellen jedoch möglicherweise nicht die Zeit oder die Ressourcen, um alle diese Modelle neu zu schreiben.
In diesem Beitrag teilen wir einen skalierbaren und einfach zu implementierenden Ansatz zur Migration von Legacy-ML-Code in die AWS Cloud für die Verwendung von Inferenzen Amazon Sage Maker und AWS Step-Funktionen, wobei ein Minimum an Code-Refactoring erforderlich ist. Sie können diese Lösung einfach erweitern, um weitere Funktionen hinzuzufügen. Wir demonstrieren, wie zwei verschiedene Personen, ein Datenwissenschaftler und ein MLOps-Ingenieur, zusammenarbeiten können, um Hunderte von Legacy-Modellen zu heben und zu verschieben.
Lösungsüberblick
In diesem Framework führen wir den Legacy-Code in einem Container als SageMaker-Verarbeitung Arbeit. SageMaker führt das Legacy-Skript in einem Verarbeitungscontainer aus. Das Verarbeitungscontainer-Image kann entweder ein integriertes SageMaker-Image oder ein benutzerdefiniertes Image sein. Die zugrunde liegende Infrastruktur für einen Verarbeitungsauftrag wird vollständig von SageMaker verwaltet. Es ist keine Änderung des Legacy-Codes erforderlich. Vertrautheit mit dem Erstellen von SageMaker-Verarbeitungsaufträgen ist alles, was erforderlich ist.
Wir gehen von der Beteiligung zweier Personen aus: einem Datenwissenschaftler und einem MLOps-Ingenieur. Der Datenwissenschaftler ist dafür verantwortlich, den Code in SageMaker zu verschieben, entweder manuell oder durch Klonen aus einem Code-Repository wie z AWS-CodeCommit. Amazon SageMaker-Studio bietet eine integrierte Entwicklungsumgebung (IDE) zum Implementieren verschiedener Schritte im ML-Lebenszyklus, und der Datenwissenschaftler verwendet sie, um manuell einen benutzerdefinierten Container zu erstellen, der die erforderlichen Codeartefakte für die Bereitstellung enthält. Der Container wird in einer Containerregistrierung wie z Amazon Elastic Container-Registrierung (Amazon ECR) für Bereitstellungszwecke.
Der MLOps-Ingenieur übernimmt die Verantwortung für die Erstellung eines Step Functions-Workflows, den wir wiederverwenden können, um den vom Data Scientist entwickelten benutzerdefinierten Container mit den entsprechenden Parametern bereitzustellen. Der Step Functions-Workflow kann so modular wie nötig sein, um dem Anwendungsfall gerecht zu werden, oder er kann aus nur einem Schritt bestehen, um einen einzelnen Prozess zu initiieren. Um den Aufwand für die Migration des Codes zu minimieren, haben wir drei modulare Komponenten identifiziert, um einen voll funktionsfähigen Bereitstellungsprozess aufzubauen:
- Anarbeitung
- Inferenz
- Nachbearbeitung
Das folgende Diagramm veranschaulicht unsere Lösungsarchitektur und unseren Workflow.
Die folgenden Schritte sind an dieser Lösung beteiligt:
- Die Data Scientist Persona verwendet Studio, um Legacy-Code durch Klonen aus einem Code-Repository zu importieren und den Code dann in separate Komponenten zu modularisieren, die den Schritten des ML-Lebenszyklus (Vorverarbeitung, Inferenz und Nachverarbeitung) folgen.
- Der Datenwissenschaftler verwendet Studio und insbesondere die Studio Image Build-CLI Tool von SageMaker, um ein Docker-Image zu erstellen. Mit diesem CLI-Tool kann der Datenwissenschaftler das Image direkt in Studio erstellen und das Image automatisch in Amazon ECR registrieren.
- Der MLOps-Ingenieur verwendet das registrierte Container-Image und erstellt mithilfe von Step Functions eine Bereitstellung für einen bestimmten Anwendungsfall. Step Functions ist ein serverloser Workflow-Service, der SageMaker-APIs direkt durch die Verwendung der Amazon States Language steuern kann.
SageMaker-Verarbeitungsjob
Lassen Sie uns verstehen, wie a SageMaker-Verarbeitungsjob läuft. Das folgende Diagramm zeigt, wie SageMaker einen Processing-Job hochfährt.
SageMaker übernimmt Ihr Skript, kopiert Ihre Daten ab Amazon Simple Storage-Service (Amazon S3) und zieht dann einen Verarbeitungscontainer. Das Verarbeitungscontainer-Image kann entweder ein integriertes SageMaker-Image oder ein benutzerdefiniertes Image sein, das Sie bereitstellen. Die zugrunde liegende Infrastruktur für einen Verarbeitungsauftrag wird vollständig von SageMaker verwaltet. Clusterressourcen werden für die Dauer Ihres Auftrags bereitgestellt und nach Abschluss eines Auftrags bereinigt. Die Ausgabe des Processing-Jobs wird in dem von Ihnen angegebenen S3-Bucket gespeichert. Weitere Informationen zum Erstellen Ihres eigenen Containers finden Sie unter Erstellen Sie Ihren eigenen Verarbeitungscontainer (erweitertes Szenario).
Der SageMaker Processing-Job richtet Ihr Verarbeitungs-Image mithilfe eines Docker-Container-Einstiegspunktskripts ein. Sie können auch Ihren eigenen benutzerdefinierten Einstiegspunkt bereitstellen, indem Sie die Parameter ContainerEntrypoint und ContainerArguments der verwenden App-Spezifikation API. Wenn Sie Ihren eigenen benutzerdefinierten Einstiegspunkt verwenden, haben Sie die zusätzliche Flexibilität, ihn als eigenständiges Skript auszuführen, ohne Ihre Bilder neu zu erstellen.
Für dieses Beispiel erstellen wir einen benutzerdefinierten Container und verwenden einen SageMaker Processing-Job für die Inferenz. Vor- und Nachverarbeitungsjobs verwenden den Skriptmodus mit einem vorgefertigten Scikit-Learn-Container.
Voraussetzungen:
Führen Sie die folgenden erforderlichen Schritte aus, um diesem Beitrag zu folgen:
- Erstellen Sie eine Studio-Domain. Anweisungen finden Sie unter Integrieren Sie die Amazon SageMaker-Domäne mithilfe der Schnelleinrichtung.
- Erstellen Sie einen S3-Bucket.
- Klonen Sie die bereitgestellten GitHub Repo ins Studio.
Das GitHub-Repository ist in verschiedenen Ordnern organisiert, die den verschiedenen Phasen im ML-Lebenszyklus entsprechen, was eine einfache Navigation und Verwaltung erleichtert:
Migrieren Sie den Legacy-Code
In diesem Schritt fungieren wir als Data Scientist, der für die Migration des Legacy-Codes verantwortlich ist.
Wir beginnen mit dem Öffnen der build_and_push.ipynb
Notebook.
Die erste Zelle im Notizbuch führt Sie durch die Installation der Studio Image Build-CLI. Diese CLI vereinfacht den Setup-Prozess, indem sie automatisch eine wiederverwendbare Build-Umgebung erstellt, mit der Sie über übergeordnete Befehle interagieren können. Mit der CLI ist das Erstellen eines Images so einfach wie die Anweisung zum Erstellen, und das Ergebnis ist ein Link zum Speicherort Ihres Images in Amazon ECR. Dieser Ansatz eliminiert die Notwendigkeit, den komplexen zugrunde liegenden Workflow zu verwalten, der von der CLI orchestriert wird, und rationalisiert den Image-Erstellungsprozess.
Bevor wir den Build-Befehl ausführen, ist es wichtig sicherzustellen, dass die Rolle, die den Befehl ausführt, über die erforderlichen Berechtigungen verfügt, wie in der CLI angegeben GitHub Readme bzw verwandter Beitrag. Wenn die erforderlichen Berechtigungen nicht erteilt werden, kann dies zu Fehlern während des Erstellungsprozesses führen.
Siehe folgenden Code:
Um Ihren Legacy-Code zu rationalisieren, teilen Sie ihn in drei verschiedene Python-Skripts mit den Namen preprocessing.py, optimize.py und postprocessing.py auf. Halten Sie sich an bewährte Programmierpraktiken, indem Sie den Code in Funktionen konvertieren, die von einer Hauptfunktion aufgerufen werden. Stellen Sie sicher, dass alle erforderlichen Bibliotheken importiert und die Datei „requirements.txt“ so aktualisiert wird, dass sie alle benutzerdefinierten Bibliotheken enthält.
Nachdem Sie den Code organisiert haben, packen Sie ihn zusammen mit der Anforderungsdatei in einen Docker-Container. Sie können den Container ganz einfach in Studio mit dem folgenden Befehl erstellen:
Standardmäßig wird das Bild mit dem Tag „latest“ in ein ECR-Repository namens sagemakerstudio gepusht. Darüber hinaus wird die Ausführungsrolle der Studio-App zusammen mit dem standardmäßigen SageMaker-Python-SDK-S3-Bucket verwendet. Diese Einstellungen können jedoch einfach mit den entsprechenden CLI-Optionen geändert werden. Siehe folgenden Code:
Nachdem der Container nun erstellt und in einem ECR-Repository registriert wurde, ist es an der Zeit, sich eingehender damit zu befassen, wie wir ihn zum Ausführen von „predict.py“ verwenden können. Wir zeigen Ihnen auch den Prozess der Verwendung eines vorgefertigten scikit-lernen Container zum Ausführen von preprocessing.py und postprocessing.py.
Produzieren Sie den Container
In diesem Schritt fungieren wir als MLOps-Ingenieur, der den im vorherigen Schritt erstellten Container produziert.
Wir verwenden Step Functions, um den Workflow zu orchestrieren. Step Functions ermöglicht eine außergewöhnliche Flexibilität bei der Integration einer Vielzahl von Diensten in den Workflow und berücksichtigt alle bestehenden Abhängigkeiten, die möglicherweise im Altsystem bestehen. Dieser Ansatz stellt sicher, dass alle erforderlichen Komponenten nahtlos integriert sind und in der gewünschten Reihenfolge ausgeführt werden, was zu einer effizienten und effektiven Workflow-Lösung führt.
Step Functions kann bestimmte AWS-Services direkt aus der Amazon States Language steuern. Weitere Informationen zum Arbeiten mit Step Functions und seiner Integration mit SageMaker finden Sie unter Verwalten Sie SageMaker mit Step-Funktionen. Unter Verwendung der Step Functions-Integrationsfunktion mit SageMaker führen wir die Vorverarbeitungs- und Nachverarbeitungsskripts mit einem SageMaker-Verarbeitungsjob im Skriptmodus aus und führen die Inferenz als SageMaker-Verarbeitungsjob mit a aus benutzerdefinierter Behälter. Wir tun dies mit AWS SDK for Python (Boto3) CreateProcessingJob API-Aufrufe.
Anarbeitung
SageMaker bietet mehrere Optionen zum Ausführen von benutzerdefiniertem Code. Wenn Sie nur über ein Skript ohne benutzerdefinierte Abhängigkeiten verfügen, können Sie das Skript als Bring Your Own Script (BYOS) ausführen. Übergeben Sie dazu einfach Ihr Skript an den vorgefertigten Scikit-Learn-Framework-Container und führen Sie einen SageMaker-Verarbeitungsjob im Skriptmodus mit den Parametern ContainerArguments und ContainerEntrypoint in der aus App-Spezifikation API. Dies ist eine unkomplizierte und bequeme Methode zum Ausführen einfacher Skripts.
Sehen Sie sich die Zustandskonfiguration „Preprocessing Script Mode“ in der Beispiel-Step-Functions-Workflow um zu verstehen, wie der CreateProcessingJob-API-Aufruf konfiguriert wird, um ein benutzerdefiniertes Skript auszuführen.
Inferenz
Sie können einen benutzerdefinierten Container mit ausführen Bauen Sie Ihren eigenen Verarbeitungscontainer Ansatz. Der SageMaker-Verarbeitungsjob arbeitet mit der /opt/ml
lokalen Pfad, und Sie können Ihre ProcessingInputs und ihren lokalen Pfad in der Konfiguration angeben. Der Processing-Job kopiert dann die Artefakte in den lokalen Container und startet den Job. Nachdem der Job abgeschlossen ist, kopiert er die im lokalen Pfad von ProcessingOutputs angegebenen Artefakte an den angegebenen externen Speicherort.
Sehen Sie sich die Zustandskonfiguration „Inference Custom Container“ in der Beispiel-Step-Functions-Workflow um zu verstehen, wie der CreateProcessingJob-API-Aufruf konfiguriert wird, um einen benutzerdefinierten Container auszuführen.
Nachbearbeitung
Sie können ein Nachverarbeitungsskript genau wie ein Vorverarbeitungsskript ausführen, indem Sie den Step Functions-Schritt „CreateProcessingJob“ verwenden. Durch Ausführen eines Nachverarbeitungsskripts können Sie benutzerdefinierte Verarbeitungsaufgaben ausführen, nachdem der Inferenzjob abgeschlossen ist.
Erstellen Sie den Step Functions-Workflow
Für schnelles Prototyping verwenden wir die Step Functions Amazon States Sprache. Sie können die Step Functions-Definition direkt bearbeiten, indem Sie die States Language verwenden. Beziehen Sie sich auf die Beispiel-Step-Functions-Workflow.
Sie können eine neue Step Functions-Zustandsmaschine auf der Step Functions-Konsole erstellen, indem Sie auswählen Schreiben Sie Ihren Workflow in Code.
Step Functions kann sich die von Ihnen verwendeten Ressourcen ansehen und eine Rolle erstellen. Möglicherweise wird jedoch die folgende Meldung angezeigt:
„Step Functions kann keine IAM-Richtlinie generieren, wenn RoleArn für SageMaker aus einem Pfad stammt. Hardcodieren Sie SageMaker RoleArn in Ihrer Zustandsmaschinendefinition oder wählen Sie eine vorhandene Rolle mit den richtigen Berechtigungen für Step Functions zum Aufrufen von SageMaker.“
Um dies zu beheben, müssen Sie eine erstellen AWS Identity and Access Management and (IAM)-Rolle für Step Functions. Anweisungen finden Sie unter Erstellen einer IAM-Rolle für Ihre Zustandsmaschine. Hängen Sie dann die folgende IAM-Richtlinie an, um die erforderlichen Berechtigungen zum Ausführen des Workflows bereitzustellen:
Die folgende Abbildung veranschaulicht den Fluss von Daten und Container-Images in jedem Schritt des Step Functions-Workflows.
Das Folgende ist eine Liste der mindestens erforderlichen Parameter zum Initialisieren in Step Functions; Sie können sich auch auf die beziehen Beispieleingabeparameter JSON:
- Eingabe_uri – Der S3-URI für die Eingabedateien
- Ausgabe_uri – Der S3-URI für die Ausgabedateien
- code_uri – Der S3-URI für Skriptdateien
- custom_image_uri – Der Container-URI für den von Ihnen erstellten benutzerdefinierten Container
- scikit_image_uri – Der Container-URI für das vorgefertigte scikit-learn-Framework
- Rolle – Die Ausführungsrolle zum Ausführen des Jobs
- Instanztyp – Den Instanztyp, den Sie zum Ausführen des Containers verwenden müssen
- volume_size – Die Größe des Speichervolumens, das Sie für den Container benötigen
- max_laufzeit – Die maximale Laufzeit für den Container mit einem Standardwert von 1 Stunde
Führen Sie den Workflow aus
Wir haben den Legacy-Code in überschaubare Teile zerlegt: Vorverarbeitung, Inferenz und Nachverarbeitung. Um unsere Inferenzanforderungen zu unterstützen, haben wir einen benutzerdefinierten Container erstellt, der mit den erforderlichen Bibliotheksabhängigkeiten ausgestattet ist. Unser Plan ist es, Step Functions zu verwenden und die Fähigkeit zu nutzen, die SageMaker-API aufzurufen. Wir haben zwei Methoden zum Ausführen von benutzerdefiniertem Code mit der SageMaker-API gezeigt: einen SageMaker-Verarbeitungsjob, der ein vorgefertigtes Image verwendet und zur Laufzeit ein benutzerdefiniertes Skript verwendet, und einen SageMaker-Verarbeitungsjob, der einen benutzerdefinierten Container verwendet, der mit den erforderlichen Paketen versehen ist Artefakte zum Ausführen benutzerdefinierter Inferenzen.
Die folgende Abbildung zeigt den Ablauf des Step Functions-Workflows.
Zusammenfassung
In diesem Beitrag haben wir den Prozess der Migration von Legacy-ML-Python-Code aus lokalen Entwicklungsumgebungen und die Implementierung eines standardisierten MLOps-Verfahrens besprochen. Mit diesem Ansatz können Sie mühelos Hunderte von Modellen übertragen und Ihre gewünschten Unternehmensbereitstellungspraktiken integrieren. Wir haben zwei verschiedene Methoden zum Ausführen von benutzerdefiniertem Code auf SageMaker vorgestellt, und Sie können diejenige auswählen, die Ihren Anforderungen am besten entspricht.
Wenn Sie eine hochgradig anpassbare Lösung benötigen, wird empfohlen, den benutzerdefinierten Container-Ansatz zu verwenden. Möglicherweise finden Sie es besser, vorgefertigte Images zum Ausführen Ihres benutzerdefinierten Skripts zu verwenden, wenn Sie über einfache Skripts verfügen und Ihren benutzerdefinierten Container nicht erstellen müssen, wie im zuvor erwähnten Vorverarbeitungsschritt beschrieben. Darüber hinaus können Sie diese Lösung bei Bedarf anwenden, um Trainings- und Bewertungsschritte für ältere Modelle zu containerisieren, genau wie der Inferenzschritt in diesem Beitrag containerisiert wird.
Über die Autoren
Bhavana Chirumamilla ist Senior Resident Architect bei AWS mit einer starken Leidenschaft für Daten und maschinelles Lernen. Sie bringt einen reichen Erfahrungsschatz und Enthusiasmus mit, um Unternehmen beim Aufbau effektiver Daten- und ML-Strategien zu unterstützen. In ihrer Freizeit verbringt Bhavana gerne Zeit mit ihrer Familie und unternimmt verschiedene Aktivitäten wie Reisen, Wandern, Gartenarbeit und das Ansehen von Dokumentationen.
Schyam Namavaram ist ein leitender Spezialist für Lösungen für künstliche Intelligenz (KI) und maschinelles Lernen (ML) bei Amazon Web Services (AWS). Er arbeitet leidenschaftlich mit Kunden zusammen, um ihre KI- und ML-Einführung zu beschleunigen, indem er technische Anleitungen gibt und ihnen hilft, Innovationen zu entwickeln und sichere Cloud-Lösungen auf AWS zu entwickeln. Er ist auf KI und ML, Container und Analysetechnologien spezialisiert. Außerhalb der Arbeit liebt er es, Sport zu treiben und die Natur beim Trekking zu erleben.
Qingwei Li ist Spezialist für maschinelles Lernen bei Amazon Web Services. Er promovierte in Operations Research, nachdem er das Konto seines Beraters für Forschungsstipendien aufgelöst und den versprochenen Nobelpreis nicht erhalten hatte. Derzeit unterstützt er Kunden in der Finanzdienstleistungs- und Versicherungsbranche beim Aufbau von Lösungen für maschinelles Lernen auf AWS. In seiner Freizeit liest und unterrichtet er gerne.
Srinivasa Shaik ist ein Lösungsarchitekt bei AWS mit Sitz in Boston. Er hilft Unternehmenskunden, ihren Weg in die Cloud zu beschleunigen. Er interessiert sich leidenschaftlich für Container und maschinelle Lerntechnologien. In seiner Freizeit verbringt er gerne Zeit mit seiner Familie, kocht und reist.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/machine-learning/bring-legacy-machine-learning-code-into-amazon-sagemaker-using-aws-step-functions/
- :Ist
- $UP
- 1
- 10
- 100
- 214
- 7
- 8
- a
- Fähigkeit
- Über Uns
- beschleunigen
- Zugang
- Konto
- Handlung
- Action
- Aktivitäten
- hinzugefügt
- zusätzlich
- Adresse
- haften
- Adoption
- advanced
- Vorteil
- Nach der
- AI
- Alle
- erlaubt
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- Amazon Web Services (AWS)
- Betrag
- Analytik
- und
- Bienen
- APIs
- App
- Bewerben
- Ansatz
- angemessen
- Architektur
- SIND
- künstlich
- künstliche Intelligenz
- Künstliche Intelligenz (AI)
- AS
- At
- anhängen
- Im Prinzip so, wie Sie es von Google Maps kennen.
- verfügbar
- AWS
- AWS Maschinelles Lernen
- AWS Step-Funktionen
- basierend
- basic
- BE
- beginnen
- BESTE
- Boston
- bringen
- Brings
- Pleite
- Gebrochen
- bauen
- Building
- erbaut
- eingebaut
- by
- rufen Sie uns an!
- namens
- Aufrufe
- CAN
- kann keine
- Häuser
- Fälle
- sicher
- Übernehmen
- Auswählen
- Auftraggeber
- Cloud
- Cluster
- Code
- zusammenarbeiten
- COM
- abschließen
- Komplex
- Komponenten
- umfassend
- Zustand
- Konfiguration
- Konsul (Console)
- konstruieren
- Container
- Behälter
- enthält
- Smartgeräte App
- Praktische
- erstellen
- schafft
- Erstellen
- Zur Zeit
- Original
- Kunden
- anpassbare
- technische Daten
- Datenwissenschaftler
- tiefer
- Standard
- Übergeben
- zeigen
- einsetzen
- Einsatz
- beschrieben
- erwünscht
- Desktop
- entwickelt
- Entwicklung
- Entwicklung
- anders
- Direkt
- diskutiert
- deutlich
- verschieden
- Docker
- Dokumentationen
- Domain
- Nicht
- nach unten
- im
- jeder
- Früher
- leicht
- bewirken
- Effektiv
- effizient
- Anstrengung
- entweder
- eliminiert
- Eingriff
- Ingenieur
- gewährleisten
- sorgt
- Unternehmen
- Unternehmen
- Begeisterung
- Arbeitsumfeld
- Umgebungen
- ausgestattet
- Fehler
- Auswertung
- Beispiel
- außergewöhnlich
- Ausführung
- vorhandenen
- ERFAHRUNGEN
- erleben
- erweitern
- extern
- erleichtern
- Gescheitert
- Vertrautheit
- Familie
- Abbildung
- Reichen Sie das
- Revolution
- Finanzdienstleistung
- Finden Sie
- passen
- Flexibilität
- Fluss
- folgen
- Folgende
- Aussichten für
- Unser Ansatz
- für
- voll
- Funktion
- funktional
- Funktionalität
- Funktionen
- Außerdem
- erzeugen
- GitHub
- gewähren
- die Vermittlung von Kompetenzen,
- Anleitungen
- Haben
- Hilfe
- Unternehmen
- hilft
- High-Level
- hoch
- Ultraschall
- Hilfe
- aber
- HTML
- http
- HTTPS
- hunderte
- identifiziert
- Identitätsschutz
- Image
- Bilder
- Implementierung
- Umsetzung
- importieren
- wichtig
- in
- In anderen
- das
- integrieren
- Energiegewinnung
- Infrastruktur
- Anfangs-
- initiieren
- wir innovieren
- Varianten des Eingangssignals:
- installieren
- Installieren
- Instanz
- Anleitung
- Versicherung
- integriert
- Integration
- Integration
- Intelligenz
- interagieren
- beteiligt
- Beteiligung
- IT
- SEINE
- Job
- Jobs
- Reise
- jpg
- JSON
- nur einer
- Sprache
- grosse
- neueste
- LERNEN
- lernen
- Legacy
- Bibliotheken
- Bibliothek
- Lebenszyklus
- Gefällt mir
- LINK
- Liste
- aus einer regionalen
- Standorte
- aussehen
- Maschine
- Maschinelles Lernen
- Main
- verwalten
- verwaltet
- Management
- manuell
- maximal
- erwähnt
- Nachricht
- Methode
- Methoden
- migriert
- Migration
- Minimum
- ML
- MLOps
- Model
- Modell
- für
- modulare
- mehr
- vor allem warme
- ziehen um
- Namens
- Natur
- Menü
- notwendig,
- Need
- Bedürfnisse
- Neu
- nobel outlet
- Notizbuch
- Anzahl
- of
- Angebote
- on
- EINEM
- Eröffnung
- arbeitet
- Einkauf & Prozesse
- optimiert
- Optionen
- orchestriert
- Organisationen
- Organisiert
- Andere
- Möglichkeiten für das Ausgangssignal:
- aussen
- besitzen
- Eigentum
- Paket
- Parameter
- Teile
- Leidenschaft & KREATIVITÄT
- leidenschaftlich
- Weg
- Ausführen
- Berechtigungen
- Plan
- Plato
- Datenintelligenz von Plato
- PlatoData
- spielend
- Datenschutzrichtlinien
- Post
- Praxis
- Praktiken
- vorhersagen
- vorgeführt
- früher
- Preis
- Prozessdefinierung
- Verarbeitung
- Programmierung
- versprochen
- ordnungsgemäße
- Prototyping
- die
- vorausgesetzt
- bietet
- Bereitstellung
- Pullover
- Zwecke
- geschoben
- Python
- Direkt
- schnell
- Angebot
- Lesebrillen
- Received
- empfohlen
- Refaktorieren
- bezieht sich
- eingetragen
- registriert
- Registratur
- Quelle
- erfordern
- falls angefordert
- Voraussetzungen:
- Forschungsprojekte
- Ressourcen
- Downloads
- für ihren Verlust verantwortlich.
- Folge
- was zu
- wiederverwendbar
- Rollen
- Führen Sie
- Laufen
- sagemaker
- skalierbaren
- Szenario
- Wissenschaftler
- scikit-lernen
- Skripte
- Sdk
- nahtlos
- Verbindung
- Auswahl
- Senior
- getrennte
- Reihenfolge
- Serverlos
- Lösungen
- kompensieren
- Sets
- Einstellungen
- Setup
- mehrere
- Teilen
- verschieben
- erklären
- gezeigt
- Konzerte
- Einfacher
- einfach
- Single
- Größe
- So
- Lösung
- Lösungen
- einige
- Spezialist
- spezialisiert
- spezifisch
- speziell
- angegeben
- Ausgabe
- Spins
- Sports
- Stufen
- standalone
- beginnt
- Bundesstaat
- Erklärung
- Staaten
- Schritt
- Shritte
- Lagerung
- gelagert
- einfach
- Strategien
- rationalisieren
- Rationalisierung
- stark
- Studio Adressen
- so
- geeignet
- Support
- SYS
- System
- TAG
- Nehmen
- nimmt
- Einnahme
- und Aufgaben
- Einführungen
- Technische
- Technologies
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- ihr
- Sie
- Diese
- Tausende
- nach drei
- Durch
- Zeit
- zu
- Werkzeug
- Werkzeuge
- Ausbildung
- privaten Transfer
- Reise
- zugrunde liegen,
- verstehen
- aktualisiert
- -
- Anwendungsfall
- Nutzen
- Nutzen
- seit
- die
- Wert
- verschiedene
- Version
- Volumen
- beobachten
- Reichtum
- Netz
- Web-Services
- welche
- WHO
- werden wir
- mit
- .
- ohne
- Worte
- Arbeiten
- arbeiten,
- Werk
- Du
- Ihr
- Zephyrnet