Fünf Jahre ML in der Praxis

Seit 2015 arbeite ich mit TensorFlow und OpenCV an Projekten, die von Bildverarbeitung über Anomalie-Erkennung bis hin zu Klassifikation reichen. In dieser Zeit hat sich das ML-Ökosystem fundamental verändert. Was 2015 noch Forschung war, ist heute in Produktionssystemen angekommen. Gleichzeitig gibt es Bereiche, in denen der Hype die Realität deutlich überholt hat. Ein nüchterner Blick auf den Stand der Technik im Jahr 2020.

Die Framework-Landschaft

TensorFlow 2.0

TensorFlow hat mit Version 2.0 einen radikalen Schnitt gemacht. Die API wurde grundlegend überarbeitet, Eager Execution ist jetzt Standard, und Keras ist als High-Level-API fest integriert. Für Anwender ist das eine enorme Verbesserung. Die umständliche Session-basierte Programmierung von TensorFlow 1.x, die viele Entwickler abgeschreckt hat, gehört der Vergangenheit an.

# TensorFlow 2.0, deutlich zugänglicher als 1.x
model = tf.keras.Sequential([
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

PyTorch

PyTorch hat sich als ernstzunehmende Alternative etabliert, besonders in der Forschung. Der Hauptvorteil ist das dynamische Computational Graph, das Debugging erheblich erleichtert. In der Industrie sehen wir zunehmend PyTorch-Projekte, auch wenn TensorFlow durch TensorFlow Serving und TensorFlow Lite nach wie vor Vorteile beim Deployment hat.

scikit-learn

Für klassisches Machine Learning, Regression, Klassifikation, Clustering, bleibt scikit-learn das Werkzeug der Wahl. Nicht jedes Problem braucht Deep Learning. Ein gut konfigurierter Random Forest oder Gradient Boosting Classifier ist in vielen Fällen schneller trainiert, einfacher zu interpretieren und performanter als ein neuronales Netz.

Transfer Learning: Der Gamechanger

Transfer Learning ist die Entwicklung, die den größten praktischen Impact hat. Statt ein Modell von Grund auf mit riesigen Datenmengen zu trainieren, nimmt man ein vortrainiertes Modell und passt es auf den eigenen Anwendungsfall an. Das reduziert sowohl die benötigte Datenmenge als auch die Trainingszeit drastisch.

Für Bildverarbeitung sind vortrainierte Modelle wie ResNet, VGG und EfficientNet auf ImageNet-Basis der Standard. Für NLP hat BERT die Landschaft verändert. In der Praxis bedeutet das: Wo früher zehntausende gelabelte Trainingsdaten nötig waren, kommt man heute mit einigen hundert aus.

# Transfer Learning mit vortrainiertem EfficientNet
base_model = tf.keras.applications.EfficientNetB0(
    weights='imagenet',
    include_top=False,
    input_shape=(224, 224, 3)
)
base_model.trainable = False  # Feature Extractor einfrieren

model = tf.keras.Sequential([
    base_model,
    tf.keras.layers.GlobalAveragePooling2D(),
    tf.keras.layers.Dense(256, activation='relu'),
    tf.keras.layers.Dense(num_classes, activation='softmax')
])

GPT-2 und die Sprachmodelle

OpenAI hat GPT-2 veröffentlicht, zunächst zögerlich, aus Sorge vor Missbrauch. Das Modell kann Texte generieren, die von menschlich geschriebenen kaum zu unterscheiden sind. Für den Enterprise-Einsatz ist GPT-2 in seiner Rohform allerdings nur eingeschränkt relevant. Die Texte sind fließend, aber nicht zuverlässig faktisch korrekt. Interessanter sind die daraus abgeleiteten Anwendungen: Textklassifikation, Sentiment-Analyse und Zusammenfassung.

Die Entwicklung deutet in eine klare Richtung: Sprachmodelle werden größer, besser und zugänglicher. Ob sich das in einem GPT-3 oder GPT-4 manifestiert, bleibt abzuwarten, aber der Trend ist eindeutig.

AutoML: Demokratisierung oder Illusion?

AutoML-Tools wie Google Cloud AutoML, H2O und Auto-sklearn versprechen, Machine Learning für Nicht-Experten zugänglich zu machen. In der Praxis funktioniert das für klar definierte Standardprobleme akzeptabel. Für tabellarische Daten mit sauberen Features kann AutoML brauchbare Ergebnisse liefern.

Die Grenzen werden sichtbar, sobald es um Datenaufbereitung, Feature Engineering oder domänenspezifische Anpassungen geht. AutoML optimiert Hyperparameter und Modellauswahl, aber es ersetzt nicht das Verständnis für das Problem. Die schmutzige Wahrheit bleibt: 80% des Aufwands in einem ML-Projekt stecken in der Datenaufbereitung, und dafür gibt es kein AutoML.

Was ist praxistauglich für Enterprises?

Aus fünf Jahren Erfahrung in der praktischen ML-Anwendung ergibt sich eine nüchterne Einschätzung:

EinsatzgebietReifeEmpfehlung
BildklassifikationHochTransfer Learning mit vortrainierten CNNs
Anomalie-ErkennungMittel-HochIsolation Forest, Autoencoder
TextklassifikationMittel-HochBERT-basierte Modelle, Fine-Tuning
Prognosen (Zeitreihen)MittelLSTM, Prophet, Datenqualität entscheidend
Chatbots (generativ)NiedrigNoch nicht produktionsreif für anspruchsvolle Szenarien
Autonome EntscheidungenNiedrigRegulatorisch und technisch herausfordernd

Die wichtigste Erkenntnis ist: Machine Learning ist kein Selbstzweck. Bevor man ein ML-Projekt startet, muss die Frage beantwortet werden, ob das Problem tatsächlich ein ML-Problem ist. Viele vermeintliche ML-Aufgaben lassen sich mit klassischer Regellogik oder Statistik effizienter lösen.

Deployment und Operations

Ein trainiertes Modell ist erst die halbe Miete. MLOps, die Operationalisierung von ML-Modellen, ist ein eigenes Thema. Modell-Versionierung, A/B-Testing, Monitoring der Modellqualität im Produktionsbetrieb, Retraining-Pipelines: All das muss geplant werden, bevor das erste Modell in Produktion geht.

TensorFlow Serving und TorchServe bieten Lösungen für das Serving, aber die Integration in bestehende CI/CD-Pipelines erfordert Anpassungen. Kubeflow und MLflow adressieren den gesamten Lifecycle, sind aber selbst komplex in Aufbau und Betrieb.

Fazit

Machine Learning im Jahr 2020 ist erwachsener geworden. Die Frameworks sind zugänglicher, Transfer Learning hat die Einstiegshürde gesenkt, und für viele Standardprobleme gibt es bewährte Lösungswege. Gleichzeitig gilt: Der Hype übersteigt oft die Realität. Ein erfolgreiches ML-Projekt erfordert nach wie vor solide Datengrundlagen, klare Problemdefinitionen und ein realistisches Verständnis der Möglichkeiten und Grenzen. Wer das berücksichtigt, kann mit ML echten Mehrwert schaffen, wer es nicht tut, produziert teure Proof-of-Concepts, die nie in Produktion gehen.