Fleißarbeit und Herzstück der KI-Entwicklung
Im ersten Teil dieser Serie haben wir die Vorarbeit einer individuellen Softwareentwicklung dargestellt. In diesem Beitrag skizzieren wir die Realisierung eines KI-Projektes samt einzelnen Projektphasen und damit verbundenen Arbeitsschritten. Projektgegenstand ist die automatisierte Qualitätskontrolle mittels KI-basierter Bilderkennung in der fiktiven Apfel AG.
(Teil 1 verpasst? Hier geht es zur Vorgeschichte ...)
Step 4: Datenaufnahme
Das Kamera-System ist konzipiert und aufgebaut, die Anforderungen an die Software sind definiert und erste Trainingsläufe auf unseren Test-Datensätzen durchgeführt. Nun wird das KI-Modell reif für die Produktion gemacht. Denn auch wenn das Modell in ersten Tests gut funktioniert, ist die Leistung in der Regel nicht ausreichend für den autonomen Einsatz am Förderband. Hinter diesem Feinschliff verbirgt sich die meiste Arbeit im gesamten Projekt.
Um das KI-Modell an die Produktionsbedingungen zu gewöhnen und eine exzellente Performance zu erreichen, braucht es zunächst einmal eines: Viele realitätsnahe Bilddaten. Um diese zu gewinnen, wird das KI-Modell in der Produktion der Apfel AG parallel zur bisherigen menschlichen Qualitätssicherung praktisch nebenbei mit Daten “gefüttert”. Hierzu beurteilen die Fachkräfte am Förderband weiterhin durch Sichtkontrolle die Qualität der Produkte und geben per Knopfdruck ein Signal an die Software, sobald ein Produkt fehlerhaft ist. Unsere Software markiert die Bilder und nutzt die Daten als “Fehlerbilder” für das spätere Modell-Training.
Bei der Apfel AG ist der Durchsatz recht hoch, sodass wir nach einer Woche bereits einen beachtlichen Datensatz aufgebaut haben. Die Techniker des Kunden laden diese auf einen unserer Server hoch und das Training der KI kann beginnen.
Step 5: Training der KI
Nun beginnt das Herzstück unserer Arbeit: Das Training des KI-Modells. Erste Tests haben gezeigt, was ein Modell bei der Apfel AG erkennen und auswerten kann. Um die KI-Architektur allerdings richtig ausfahren zu können, braucht es sehr viele Daten. Was wir hiermit machen, lässt sich wie folgt beschreiben:
Wir füttern das Modell mit vielen “echten” Daten aus der Produktion
dabei überwachen wir das Training und stellen sicher, dass sich das Modell nicht festfährt
Metriken werden überwacht und Limitierungen analysiert. Ggf. müssen weitere Metriken entwickelt und implementiert werden.
Sollten die Daten limitieren, muss das Dataset erweitert oder anders gewichtet werden. Oder wir finden und implementieren geeignete Augmentations (künstliche Verzerrungen der Bilder o.ä.)
Wenn die KI-Architektur limitiert, “bohren” wir das Modell auf und passen die Architektur an, um beispielsweise einen optimalen Informationsfluss durch die Schichten des neuronalen Netzwerkes zu gewährleisten.
Dieser Prozess wird viele Male wiederholt. So werden die eingesetzten Daten optimiert und die Architektur der KI weiter verfeinert. Dauert eine Wiederholung anfangs noch wenige Minuten, steigert sich die Verarbeitungsdauer mit fortschreitender Optimierung. Die letzten Trainings benötigen mitunter mehrere Tage. Am Ende steht ein hochgradig optimierter Trainingsprozess mit einem KI-Modell, das extrem zuverlässig die antrainierten Fehlerfälle erkennt.
Step 6: Deployment
Eine wichtige Anforderung an das KI-Modell betrifft die Laufzeit. Unsere Server verfügen über sehr leistungsfähige GPUs (Grafikprozessoren), auf denen Auswertungen in Sekundenbruchteilen ausgeführt werden können. Vor Ort an der Produktionsstrecke ist die Situation häufig anders und nicht jedes System lässt sich einfach mit entsprechenden GPUs nachrüsten.
Auch bei der Apfel AG ist die Installation einer GPU schwierig, entsprechend muss das KI-Modell auf die Systemarchitektur des Kunden angepasst bzw. optimiert werden. Schließlich soll die Auswertung der Bilder in weniger als 2 Sekunden abgeschlossen sein, da dann schon die nächsten Äpfel über das Förderband laufen. Da manche Laufzeitoptimierungen jedoch die Genauigkeit des Modells beeinträchtigen, ist diese Anpassung alles andere als trivial und erfordert eine hohe Expertise.
Im Anschluss an die Laufzeitoptimierungen “verkapseln” wir das Modell in einen sogenannten Container mit einer vorab definierten Schnittstelle. Bei der Einrichtung unterstützen unsere Entwickler das Team der Apfel AG und schulen die Techniker in der Wartung und Fehlerbehebung der Software. Nun kann die Qualitätssicherung automatisiert erfolgen!
Step 7: Nachtraining
Mit einer exzellenten Performance überzeugt unsere Software das Team der Apfel AG. Die Mitarbeitenden verlassen sich immer mehr auf die kaitos-KI (so werden unsere Modelle häufig bei unseren Kunden genannt) und können an anderer Stelle sinnvoller tätig sein.
Wenige Monate nach dem Start unserer Software schwankt die Erkennungsgenauigkeit jedoch manchmal, sodass wir unser geplantes Nachtraining vornehmen. Doch warum kann die Performance eines KI-Modells mit der Zeit nachlassen?
Die Qualität des Modells hängt maßgeblich von der Qualität der Trainingsdaten ab. Im Fall der Apfel AG bildet die Datengrundlage für unser Modell die Produktionsumgebung aus dem Zeitraum der Bildnahme. Bekannte Fehler wurden entweder aufgenommen oder künstlich erzeugt und trainiert. Im Falle der Apfel AG fiel die saisonale Schwankung jedoch größer aus als gedacht.
Um Schwankungen dieser Art zu berücksichtigen, planen wir in unseren Projekten immer mindestens ein Nachtraining ein und konzipieren die bei unseren Kunden ausgerollte Software entsprechend. Das Update der Software erfolgt denkbar einfach: Wir erhalten einen Datensatz mit neuen Bildern und trainieren das Modell nach. Schon nach wenigen Tagen kann die Apfel AG das Software-Update in der Produktion nutzen.
Ein ähnliches Vorgehen ergibt sich übrigens, wenn unsere Software auf eine neue Produktlinie ausgeweitet werden soll: Da das Grundgerüst aus Kamera-Setup und Softwarepaket zur Bilderkennung mittels KI schon steht, können weitere Use Cases einfacher umgesetzt und das automatisierte System zur Qualitätssicherung entsprechend erweitert werden.