ADMIN

2022

06

2022-05-30T12:00:00

Storage und Backup

SCHWERPUNKT

094

Storage

Künstliche Intelligenz

Künstliche Intelligenz und Storage

Speichern mit Grips

von Norbert Deuschle

Veröffentlicht in Ausgabe 06/2022 - SCHWERPUNKT

Anwendungen für maschinelles Lernen und Deep Learning erfordern nicht nur die Verarbeitung, Verwaltung sowie Speicherung von zum Teil großen Datenmengen für Trainings, Tests und Vali­dierung. Vielmehr generieren sie auch Informationen mit unterschiedlichen Dateigrößen und Workload-Profilen. Der vorliegende Beitrag beschreibt einige kritische Parameter der KI-gestützten Datenbereitstellung aus Sicht der IT-Infrastruktur im Zusammenhang mit Storage.

KI-Anwendungen für Unternehmen gewinnen aktuell verstärkt an Bedeutung. Ihre Einsatzgebiete betreffen vordringlich die Prozessautomatisierung und -optimierung bis hin zur Identifikation und Analyse neuer Geschäftsmodelle. KI-gesteuerte Systeme und Datenanalysen machen es Unternehmen zudem leichter, Kundenbedürfnisse besser zu verstehen und Strategien danach auszurichten. Wenn etwa aufgrund beschädigter oder falscher Artikel mehr Reklamationen eingehen, können sich Chatbots darum kümmern und nicht mehr teure Fachkräfte, die dafür eigentlich keine Zeit haben. Mittels KI sind Anbieter in der Lage, Muster zu erkennen, um mit der Zeit präziser und automatisiert vorhersagen zu können, welche Anfragen besonders häufig vorkommen.
Als Basis dieser KI-Anwendungen dienen Geschäftsdaten, die mittlerweile fast in jedem Betrieb in größerer Menge vorhanden sind. ML-Algorithmen erkennen Muster und können darin Verknüpfungen bilden, um Probleme zu identifizieren und zu lösen. Der optimale Weg, um Daten in ML-Modelle zu laden, hängt dabei davon ab, ob die Rechenleistung vor Ort oder in der Cloud erfolgen soll. Weitere Randbedingungen betreffen die Größe der Datensätze, Verarbeitungs- und Durchsatzraten, geeignete Speichertechnologien sowie betriebsspezifische Sicherheitsanforderungen. Daraus leiten sich wiederum die verschiedenen IT-System-anforderungen ab.
Nicht zuletzt erfordert die Speicherung und Verarbeitung einen möglichst einheitlichen Zugang zu diesen Datensätzen; das schließt die Cloud mit ein. Für die Bewältigung dieser Rahmenbedingungen ist eine sorgfältige technische Planung zur Bereitstellung der notwendigen IT-Infrastruktur somit unabdingbar.
KI-Anwendungen für Unternehmen gewinnen aktuell verstärkt an Bedeutung. Ihre Einsatzgebiete betreffen vordringlich die Prozessautomatisierung und -optimierung bis hin zur Identifikation und Analyse neuer Geschäftsmodelle. KI-gesteuerte Systeme und Datenanalysen machen es Unternehmen zudem leichter, Kundenbedürfnisse besser zu verstehen und Strategien danach auszurichten. Wenn etwa aufgrund beschädigter oder falscher Artikel mehr Reklamationen eingehen, können sich Chatbots darum kümmern und nicht mehr teure Fachkräfte, die dafür eigentlich keine Zeit haben. Mittels KI sind Anbieter in der Lage, Muster zu erkennen, um mit der Zeit präziser und automatisiert vorhersagen zu können, welche Anfragen besonders häufig vorkommen.
Als Basis dieser KI-Anwendungen dienen Geschäftsdaten, die mittlerweile fast in jedem Betrieb in größerer Menge vorhanden sind. ML-Algorithmen erkennen Muster und können darin Verknüpfungen bilden, um Probleme zu identifizieren und zu lösen. Der optimale Weg, um Daten in ML-Modelle zu laden, hängt dabei davon ab, ob die Rechenleistung vor Ort oder in der Cloud erfolgen soll. Weitere Randbedingungen betreffen die Größe der Datensätze, Verarbeitungs- und Durchsatzraten, geeignete Speichertechnologien sowie betriebsspezifische Sicherheitsanforderungen. Daraus leiten sich wiederum die verschiedenen IT-System-anforderungen ab.
Nicht zuletzt erfordert die Speicherung und Verarbeitung einen möglichst einheitlichen Zugang zu diesen Datensätzen; das schließt die Cloud mit ein. Für die Bewältigung dieser Rahmenbedingungen ist eine sorgfältige technische Planung zur Bereitstellung der notwendigen IT-Infrastruktur somit unabdingbar.
Die passende Speicherart für KI
Aus Storage-Sicht stehen drei Speicherarten für KI-Apps zur Verfügung: File-, Objekt- und Blockspeicher. Jeder Ansatz verfügt über eigene Charakteristika mit Vor- und Nachteilen. Für KI und maschinelles Lernen bedarf es grundsätzlich eines Datenspeichersystems, das verschiedene Arten von Workloads mit sowohl kleinen als auch sehr großen Dateien verarbeiten kann. Skalierungsseitig betrifft dies manchmal nur einige TBytes, in anderen Fällen jedoch PBytes an Daten. Die Herausforderung dabei: Nicht alle Speicherarten sind gleich gut für große Dateien geeignet, und nicht alle können gleichzeitig mit sehr kleinen Files umgehen.
Objektbasierte Speicherung ist besonders für unstrukturierte Daten und Bereitstellungsmodelle in der Cloud konzipiert, sowohl lokal als auch in Kombination mit Ressourcen über Azure, AWS oder GCP. In objektbasierten Architekturen werden die Daten immer in einer flachen Umgebung als unabhängige Einheiten gespeichert. Es gibt weder eine Speicherhierarchie noch andere Arten von Strukturen wie bei File-Systemen. Jedes Objekt ist ein in sich geschlossener Speicher mit drei grundlegenden Informationselementen: den Daten selbst, ihren Metadaten und einer eindeutigen Kennung. Objektspeicher ermöglichen damit eine horizontale, quasi unbegrenzte Skalierung. Benutzer können die Objekte mit Metadaten anreichern, sodass sie sich für weitere Zwecke wie Datenanalysen verwenden lassen. Ein Hauptgrund, warum KI- und ML-Systeme Objektspeicher verwenden, liegt genau in dessen unkomplizierter Erweiterbarkeit.
Bei klassischem File Storage, also NAS-Systemen, bedeutet ein Ausbau des verfügbaren Speichers in der Regel eine vertikale Skalierung durch Hinzufügen weiterer Technologieebenen innerhalb der Infrastruktur, also etwa für Daten, die auf verteilten Dateisystemen wie Ceph oder NFS gespeichert sind. File Storage strukturiert und speichert diese Daten in Ordnern. Jede Datei im Speicher ist benannt, mit den erforderlichen Metadaten verknüpft (beispielsweise Dateityp oder Datum der letzten Änderung) sowie hierarchisch in Verzeichnissen strukturiert. Diese Art von Architektur eignet sich besonders für Anwendungsfälle, in denen keine Massendaten verarbeitet werden, die komplexe Organisationsstrukturen erfordern. Mit zunehmender Größe der gespeicherten Daten gestaltet sich das Suchen und Abrufen von Dateien hier mitunter sehr zeitaufwändig.
Blockspeicherarchitekturen teilen ihre File-Daten in gleich große logische Blöcke auf, von denen jeder unter einer eindeutigen Adresse abgelegt wird. Die erstellten Blöcke lassen sich überall im System speichern. Um die Daten aus dem Blockspeicher abzurufen, werden die Dateien aus den verschiedenen Adressen konsolidiert. Leistungsvorteile ergeben sich beim latenzarmen Zugriff auf überwiegend strukturierte Datenmengen. Im Bereich von unstrukturierten Daten hat Blockspeicher aber mit technologiebedingten Nachteilen in Bezug auf Kosten und Komplexität im Multi-PByte-Umfeld zu kämpfen.
Verteilte, hochparallele File-Storage-Software (shared scale-out) auf Basis einer globalen Namenspace-Architektur in Kombination mit Festplatten- und Flash-speicher kombiniert die Einfachheit von NAS mit der I/O- und Durchsatzleistung von SAN oder DAS, ergänzt je nach Anwendungsfall um Objektspeicher mit seiner annähernd unbegrenzten Ausbaufähigkeit. All-Flash unterstützt vor allem den schnellen Zugriff auf bestimmte Datenbereiche innerhalb der Produktions-Clustersysteme. Dies führt direkt zu einer Steigerung der Infrastrukturleistung und beschleunigt Datenverarbeitungsprozesse – insbesondere für kritische Business-Intelligence- und Analyseanwendungen, wie sie im Sinne eines beschleunigten Return on Value im Rahmen von KI-Projekten erforderlich werden.
Autonome Fahrzeuge als Datenmonster
Der Erfolg von KI-Modellen bemisst sich bekanntlich an den Praxisanforderungen. Bei der Entwicklung autonomer Fahrzeuge beispielsweise stellen Deep-Learning-Systeme allein durch die Geschwindigkeit der Datenerfassung und -verarbeitung eine Belastung für die Speicher- und Berechnungsinfrastruktur dar. Ein einzelnes Fahrzeug erzeugt und verbraucht TBytes im mittleren zweistelligen Bereich – und zwar täglich. Bei einer Flotte von Trainingsfahrzeugen vervielfacht sich diese Menge. Die tägliche Datenerfassung beläuft sich auf mehrere PByte, die es in den Data Lake einzuspeisen gilt.
Ein weiterer Aspekt betrifft die Auslastung der GPU-Server: All-Flash-NAS-Appliances skalieren in der Regel gut für die erste Modellentwicklung, sind aber nicht für ein fertiges Produktionssystem mit 100+-GPU-Servern sowie PByte an täglich neu hinzukommenden Daten geeignet. Die Datensätze, die zum Trainieren der KI-Modelle Verwendung finden, können aus Millionen von kleinen Bilddateien bestehen, die mit Files von mehreren GByte gemischt sind. Diese werden mit einer Bandbreite von 10 GByte/s und mehr gelesen, um die GPU-Server auszulasten. Ein All-Flash-NAS-Filer mit einer Transferrate von 2 GByte/s kann die GPU-Server nicht ausreichend mit Daten versorgen.
Dazu kommen Performanceeinschränkungen bei NFS, was zu höheren Latenzzeiten führt. Eine typische KI-Produktionsumgebung in diesem Umfeld sollte Ingest-Raten ermöglichen, die konstant eine 100-GBit-Netzwerkverbindung mit 10 GByte/s pro GPU-Server sättigen. Flash wird meistens benötigt, um die Leistung für GPU-Cluster bereitzustellen, ist jedoch für den Datenkatalog oft noch zu teuer. Eine softwarekontrollierte Speicherarchitektur mit niedrigeren Kosten auf Basis von schnellen Festplatten hingegen erlaubt flexiblere Deployment-Modelle für die zugrunde liegende Hardwareinfrastruktur.
Für dieses Umfeld und im Vergleich zu klassischen NAS- oder DAS-basierten Primärspeichern prädestiniert ist Objektspeicher mit Flash. Es lässt sich aber um verteilte, hochparallele Filesystem-Architekturen ergänzen. Ihr Ziel ist es, die Daten über die softwaredefinierte Speicherverwaltung und -Infrastruktur auf Flash und HDDs zu verteilen, um einen massiv parallelen Datenzugriff zu erreichen. Niedrige Latenzzeiten bei hoher Bandbreite sowohl für Daten- als auch für Metadaten-Operationen sind dabei gefragt. Der angeschlossene Objektspeicher wiederum verfügt über die geforderte hohe Datenverfügbarkeit und -integrität und skaliert selbst im hohen PByte-Maßstab zu niedrigeren Speichergesamtkosten. Gegenüber NFS-basierten All-Flash-Systemen lässt sich in der genannten Kombination neben der höheren Ausfallsicherheit damit sowohl die CPU- als auch GPU-Auslastung des KI-Systems deutlich erhöhen.
Pro & Contra Flash
Zufällige Lesevorgänge bei geringer Warteschlangentiefe und zufällige Schreiboperationen sind I/O-Profile, bei denen auf NAND-Flash basierende Storage-Arrays oder Flash-JBODs technologiebedingt einige Nachteile aufweisen. Diese lassen sich mit Caching teilweise kompensieren, bringen aber Einschränkungen mit sich, die es in der Praxis beim Design einer Speicherumgebung zu bedenken gilt. QLC-Flash ist hier trotzdem sinnvoll, weil aufgrund des bei KI-Anwendungen vorliegenden Lese/Schreib-Verhältnisses von bis zu 5000:1 im Gegensatz zu 4:1 bei klassischen kommerziellen RZ-Anwendungen die Haltbarkeit der NAND-Zellen deutlich höher ist. QLC Flash ist unter diesen Umständen robuster als eine SATA-HDD-Umgebung – ganz abgesehen von den höheren Leistungswerten bei geringerem Energieverbrauch.
Leistungskennzahlen für KI-Anwendungen
I/O-Leistung und skalierbare Kapazitäten moderner Speichersysteme wirken sich auf alle wesentlichen Aspekte von KI-Projekten wie Datenpflege und Verwaltung bis hin zum Design von Datenbanken aus. Bei Deep Learning bedeutet ein langsamer Speicher eine langsamere maschinelle Lernleistung, denn die Anwendung repräsentiert das Abbild eines massiv parallelen vernetzten Modells, bei dem bis zu Milliarden von Neuronen lose miteinander verbunden werden, um ein einziges Problem zu lösen.
GPUs als massiv parallele Prozessoren mit Tausenden von lose gekoppelten Rechenkernen liefern dazu um den Faktor 100 oder mehr erhöhte Leistungswerte gegenüber Standard-CPUs. Die Systeme arbeiten aber nur dann optimal, wenn ihnen ein hochleistungsfähiger Speicher zur Seite steht, um die entsprechende Ingest-Bandbreite für zufällige Zugriffsmuster von kleinen bis großen Files zu liefern. Ein weiterer Punkt betrifft die Random-I/O-Leseleistung bei geringer Warteschlangentiefe. Random Reads stellen in der Regel rund 75 Prozent aller Transaktionen dar und sind eine wichtige Performancekennzahl.
NVMe over Fabrics und RDMA über InfiniBand mit 100-GBit-Ethernet sind aus Speicher- und Applikationssicht derzeit die bevorzugten Protokolle für hohe Durchsatzraten mit niedriger Latenz. In Kombination mit QLC-NAND-Flash, Storage Class Memory und einer massiv parallelen Dateisystem-Software mit NFS-Optimierungen ergibt sich damit eine skalierbare Speicher- und Datenmanagement-Systemplattform für KI-Infrastrukturanforderungen.
Turbo für KI: Persistent Storage Class Memory
Storage Class Memory (SCM) wie Intel Optane auf Basis 3D XPoint kann laut Hersteller bis zu sechsfache Leistungswerte im Durchsatz gegenüber NAND-basierten SSDs bei rund 60-fach höherer I/O-Response-Time liefern. Die Latenzzeiten liegen dann im Bereich von 7 bis 10 Mikrosekunden für Lese- und Schreibvorgänge. Diese Leistungswerte unterstützen das Design von persistenten, hochperformanten KI-Speicherinfrastrukturen. Ein weiterer Vorteil betrifft die dauerhaft konstant hohe Lese- und Schreibleistung sowie Haltbarkeit, die bis zu 20-mal mehr TBW (TBytes Written) gegenüber NAND aufweist. SCM-Technologie ist somit leistungsmäßig deutlich über 3D-NAND, aber unterhalb von DRAM angesiedelt, sodass der limitierende Faktor künftig eher serverseitig beim PCI-Bus liegen dürfte.
Eine wichtige Entwicklung im High-Performance-Bereich ist deshalb der Compute Express Link (CXL) als offener Standard für Hochgeschwindigkeitsverbindungen zwischen CPU und Speicher. CXL basiert auf PCIe und umfasst ein PCIe-basiertes Block-Input/Output-Protokoll sowie neue, Cache-kohärente Protokolle für den Zugriff auf den System- und Gerätespeicher. CXL ist für Verbindungen mit hoher Bandbreite und niedriger Latenz für Hochleistungs-Rechenlasten konzipiert.
Host-Prozessoren und Speicher, Memory Buffer und intelligente E/A-Geräte lassen sich auf dieser Basis für höchste I/O-Leistungswerte mit Anwendungen in den Bereichen künstliche Intelligenz, maschinelles Lernen und Data Analytics verknüpfen. CXL ist ein sich rasch entwickelnder Standard seit 2019 – v.3.0 ist bereits in Arbeit.
Entwicklung von KI-Pipelines
Aufgrund der Komplexität des KI-Prozesses und der verschiedenen damit verbundenen Schritte kommt der Entwicklung automatisierter und integrierter KI-Pipelines eine verstärkte Aufmerksamkeit zu, um den gesamten Prozess von der Datenerfassung bis zur Bereitstellung zu unterstützen. Je nach Anwendungsfall lässt sich jeder Schritt in einer KI-Pipeline automatisieren, um so viele manuelle Schritte wie möglich zu beseitigen. Für den Aufbau einer KI-Pipeline bedarf es sowohl CPU- als auch GPU-Knoten, und die Aufgaben werden zwischen ihnen aufgeteilt, um die jeweils optimale Kostenstruktur zu erreichen.
GPU-Knoten finden je nach Anwendung vor allem in der Trainingsphase und CPU-Knoten meist in der Einsatzphase Verwendung, wenn die Latenz ein zentraler Faktor ist. Beim Aufbau großer lokaler Standorte für KI kommt meist eine Kombination aus GPU- und CPU-Systemen zum Zug. In Bezug auf die Datenverwaltung von großen Kapazitäten bei der Entwicklung lokaler KI-Pipelines ist auf die korrekte Datenaufbereitung, Speicherung und Verarbeitung zu achten.
Die Daten sollten sich sowohl in der Entwicklungs- als auch in der Implementierungsphase leicht in bestehende IT-Systeme der weiteren Anwendungsumgebungen im Unternehmen integrieren lassen.
Konsolidierung durch Virtualisierung
Im Zusammenhang mit unternehmensweiten KI-Initiativen sind die Daten zunehmend über verschiedene On-Premises-Speicherorte und mehrere Cloudplattformen verteilt. Dort kann sich die Qualität der Informationen auf Grund der hybriden Multicloud-Architektur erheblich unterscheiden. Die Folge: Unternehmen fehlt ein qualitativ hochwertiger konsistenter Bestand, vor allem weil viele Werkzeuge zur Datenintegration daran scheitern, konsolidierte Informationen für KI und ML in Echtzeit bereitzustellen.
Datenvirtualisierung entkoppelt die Datenkonsumenten von den Datenquellen und erzeugt eine logische Schicht für den Zugriff. Die Virtualisierung agiert (analog zur Speichervirtualisierung) als intelligente logische Verbindungsebene, die heterogene Architekturen mit der unternehmensweiten KI verbindet. Der Speicherort selbst spielt keine Rolle. Die Integration der Daten erfolgt virtuell, unabhängig davon, wo sie in der Multicloud-Architektur real liegen. Weil sie in Echtzeit eintreffen – also immer genau so dargestellt werden, wie sie in den zugrundeliegenden Quellen aussehen – kann die KI-Software stets auf Basis aktueller Datensätze arbeiten. Diese müssen dazu weder bewegt noch repliziert werden. Aus Speicherverwaltungs- und Kostensicht ist dies ein großer Vorteil.
Fazit
Schon in mittelständischen Unternehmen ist die Digitalisierung von Geschäftsmodellen ohne den gezielten Einsatz von KI-Anwendungen oft nicht mehr möglich. Massive Datensätze verlangen dabei nach skalierbar hoher I/O-Leistung und geringer Latenz, allerdings zu vertretbaren Kosten. DAS, NAS und SAN skalieren bei anspruchsvollen KI-Workloads in Bezug auf die kritischen Parameter nicht in der gewünschten Weise. Speichertechnologien und Protokolle wie NVMe-oF im Verbund mit QLC-NAND, Caching, Storage Class Memory und massiv paralleler Filesystem- und Speicherverwaltungssoftware bilden daher die Basis einer zukunftsfähigen KI-Plattform, die von zufälligen Zugriffsmustern von kleinen bis sehr großen Files geprägt ist.
(ln)