Heim >Technologie-Peripheriegeräte >KI >Praxis der automatischen Plattform für maschinelles Lernen von Duxiaoman
Mit der Entwicklung der KI-Technologie werden die in verschiedenen Unternehmen eingesetzten KI-Technologien immer vielfältiger. Gleichzeitig nimmt die Anzahl der KI-Modellparameter von Jahr zu Jahr explosionsartig zu Können Sie die hohen Entwicklungskosten und die starke Abhängigkeit von manueller Arbeit bei der Implementierung von KI-Algorithmen überwinden? Probleme wie Algorithmusinstabilität und lange Implementierungszyklen sind zu Problemen geworden, die Praktiker der künstlichen Intelligenz plagen. Die „Plattform für automatisches maschinelles Lernen“ ist die Schlüsselmethode, um den Druck der KI-Implementierung zu lösen. Heute werde ich Du Xiaomans praktische Erfahrung beim Aufbau der automatischen Plattform für maschinelles Lernen ATLAS mit Ihnen teilen.
Lassen Sie uns zunächst den Hintergrund, den Entwicklungsprozess und die aktuelle Situation der Plattform für maschinelles Lernen von Du Xiaoman vorstellen. 1. Geschäftsszenarien: Du Xiaoman ist ein Finanztechnologieunternehmen : Dabei handelt es sich um NLP-Technologien wie relationales Data Mining, Text Data Mining und Stimmungsanalyse sowie CV-Technologien wie Gesichtserkennung.
KI-Algorithmus ist teuer: Erstens: Die Schwelle für die Entwicklung von KI-Algorithmen ist sehr hoch. Beispielsweise weisen die OCR-Technologie und die Gesichtserkennungstechnologie, die bei der Finanzrisikokontrolle eingesetzt werden, hohe Eintrittsbarrieren auf. Nicht alle Unternehmen können sie meistern, und nur wenige Unternehmen können das höchste Niveau erreichen. Zweitens verbraucht der KI-Algorithmus viele Hardwareressourcen. Zum Beispiel erfordert das Training eines Gesichtserkennungsmodells oder eines groß angelegten NLP-Modells die Investition einer großen Menge an Rechenressourcen, was eine unsichtbare Schwelle darstellt.
Der Bereitstellungszyklus eines KI-Algorithmus ist lang: Der Entwicklungszyklus eines ausgereiften Algorithmus von der Entwicklung bis zur Bereitstellung kann leicht mehrere Monate oder länger dauern, und oft ist eine maßgeschneiderte Entwicklung auf der Grundlage umfangreicher Geschäftsszenarien erforderlich, und das endgültige Modell ist vorhanden eine Lücke zwischen Ausgabe und Algorithmusimplementierung.
Die Implementierung von KI-Algorithmen ist hauptsächlich in vier Teile unterteilt: Datenverwaltung, Modelltraining, Algorithmusoptimierung sowie Bereitstellung und Freigabe. Modelltraining und Algorithmusoptimierung sind ein iterativer Prozess.
In jedem Schritt der Algorithmusentwicklung variieren die technischen Anforderungen an die Beteiligten stark: #🎜🎜 ##🎜🎜 #
Anhand des für jeden Schritt erforderlichen Technologie-Stacks lässt sich erkennen, dass es schwierig ist, ein oder zwei oder mehr zu haben Drei technische Mitarbeiter müssen alle Technologien vollständig beherrschen und jeder Schritt ist mit Handarbeit verbunden. Dies stellt einen Produktionsengpass dar, der zu einer instabilen Produktion führt. Der Einsatz von Plattformen für maschinelles Lernen kann diese beiden Probleme lösen.
4. Plattform für maschinelles Lernen ATLASunser maschinelles Lernen Die Plattform ATLAS durchläuft den gesamten Prozess der KI-Produktion und zielt darauf ab, die manuelle Beteiligung an der Implementierung von KI-Algorithmen zu ersetzen, eine effiziente Ausgabe zu erzielen und die Effizienz der Forschung und Entwicklung von KI-Algorithmen zu steigern.
ATLAS umfasst die folgenden vier Plattformen: #🎜🎜 #
Der Daten- und Trainingsteil umfasst die Annotationsplattform, die Datenplattform und die Trainingsplattform.
# 🎜🎜#Die Annotationsplattform stellt hauptsächlich Annotationsdaten für das Training von KI-Algorithmen bereit. Seit der Geburt des Deep Learning sind Modelle sehr komplex geworden. Der Engpass der KI-Algorithmuseffekte hat sich vom Modelldesign hin zur Datenqualität und -quantität verlagert Die Produktion ist ein entscheidendes Glied bei der Implementierung von KI-Algorithmen.
Die Datenannotationsplattform von ATLAS verfügt hauptsächlich über zwei Funktionen: Abdeckung mehrerer Szenarien und intelligente Annotation.
(3) Trainingsplattform
Die Trainingsplattform ist eine sehr wichtige Einrichtung, die in fünf Schichten unterteilt ist: Planungsschicht: Die Trainingsplattform umfasst die Verwaltung von Hardwareressourcen Die unterste Planungsschicht ist für die Planung dieser Ressourcen verantwortlich.
Kontrollschicht: Über der Planungsschicht befindet sich die Kontrollschicht, die eine asynchrone und verteilte Workflow-Steuerung realisiert, indem sie maschinelle Lernaufgaben in einige Workflows umwandelt.
Funktionsschicht: Implementiert einige Grundfunktionen der Plattform für maschinelles Lernen, einschließlich AutoML, Parallel Computing und Graph Computing.
Grundlegende Funktionsverarbeitung
Vorhersage des Modells selbst
Bezüglich die Möglichkeit, auf externe Daten zuzugreifen
Verwenden Sie stattdessen Vollprozess-AutoML für einfache und sich wiederholende Optimierungsprozesse, verwenden Sie AutoML als Hilfsoptimierung für Szenarien, die Expertenerfahrung erfordern, und verwenden Sie Vollprozess-AutoML AutoML Die Ergebnisse werden als Baseline verwendet, um das optimale Modell auszuwählen und online bereitzustellen. In unserem Unternehmen wurden durch diese Optimierungsmethode in mehr als 60 % der Szenarien Leistungsverbesserungen erzielt, wobei die Verbesserungseffekte zwischen 1 % und 5 % lagen.
1. Expertenmodellierung und AutoML
Effizienzaspekt: AutoML kann den Entwicklungszyklus des KI-Algorithmus erheblich verkürzen und an einem Tag traditionelle Expertenmodellierung erstellen Das dauert Monate.
In Bezug auf die Schwelle: AutoML kann die Notwendigkeit einer Expertenbeteiligung reduzieren und die Forschungs- und Entwicklungsschwelle senken.
Super-Parameteroptimierung: Die am häufigsten verwendeten sind Black-Box-Optimierung und Multi-Fidelity-Optimierung;
Meta-Lernen: Lernen aus Aufgabeneigenschaften oder früheren Modellen;
Der erste Teil ist der Superparameteroptimierungsteil. Tatsächlich wird in unserer automatischen Optimierungspipeline die gesamte Pipeline für maschinelles Lernen als Ziel der automatischen Optimierung verwendet, nicht nur für die Hyperparameteroptimierung. Einschließlich automatisierter Feature-Entwicklung, Modellauswahl, Modelltraining und automatischer Integration usw. verringert dies die Möglichkeit einer Überanpassung im Vergleich zur individuellen Hyperparameteroptimierung. Darüber hinaus haben wir ein AutoML-Framework namens Genesis implementiert, das mit gängigen KI-Algorithmen und AutoML-Tools kompatibel ist. Es ist außerdem erweiterungsfreundlich und kann verschiedene Funktionsmodule orthogonal in die Plattform integrieren Sie können frei kombiniert werden, um eine flexiblere automatische Optimierungspipeline zu erreichen. -Methode wird auch in unserem System verwendet Im Folgenden werden die Notwendigkeit der Meta-Lernmethode und die wichtigsten Szenarien ihrer Anwendung vorgestellt. (1) Die Notwendigkeit des Meta-Lernens Nachdem wir eine große Menge experimenteller Daten gesammelt hatten, stellten wir fest, dass die Datensätze eine offensichtliche Aggregation im Meta-Feature-Raum aufweisen, sodass wir davon ausgehen, dass die optimalen Lösungen Datensätze mit enger Verteilung im Meta-Feature-Raum sind Der Raum wird auch in der Nähe sein. Basierend auf dieser Annahme verwenden wir die Hyperparameter von historischen Aufgaben, um die Parameteroptimierung neuer Aufgaben zu steuern und stellen fest, dass die Hyperparametersuche schneller konvergiert und der Algorithmuseffekt bei begrenztem Budget verbessert werden kann noch einmal 1 %. (2) Anwendungsszenario Szenario 1: Ableitung bestehender Datensätze Szenario 2: Datensatz wiederholt abgetastet #🎜🎜 # Der Entwicklungsengpass beim Deep Learning ist die Trainingszeit. Eine Iteration dauert Stunden bis Tage, die Verwendung der traditionellen Bayes'schen Optimierung erfordert also zwanzig bis zu dreißig Iterationen, und die Trainingszeit dauert von einem Monat bis zu mehreren Monaten. Daher werden wir die Hyperband-Methode verwenden, um Keime für die Bayes'sche Optimierung im Deep-Learning-Hyperparameter-Optimierungsteil bereitzustellen und den Hyperparameter-Suchprozess zu beschleunigen. Auf dieser Grundlage werden wir auch historische Dateninformationen verwenden, um den Kaltstart zu optimieren, und historische alternative Modelle für die Integration verwenden, wodurch eine globale optimale Lösung mit einer schnelleren Konvergenzgeschwindigkeit als bei der zufälligen Initialisierung erreicht wird. Im tatsächlichen Entwicklungsszenario , Verschiedene Bereitstellungsszenarien stellen unterschiedliche Anforderungen an die Modellskala und die Zeitleistung. Zweitens ist die Optimierung der neuronalen Netzwerkstruktur ein wichtiger Teil der Modelloptimierung. In diesem Schritt müssen wir manuelle Eingriffe beseitigen. Deshalb haben wir diese One-Shot-NAS-Methode basierend auf der Gewichtsverschränkung vorgeschlagen. Die Sucheffizienz kann mehr als dreimal so hoch sein wie die der klassischen DARTS-Methode, und die Parametermenge und die Berechnungskosten des durchsuchten Subnetzwerkmodells sind kontrollierbar innerhalb des Ziels ausgewählt werden. Darüber hinaus unterstützen wir auch verschiedene Bereiche wie MobileNet und ResNet, um unterschiedliche Anforderungen an Lebenslaufaufgaben zu erfüllen. #? Umfang und Effizienz, die beim Aufbau von Plattformen für maschinelles Lernen auftreten. Der Grund, warum wir bezahlen Achtung Skalierungs- und Effizienzprobleme entstehen, weil beim Deep Learning ein Konflikt zwischen Modellgröße und Rechenanforderungen besteht. Mehr Modellparameter bedeuten Es ist der Konsens der Branche, eine bessere Modellleistung zu erzielen. Beim Deep Learning gibt es das folgende Mooresche Gesetz: Daher muss die Lücke zwischen dem schnell wachsenden Rechenbedarf und der Hardwareleistung durch Optimierung geschlossen werden.
4. Automatische maschinelle Lernplattform: Meta-Learning-System #Die
Meta-LearningIm eigentlichen Entwicklungsprozess ist es manchmal erforderlich, den Datensatz abzutasten und dann die Superparameter des abgetasteten Datensatzes zu optimieren, da die Metadaten des abgetasteten Daten Die Merkmalsraumverteilung liegt nahe an den Originaldaten, sodass die Optimierungseffizienz durch die Verwendung der Hyperparameter des Originaldatensatzes zur Steuerung der Hyperparameteroptimierung der abgetasteten Daten verbessert werden kann.
Deep-Learning-Superparameteroptimierung#🎜 🎜 #
1. Deep-Learning-Dilemma
Der Maßstab der Modellparameter verzehnfacht sich pro Jahr#🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜##Hardware -Leistung hat sich in 18 Monaten verdoppelt#🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 ## 🎜🎜 #
#
3. Modellparallelität
ATLAS-Modellparallelität ist hauptsächlich in zwei Aspekte unterteilt: #🎜🎜 #
Szenario 1: Parallelität innerhalb der Schicht Eine so vollständige Verbindungsschicht kann von einer GPU-Karte nicht abgedeckt werden. Zu diesem Zeitpunkt muss eine schichtinterne Paralleltechnologie eingeführt werden, und verschiedene Knoten berechnen unterschiedliche Teile desselben Tensors.
Inter-Layer-Paralleltechnologie wird ebenfalls verwendet, das heißt, Daten verschiedener Schichten des Netzwerks werden auf verschiedenen Knoten berechnet , und es wird kein abhängiges Berechnungs-Frontend geben, um den Leerlauf (GPU-Wartezeit) während der Berechnung zu reduzieren. 4. Graphenparallelität
Für Diagrammdaten, unabhängig davon, ob es sich um Stichproben oder andere Vorgänge handelt, müssen Knoten dynamisch überquert werden, und Diagrammdaten sind im Allgemeinen sehr groß. Unsere internen Diagrammdaten haben eine Größenordnung von mehreren zehn Milliarden erreicht . Die Berechnung von Diagrammdaten ist auf einem einzelnen Computer schwierig durchzuführen.
5. Trainingseffizienz
Gleichzeitig haben wir auch einige Optimierungen in puncto Trainingseffizienz vorgenommen. „Optimierung der GPU-Auslastung“ Durch die Analyse nach dem Ereignis kann die GPU optimiert und die durchschnittliche Nutzung verdoppelt werden.
Backpropagation-Neuberechnung
Wir verwenden auch die Backpropagation-Neuberechnungstechnik. Bei einigen Modellen mit sehr vielen Parametern speichern wir während des Vorwärtsausbreitungsprozesses nicht die Berechnungsergebnisse aller Ebenen, sondern behalten nur die Prüfpunkte einiger Knoten bei. Während der Rückwärtsausbreitung werden die leeren Parameterknoten vom Prüfpunkt aus neu berechnet. Auf diese Weise können die Speicherressourcen um mehr als 50 % reduziert und die Trainingseffizienz um mehr als 35 % verbessert werden.
4. Zusammenfassung und Gedanken
wir haben einige Erfahrungen wie folgt zusammengefasst: Da die Implementierung unseres KI-Algorithmus alle Aspekte der Technologie und des Inhalts umfasst, kann ich von den Schülern in keinem Link verlangen, dass sie das Ganze verstehen Wir müssen über eine Plattform verfügen, die diese grundlegenden Funktionen bereitstellen kann, um allen bei der Lösung dieser Probleme zu helfen.
A4: Dieser Entwicklungszyklus wurde gerade erwähnt, der etwa drei bis vier Jahre beträgt. Bezogen auf die Personalinvestitionen sind es derzeit noch sechs bis sieben Studierende. In der Anfangszeit waren es sogar noch weniger. A5: Zunächst einmal sollte sich die von diesem Studenten erwähnte virtualisierte GPU auf die Segmentierung und Isolierung von Ressourcen beziehen. Wenn wir eine Plattform für maschinelles Lernen aufbauen, sollte die Virtualisierung der GPU eine notwendige Fähigkeit sein. Das bedeutet, dass wir Ressourcen virtualisieren müssen, um eine bessere Ressourcenplanung und -zuweisung zu erreichen. Auf dieser Grundlage können wir dann auch den Videospeicher und die Rechenressourcen unserer GPU aufteilen und dann unterschiedlich große Ressourcenblöcke verschiedenen Aufgaben zuweisen, aber wir trainieren zu diesem Zeitpunkt noch nicht wirklich, da Trainingsaufgaben normalerweise höhere Anforderungen haben Anforderungen an die Rechenleistung und kein geringerer Ressourcenverbrauch. Wir werden es in Inferenzszenarien verwenden. Während des eigentlichen Bewerbungsprozesses haben wir festgestellt, dass es keine gute Open-Source-freie Lösung für die Virtualisierungstechnologie gibt. Einige Cloud-Service-Anbieter bieten einige kostenpflichtige Lösungen an, daher verwenden wir für die Bereitstellung eine Time-Sharing-Multiplexing-Lösung, die einige Aufgaben mit hohen Anforderungen kombiniert Rechenanforderungen und einige Aufgaben mit geringem Rechenbedarf, um Time-Sharing-Multiplexing zu erreichen, können bis zu einem gewissen Grad den Effekt einer Kapazitätserhöhung erzielen. A6: Wenn wir es selbst messen, kann es etwa 80 bis 90 erreichen, wenn es besser ist. Wenn die Anzahl der Knoten natürlich sehr groß ist, ist möglicherweise eine weitere Optimierung erforderlich. Jetzt können Sie Artikel veröffentlichen oder sehen, in denen erwähnt wird, dass 32 oder 64 Knoten ein Beschleunigungsverhältnis von 80 oder 90 erreichen können speziellere Optimierungen. Wenn wir uns jedoch auf der Plattform für maschinelles Lernen befinden, müssen wir möglicherweise auf ein breiteres Spektrum von Szenarien abzielen. In tatsächlichen Szenarien sind möglicherweise 4 GPU-Karten oder 8 GPU-Karten erforderlich, und bis zu 16 GPU-Karten können die Anforderungen erfüllen. A7: Im Idealfall unseres AutoML müssen Benutzer keine Parameter konfigurieren. Selbstverständlich ermöglichen wir den Benutzern, einige Parameter entsprechend ihren Bedürfnissen anzupassen oder zu bestimmen. Was den Zeitaufwand betrifft, ist es unser Ziel, die Optimierung für alle unsere AutoML-Szenarien innerhalb eines Tages abzuschließen. Und in Bezug auf die Rechenleistung: Wenn es sich um eine allgemeine Big-Data-Modellierung handelt, wie z. B. Baummodelle XGB, LGBM usw., kann sogar eine einzelne Maschine damit umgehen, wenn es sich um eine GPU-Aufgabe handelt, hängt dies vom Umfang der GPU-Aufgabe ab Grundsätzlich kann das AutoML-Training mit der zwei- bis dreifachen Rechenleistung der ursprünglichen Trainingsskala durchgeführt werden. A8: Diese Frage wurde gerade erwähnt, das heißt, Optuna, Auto-Sklearn und AutoWeka stehen alle als Referenz zur Verfügung. Und ich habe gerade die Website automl.org erwähnt. Dort gibt es viele Informationen. A9: EasyDL stammt von Baidu und unser Framework ist komplett selbst entwickelt. Das war's für das heutige Teilen, vielen Dank an alle.
Denn nur wenn die Anwendung von Automatisierung oder AutoML gut gemacht ist, können wir es sein effektiver bei der Befreiung Die Produktivität von Algorithmenexperten ermöglicht es Algorithmenexperten, detailliertere Algorithmen zu erstellen oder Fähigkeiten zu entwickeln, um die Obergrenze des maschinellen Lernens zu erhöhen. Schließlich, in diesem Designprozess, weil es eher ein internes Anwendungsszenario ist,
A1: Das am häufigsten verwendete Open-Source-AutoML-Framework ist Optuna und dann empfehle ich eine Website dazu Es heißt automl.org, denn es gibt derzeit relativ wenige Leute, die in diesem Bereich arbeiten. Diese Website wurde von mehreren Experten und Professoren auf dem Gebiet von AutoML erstellt. Sie enthält viele Open-Source-Lernmaterialien für AutoML beziehen kann. Das von uns empfohlene Open-Source-Framework ist Optuna, das wir für die Parameteranpassung verwenden, da sein Algorithmus nicht nur die grundlegendste Bayes'sche Optimierung ist, sondern ein TPE-Algorithmus, der für sehr große Parameter besser geeignet ist Noch besser geeignet für einige Szenarien mit relativ wenigen Parametern. Mein Vorschlag ist jedoch, dass Sie für verschiedene Szenarien verschiedene Methoden ausprobieren, da Sie nach mehreren Versuchen möglicherweise unterschiedliche Meinungen darüber haben, welche Methode für mehr Erfahrung geeignet ist.
F3: Wie kann eine Überanpassung während der Kreuzvalidierung vermieden werden?
A3: Dies ist möglicherweise ein spezifischeres Algorithmusoptimierungsproblem, aber in unserer Optimierungspipeline trainieren wir durch Stichprobenmethoden. Auf diese Weise können wir unsere Aufgabe erfüllen Sehen Sie sich weitere Winkel oder Aspekte des Datensatzes an und integrieren Sie dann die nach der Stichprobe trainierten Topmodelle, um die Transformationsfähigkeit unseres Modells zu verbessern. Dies ist auch eine sehr wichtige Methode in unserem Szenario.
F4: Wie hoch ist der Entwicklungszyklus und die Personalinvestition, wenn wir die gesamte Plattform für maschinelles Lernen aufbauen?
F5: Wird die Virtualisierung der GPU die Plattform für maschinelles Lernen verbessern?
F6: Wie hoch ist das Beschleunigungsverhältnis des verteilten parallelen Trainings mit mehreren Knoten? Kann es nahezu linear sein?
F7: Welche Parameter müssen Benutzer bei der Verwendung von AutoML konfigurieren? Wie viel Rechenleistung und Zeit benötigt die gesamte Berechnung?
F8: Auf welche Open-Source-Frameworks für maschinelles Lernen kann ich mich beziehen?
F9: Welche Beziehung besteht zu EasyDL?
Das obige ist der detaillierte Inhalt vonPraxis der automatischen Plattform für maschinelles Lernen von Duxiaoman. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!