Q:
Wie kann Containerisierung eine gute Wahl für eine Projektumgebung für maschinelles Lernen sein?
EIN:Einige Unternehmen tendieren zur Containerisierung für maschinelle Lernprojekte, basierend auf einigen Vorteilen, die Container-Setups in Bezug auf Plattformen und Software-Umgebungen bieten.
Maschinelles Lernen ist komplex - die Algorithmen selbst führen viele sehr detaillierte und komplizierte Aktionen mit Daten aus. Das Nutzenversprechen ist jedoch in mancher Hinsicht recht einfach: Die Algorithmen für maschinelles Lernen arbeiten mit Daten, die aus Speicherumgebungen eingehen.
Kostenloser Download: Maschinelles Lernen und warum es wichtig ist |
Die Verwendung von Containern beinhaltet, wie Ingenieure die Daten in die maschinelle Lernumgebung einfügen und wie die Algorithmen funktionieren.
Ingenieure können mithilfe der Containervirtualisierung entweder die Daten speichern oder den Code bereitstellen, mit dem die Algorithmen ausgeführt werden. Obwohl Container für Daten hilfreich sein können, liegt ihr Hauptvorteil wahrscheinlich in der Verwendung von Algorithmuscode.
Containerarchitekturen bieten eigenständige Apps und Codebasen. Jeder Container erhält einen eigenen Betriebssystemklon und eine vollständige Betriebsumgebung für die darin enthaltene App oder den darin enthaltenen Codefunktionssatz.
Dadurch können die einzelnen Apps, Microservices oder Codebasen, die sich in jedem Container befinden, auf vielfältige Weise bereitgestellt werden. Sie können auf verschiedenen Plattformen und in verschiedenen Umgebungen bereitgestellt werden.
Angenommen, Sie versuchen, ein maschinelles Lernprojekt hochzufahren, in dem verschiedene Algorithmen auf iterative Weise mit verschiedenen Daten arbeiten müssen. Wenn Sie es satt haben, sich mit plattformübergreifenden Herausforderungen, Abhängigkeitsproblemen oder Situationen zu befassen, in denen die Bare-Metal-Bereitstellung schwierig ist, können Container die Lösung sein.
Im Wesentlichen bieten die Container eine Möglichkeit, Code zu hosten. Experten sprechen davon, die Container anhand der gespeicherten Daten bereitzustellen, um gute Ergebnisse zu erzielen.
"(Die Apps) können auf einer beliebigen Anzahl von Plattformen gemischt und abgeglichen werden, ohne dass Portierungen oder Tests erforderlich sind", schreibt David Linthicum in einem TechBeacon-Artikel, in dem der Wert von Containern für maschinelle Lernprojekte erläutert wird können sie in einer stark verteilten Umgebung betrieben werden, und Sie können diese Container in der Nähe der Daten platzieren, die von den Anwendungen analysiert werden. “
Linthicum spricht weiter darüber, maschinelle Lerndienste als Microservices auszustellen. Auf diese Weise können externe Anwendungen - ob containerbasiert oder nicht - diese Dienste jederzeit nutzen, ohne den Code innerhalb der Anwendung verschieben zu müssen.
Bei der Bereitstellung von Containern geht es im Grunde genommen darum, die Funktionalität des maschinellen Lernprogramms anpassungsfähiger zu machen - Silos und unnötige Verbindungen sowie Abhängigkeiten, die ein Projekt lahm legen können, werden beseitigt. Für ein schlankes, durchschnittliches maschinelles Lernprojekt ist es einfach, diese in sich geschlossenen Teile zu verwalten und entsprechend komplexe maschinelle Lernproduktprojekte zu erstellen, wenn die einzelnen Teile der Algorithmen oder Anwendungen oder Funktionen in Containern untergebracht sind.