Durch den Einsatz von KI-Modellen haben sich uns neue Möglichkeiten in der individuellen Softwareentwicklung eröffnet. In diesem Blogartikel wollen wir drei Strategien beleuchten, die wir in unsere Softwarelösungen eingebettet haben. Von der Auswahl der passenden Strategie bis hin zur Umsetzung von KI-Modellen in konkrete Projekte.
- Autor
- Matthias Burtscher
- Datum
- 6. September 2023
- Lesedauer
- 3 Minuten
Der Einsatz von KI-Modellen in der Softwareentwicklung
Warum wir uns mit dem Thema Künstliche Intelligenz (KI) in der Softwareentwicklung beschäftigen, haben wir bereits im letzten Blogartikel näher erläutert. Wir beschäftigen uns vor allem mit der Frage, wie wir KI als Bestandteil individueller Softwarelösungen implementieren können. Schnell hat sich gezeigt, dass die Fülle an verfügbaren KI-Tools, Services und Anbietern - mal ausgereifter und mal weniger - zu einer großen Unübersichtlichkeit führt.
Im Laufe des Ausprobierens sind wir ziemlich schnell auf eine Herausforderung gestoßen: Wo sollen wir anfangen und welche Strategien sollten wir bei unserer KI-Reise berücksichtigen? Mal stolpert man über die offene Modelldatenbank „Hugging Face”, für deren Einsatz Basistechnologien wie „TensorFlow”, „PyTorch” o.ä. beherrscht werden müssen. Im nächsten Gespräch geht es um die offene API von „OpenAI” oder einen gewissen Service bei „Amazon Web Services”. Dabei gilt es sich bewusst zu machen, dass all diese Angebote sich auf völlig unterschiedlichen Abstraktionsniveaus befinden und je nach Einsatzzweck und Kontext (z.B. Budget, Zeit) nur gewisse Lösungen Sinn machen.
Um unserer KI-Reise einen Rahmen zu geben, greifen wir auf drei Strategien zur Implementierung von KI-Modellen in Softwareprojekten zurück:
1. KI-Services nutzen
Wir müssen das Rad nicht neu erfinden. Im Bereich sehr weit verbreiteter Use-Cases bietet es sich an, fertige, verfügbare Services zu nutzen, die per Schnittstelle angebunden werden können. Das ist z.B. prädestiniert bei Bilderkennung (z.B. Objekte, Gesichter, Text etc.), beim Einsatz von Chatbots oder auch bei der Generierung von Text- und Bildinhalten in der Sparte Marketing & Sales.
Fündig wird man schnell. So gut wie alle großen Cloud-Anbieter haben KI-Modelle in ihrem Portfolio, die mehr oder weniger „nur noch angebunden werden müssen“ und gegen eine Pay-per-Use-Gebühr genutzt werden können. Aber auch andere Unternehmen, wie „OpenAI” mit ihrer zur Verfügung gestellten Schnittstelle, bieten hier praktikable Lösungen an.
Vorteile | Nachteile |
Wenig Aufwand | Kaum individualisierbar |
Vergleichsweise schnell realisierbar | Passt nur für Standard-Use-Cases |
2. KI-Modelle anpassen und trainieren
Wird der Anwendungsfall etwas spezifischer, so dass zumindest eine geringfügige Anpassung des KI-Modells oder ein spezifisches Training auf Basis der eigenen Daten erforderlich ist, kann diese Strategie die richtige Wahl sein. Vor allem bei unternehmensinternen BI-Lösungen, wo die eigenen Daten als Grundlage für das Training unerlässlich sind, bietet sich das an. Aber auch im Bereich der Bilderkennung, wenn es spezifische Probleme zu lösen gilt (z.B. visuelle Qualitätssicherung).
Es bietet sich in diesem Fall an, vor allem Datenbanken wie Hugging Face anzusteuern, um nach verfügbaren Basismodellen zu suchen, die für eine individuelle Anpassung geeignet sind. Zu berücksichtigen sind dabei natürlich auch lizenzrechtliche Überlegungen.
Vorteile | Nachteile |
Gutes Kosten/Nutzen Verhältnis für spezifische Anwendungsfälle | Aufwand deutlich höher als bei einfachen Services |
Nutzen, was da ist und das Rad nicht neu erfinden | Trainingsdaten müssen in hoher Qualität verfügbar sein |
3. Eigene KI-Modelle entwickeln
Gibt es noch keine passenden KI-Modelle, die sich als Basis für den eigenen Use-Case eignen, ist die Entwicklung eigener Modelle möglich. Das ist vor allem dann unumgänglich, wenn es um die Erstellung von Prognosen (z.B. Absatz, Produktion etc.) geht. Hier spielen viele individuelle Einflussfaktoren eine wichtige Rolle, die je nach Branche und Markt stark variieren können.
Um dieses Thema anzugehen, sind vor allem die erforderlichen Basistechnologien zu beherrschen, wobei es eine Reihe von Programmiersprachen und Frameworks gibt, die dafür eingesetzt werden können.
Vorteile | Nachteile |
Sehr spezifische Use-Cases abbildbar | Aufwand und erforderliches Fachwissen sehr hoch |
Hohe Unsicherheit über den Erfolg des Projektes |
Unser Fazit zum Einsatz von KI-Modellen in der Praxis
Diese drei KI-Strategien helfen uns in der Praxis. In Gesprächen und bei Brainstormings zum Thema KI können wir dank ihnen schneller einordnen, welche Lösung bzw. welche Herangehensweise für den Einsatz von KI in einem bestimmten Use-Case in Frage kommt. Ich hoffe, dass wir euch mit unseren Strategien ein Werkzeug in die Hand geben können, um etwas Ordnung ins KI-Universum zu bringen.
Welche Erfahrungen habt ihr bereits mit KI basierten Lösungen gemacht und welche Strategie wurde bei der Implementierung verfolgt? Ich bin gespannt darauf, mich mit dir auszutauschen und freue mich über deine Kontaktaufnahme.