
Data Loader
Ein Data Loader ist das Programmstück, das Trainingsdaten von der Festplatte holt, portionsweise aufbereitet und an ein lernendes Programm weiterreicht. Er entscheidet mit darüber, ob teure Rechenchips ausgelastet sind oder unnötig warten.
Damit ein Computerprogramm aus Beispielen lernen kann, muss es diese Beispiele erst einmal bekommen. Bilder, Texte oder Messwerte liegen auf einer Festplatte oder auf einem Server im Internet. Der Data Loader ist der Teil der Software, der diese Daten dort abholt und in verwertbarer Form weitergibt. Er liefert sie nicht am Stück, sondern in kleinen Portionen, die man Batches nennt. Ein Batch besteht typischerweise aus 32 oder 64 Beispielen, die gemeinsam verarbeitet werden. Man kann sich den Data Loader wie die Essensausgabe in einer Kantine vorstellen: Er sorgt dafür, dass immer ein Tablett bereitsteht, sobald der nächste Gast ankommt.
Warum der Nachschub über die Trainingszeit entscheidet
Das eigentliche Rechnen beim Lernen übernehmen Grafikchips, sogenannte GPUs. Diese Chips sind extrem schnell und extrem teuer. Eine leistungsfähige GPU kostet im Rechenzentrum mehrere Euro pro Stunde. Wenn sie auf Daten wartet, läuft die Rechnung trotzdem weiter.
Genau hier liegt ein häufig unterschätztes Problem. Festplatten liefern Daten viel langsamer, als eine GPU sie verarbeiten kann. Kommt der Nachschub zu spät, steht der Chip still. Fachleute sprechen dann von einem Flaschenhals beim Laden der Daten. In der Praxis kann ein schlecht gebauter Data Loader ein Training doppelt so lange dauern lassen wie nötig.
Deshalb ist der Data Loader kein Nebenschauplatz, sondern ein eigenes Optimierungsfeld. Wer die Auslastung der GPU von 40 auf 90 Prozent hebt, spart echtes Geld. Bei großen Trainingsläufen geht es dabei um Beträge im sechs- oder siebenstelligen Bereich.
Vom Rohbild zum fertigen Batch
Ein Data Loader erledigt mehrere Schritte hintereinander. Zuerst liest er eine Datei ein, etwa ein Foto im JPEG-Format. Dann wandelt er sie in Zahlen um, denn ein lernendes Programm rechnet nur mit Zahlen. Anschließend bringt er alle Beispiele auf dieselbe Größe, damit sie gemeinsam verarbeitet werden können.
Oft kommt eine Veränderung der Daten dazu, die Augmentierung heißt. Bilder werden dabei gespiegelt, leicht gedreht oder im Ausschnitt verschoben. Das Modell sieht dasselbe Foto so nie zweimal identisch und lernt robuster. Zusätzlich mischt der Data Loader die Reihenfolge der Beispiele bei jedem Durchlauf neu. Sonst könnte das Modell die Reihenfolge auswendig lernen statt den Inhalt.
Damit das alles schnell geht, arbeitet ein Data Loader parallel. Mehrere Arbeitsprozesse bereiten gleichzeitig die nächsten Batches vor, während die GPU noch am aktuellen rechnet. Dieses Vorausarbeiten nennt man Prefetching. Die fertigen Portionen warten in einer Warteschlange im Arbeitsspeicher. Im Idealfall muss der Rechenchip nie auch nur eine Sekunde pausieren.
Wo Data Loader in der Praxis auftauchen
Wer selbst mit KI programmiert, trifft den Begriff sofort. Die verbreiteten Werkzeugkästen PyTorch und TensorFlow bringen fertige Data-Loader-Bausteine mit. In PyTorch heißt die entsprechende Komponente schlicht DataLoader und wird in fast jedem Tutorial in den ersten Zeilen verwendet. Man gibt an, wie groß ein Batch sein soll und wie viele Prozesse parallel arbeiten.
In Nachrichten über KI-Firmen begegnet einem das Thema eher indirekt. Wenn von Datenpipelines, Datenaufbereitung oder Datenqualität die Rede ist, steckt der Data Loader mit drin. Bei sehr großen Sprachmodellen werden dabei Textmengen im Bereich von Billionen Wörtern durchgereicht. Solche Datenmengen passen in keinen Arbeitsspeicher, sie müssen laufend nachgeladen werden.
Wichtig ist die Abgrenzung zu einem verwandten Begriff aus der Unternehmens-IT. Dort meint Data Loader manchmal ein Werkzeug, das Datensätze in eine Datenbank oder ein System wie Salesforce importiert. Das hat mit maschinellem Lernen nichts zu tun. Im KI-Zusammenhang ist immer die Zulieferung von Trainingsdaten gemeint.