Open Source-KI für Entwicklungsteams
Open Source und KI: Eine transformative Kombination
Künstliche Intelligenz (KI) und maschinelle Lernabläufe (MLOps) transformieren Anwendungen und Entwicklungsprozesse.
Innovative Lösungen, die auf KI-Modellen basieren, bieten neue Möglichkeiten für das Erstellen von Inhalten, das Optimieren von Entscheidungsprozessen und das Personalisieren von Benutzererlebnissen. Moderne MLOps-Workflows optimieren die Integration, Bereitstellung und Verwaltung von KI-Modellen in Produktivumgebungen und stellen so deren Zuverlässigkeit und Performance sicher. Gemeinsam helfen KI und MLOps Entwicklungsteams, agiler zu werden und mit dynamischen Anwendungen, effizienten Workflows und kürzeren Entwicklungszyklen schnell auf sich verändernde geschäftliche Anforderungen zu reagieren.
Open Source-KI-Tools bieten Entwicklungsteams erhebliche Vorteile in Bezug auf Flexibilität und Anpassungsfähigkeit. Mit diesen Tools können Entwicklungsteams intelligente Anwendungen ändern und anpassen, um geschäftliche Anforderungen mit maßgeschneiderten Lösungen zu erfüllen. Open Source-Projekte fördern die Zusammenarbeit innerhalb einer breiten Community von Nutzenden und Mitwirkenden und unterstützen kontinuierliche Verbesserungen und neue Funktionen in wichtigen KI-Technologien. Dank dieser Flexibilität können Unternehmen KI-Tools an ihre individuellen Anforderungen anpassen, was sie zur idealen Wahl für Projekte macht, die spezielle Funktionen erfordern.
Planen Sie Ihre Entwicklungsstrategie
Um relevante Ergebnisse zu erzielen, ist ein strukturierter Ansatz bei der Entwicklung KI-basierter Anwendungen erforderlich. Die einzelnen Schritte des Prozesses müssen sorgfältig durchdacht werden, um sicherzustellen, dass Ihre Anwendung sowohl die beabsichtigten Ziele erfüllt als auch zuverlässig und effizient arbeitet. Von der Festlegung klarer Ziele über die Auswahl eines Modells bis hin zur Sicherstellung ethischer Praktiken helfen Ihnen diese Schritte beim Entwickeln robuster, zuverlässiger KI-basierter Lösungen.
- KI-Ziele bestimmen: Umreißen Sie zunächst klar das Problem, das mit Ihrer KI-basierten Anwendung gelöst werden soll. Bestimmen Sie die spezifischen Aufgaben, die Ihre Anwendung ausführen muss. Diese können Funktionen wie Generierung, Klassifizierung, Konversation, Zusammenfassung oder codebezogene Funktionen umfassen.
- Verfügbare Daten bewerten: Bewerten Sie Ihre Daten sorgfältig, dennQualität und Umfang Ihrer Daten können über den Erfolg Ihres Modells entscheiden. Generative KI-Modelle erfordern in der Regel große Trainingsdatensätze, während prädiktive KI-Modelle bei kleineren, gekennzeichneten Datensätzen effektiv sein können. Stellen Sie sicher, dass Ihre Daten relevant und vielfältig sind und die Szenarien widerspiegeln, in denen Ihre Anwendung zum Einsatz kommen wird. Korrigieren Sie Lücken oder Verzerrungen in Ihren Daten, um verfälschte oder ungenaue Ergebnisse zu vermeiden.
- KI-Aufgaben analysieren: Wählen Sie einen KI-Ansatz entsprechend den Anforderungen Ihrer Anwendung. Generative KI-Modelle zeichnen sich durch nuanciertes Sprachverständnis, kreativen Output, Data Augmentation und Echtzeit-Interaktion aus. Damit eignen sie sich ideal für das Erstellen von Inhalten, dialogorientierte KI und Textzusammenfassung. Für strukturierte Aufgaben mit klar definierten Ergebnissen – einschließlich Bildsegmentierung und Betrugserkennung – bieten prädiktive KI-Modelle wie Convolutional Neural Networks (CNNs) und Entscheidungsbäume kürzere Inferenzzeiten für Echtzeitanwendungen. In manchen Fällen kann eine Kombination der beiden Ansätze effektiv sein. So können beispielsweise Chatbots im Kundensupport prädiktive KI-Modelle für die Klassifizierung von Absichten und generative KI-Modelle für Natural Language Processing (NLP) verwenden.
- Geeignete Modelle auswählen: Mit einsatzbereiten KI-Modellen von Drittanbieter-APIs (Application Programming Interfaces) oder gemanagten Services können Sie Anwendungen erweiterte KI-Funktionen effizient hinzufügen. Diese Modelle helfen Ihnen bei der Integration komplexer Funktionen wie Natural Language Processing, Bilderkennung und prädiktiven Analysen, ohne dass Sie über umfangreiche KI- oder Machine Learning-Kenntnisse verfügen müssen. Durch die Vereinfachung der Trainings- und Wartungsprozesse für Modelle können Sie mit APIs und gemanagten Services von Drittanbietern KI-Funktionen anbieten, die das Engagement der Nutzenden und die Performance der Anwendungen steigern.
- Ethische Compliance gewährleisten: KI-basierte Anwendungen verarbeiten oft sensible Daten und können Entscheidungen erheblich beeinflussen. Berücksichtigen Sie die ethischen Auswirkungen der Aktionen und Vorhersagen Ihrer Anwendung. Priorisieren Sie Transparenz, Fairness und Verantwortlichkeit, um unbeabsichtigte Konsequenzen zu vermeiden und das Vertrauen der Nutzenden zu stärken.
Für wen ist dieses E-Book gedacht?
Dieses E-Book richtet sich an Entwicklungsteams sowie Data Scientists mit Einsteiger- und Fortgeschrittenen-Kenntnissen, die Open Source-KI-Tools, -Plattformen und -Strategien in ihren Projekten anwenden möchten. Es stellt praktische Entwicklungsaspekte in den Vordergrund und führt Sie durch Modellauswahl, Integration, Optimierung und Einsatz, damit Sie innovative, KI-basierte Anwendungen erstellen können.
Entwickeln Sie innovative, KI-basierte Anwendungen
KI umfasst eine Reihe von Technologien mit unterschiedlichen Zwecken. Dabei sind prädiktive KI und generative KI Schlüsseltechnologien – mit jeweils unterschiedlichen Funktionen – für die Entwicklung intelligenter Anwendungen. Prädiktive KI konzentriert sich auf die Analyse vorhandener Daten, um zukünftige Ergebnisse oder Trends vorherzusagen. Sie verwendet historische Daten, um Events, Verhaltensweisen oder Bedingungen vorherzusagen, sodass Nutzende fundierte Entscheidungen auf der Basis wahrscheinlicher Szenarien treffen können. Im Gegensatz dazu erstellt generative KI neue Inhalte oder Daten auf der Grundlage von Mustern, die auf vorhandenen Informationen basieren. Sie kann Text, Bilder oder andere Medien generieren, die ihren Trainingsdaten ähneln, und bietet so innovative Lösungen für das Erstellen und Personalisieren von Inhalten. Während prädiktive KI Insights in zukünftige Möglichkeiten gewährt, erzeugt generative KI neue Ergebnisse aus erlernten Mustern.
Prädiktive KI
Die Entwicklung KI-basierter Anwendungen beginnt häufig mit der Auswahl des richtigen Modells für die Aufgabenstellung. Bei prädiktiver KI bedeutet dies, dass Sie ein vorab trainiertes Modell oder eine Architektur auswählen, die auf Ihre Anforderungen zugeschnitten ist. Zu den gängigen Modellen gehören ResNet für die Bildklassifizierung, YOLO (You Only Look Once) zur Objekterkennung und Isolation Forest zur Anomalieerkennung. Bei der Auswahl eines Modells sollten Sie unbedingt die Modellgröße und -komplexität im Verhältnis zur Inferenzgeschwindigkeit berücksichtigen (wie schnell ein trainiertes Modell Vorhersagen auf der Grundlage neuer Eingabedaten trifft). Verfügt Ihr Unternehmen über etablierte KI-Praktiken, haben Sie auch die Möglichkeit, ein eigenes prädiktives KI-Modell mit den Daten Ihres Unternehmens zu erstellen. Open Source-Libraries und Deep Learning-Frameworks wie OpenCV, scikit-learn, TensorFlow und PyTorch können Ihnen bei der effizienten Integration Ihrer internen und externen Modelle mit KI-basierten Anwendungen helfen.
Datenvorbereitung und Modellevaluierung sind wichtige nächste Schritte. Indem Sie Ihre Daten gründlich analysieren, können Sie die Eigenschaften besser verstehen und potenzielle Probleme angehen. Das Experimentieren mit verschiedenen Modellarchitekturen oder vorab trainierten Gewichtungen kann Ihnen dabei helfen, ein optimales Gleichgewicht zwischen Performance und Inferenzgeschwindigkeit zu finden. Eine strenge Validierung in einem separaten Test-Dataset trägt dazu bei, dass die Modelle gut verallgemeinert werden können.
Nach Auswahl und Validierung eines Modells folgen im Entwicklungsprozess Optimierung und Deployment. Möglicherweise müssen Sie Ihre Daten vorverarbeiten, indem Sie Techniken wie Größenänderung und Normalisierung einsetzen. Beim Verwenden vortrainierter Modelle ist das Fine Tuning mit bestimmten Datensätzen entscheidend. In einigen Fällen kann durch Nachbearbeitungstechniken die Modellausgabe verbessert werden. Durch das Monitoring der Modell-Performance in der Produktion – einschließlich Inferenzreaktionszeit und Ressourcennutzung – können Sie Ihr Modell effizient neu trainieren und optimieren, um die Effektivität zu erhalten. Durch das Monitoring von Modellen auf Datenabweichung kann sichergestellt werden, dass die während der Inferenz angezeigten Daten nicht wesentlich von den Daten abweichen, die zum Trainieren oder Optimieren des Modells verwendet werden.
Da prädiktive KI-Modelle in der Regel schneller als generative KI-Modelle inferieren, eignen sie sich oft ideal für Echtzeitanwendungen. Durch die Kombination prädiktiver KI mit generativer KI können Sie umfassendere Lösungen erstellen. Diese Lösungen können jedoch zu einer längeren Laufzeit und Komplexität des Modells führen.
Generative KI
Der erste Schritt bei der Entwicklung von Anwendungen auf Basis von generativer KI ist die Auswahl des geeigneten LLM (Large Language Model). Es stehen mehrere Open Source-Optionen zur Auswahl, darunter Bidirectional Encoder Representations from Transformers (BERT), Text-to-Text Transfer Transformer (T5) und Granite-Modelle. Diese Modelle bieten jeweils besondere Stärken für unterschiedliche Aufgaben. Es ist wichtig, dass Sie ein auf die Ziele Ihrer Anwendung abgestimmtes LLM auswählen. So kann Granite-7B-Starter beispielsweise per Fine Tuning für die Zusammenfassung von versicherungsspezifischen Texten angepasst werden, die Risikofaktoren, Deckung und Verantwortlichkeiten hervorheben, während BERT sich bei Stimmungsanalysen auszeichnet.
Die Bewertung der Modell-Performance ist von entscheidender Bedeutung, da LLMs sich in Bezug auf Genauigkeit, Fließfähigkeit und allgemeine Effizienz bei Aufgaben unterscheiden, die für Ihre Anwendungen relevant sind. Darüber hinaus können hochleistungsfähige Modelle wie GPT-3 und einige Granite-Varianten erhebliche Rechenressourcen erfordern, einschließlich teurer GPU-Ressourcen (Graphics Processing Unit). Daher ist es wichtig, diese Anforderungen relativ zu Ihrer verfügbaren Infrastruktur und Ihrem Budget abzuwägen. Und mit dem Zugang zu ausreichend qualitativ hochwertigen Daten für das Fine Tuning können Sie eine optimale LLM-Performance sicherstellen, die den Anwendungsanforderungen entspricht.
Frameworks wie Langchain vereinfachen die Integration von LLMs in Anwendungen, sodass Sie sich auf die zentrale Anwendungslogik konzentrieren können. Diese Frameworks bieten Tools für Prompt Engineering und Modellverkettung und erweitern LLM-basierte Komponenten durch Speicher oder Kontext.
Nachdem Sie die optimalen LLMs und Frameworks ausgewählt haben, können Sie Ihren Anwendungen generative Funktionen hinzufügen. Dieser Prozess beinhaltet die Optimierung der Performance des Modells und das Entwickeln präziser und effektiver Prompts, die die KI anleiten, um die gewünschten Ergebnisse zu liefern. Das Etablieren robuster Feedbackschleifen ist für kontinuierliche Verbesserungen entscheidend, da so sichergestellt wird, dass sich das Modell im Laufe der Zeit anpasst und verbessert.
Mit Prompts können Sie das LLM anweisen, die gewünschte Ausgabe zu generieren. Indem Sie klare, prägnante Prompts erstellen, Vorlagen für strukturierte Anweisungen verwenden und Techniken wie Verkettungen einsetzen, um das LLM durch komplexe Aufgaben zu führen, können Sie die Effektivität des Modells erheblich steigern. Diese Strategien stellen sicher, dass KI-Modelle auch bei mehrstufigen Interaktionen konsistente und relevante Antworten liefern.
Die RLHF-Schleife (Reinforcement Learning from Human Feedback) ist für das Fine Tuning Ihres LLM entscheidend. Erfassen Sie nach dem Deployment Ihres Modells die Interaktionen der Nutzenden und nutzen Sie dieses Feedback zum Optimieren der Performance des LLM. Durch diesen iterativen Prozess kann Ihr Modell aus Fehlern lernen und sich kontinuierlich verbessern. So kann es bei der Anpassung an reale Use Cases genaue und relevante Ausgaben liefern.
Durch Fine Tuning werden vorab trainierte LLMs noch weiter an Ihre spezifische Domain oder Aufgabe angepasst. Indem Sie Modelle anhand kleinerer, aufgabenspezifischer Datensätze trainieren, können Sie die Performance verbessern und die Ausgaben an Ihre Anwendungsanforderungen anpassen. Mit Tools wie Hugging Face Transformers können Sie das Wissen des vorab trainierten Modells nutzen und es gleichzeitig für Ihre Zwecke optimieren. Mithilfe der Methode zur Modellanpassung von InstructLab können Sie die Ausgaben des Modells an den Werten oder Nutzeranforderungen Ihrer Organisation anpassen und sicherstellen, dass die Antworten genau sind und dem Kontext entsprechen.
Retrieval-Augmented Generation (RAG) kombiniert LLMs mit Systemen zum Abrufen von Informationen (Information Retrieval-Systemen) und ermöglicht es den Modellen, während der Generierung auf relevante Daten aus externen Quellen zuzugreifen und diese zu integrieren. Dieser Ansatz verbessert die sachliche Genauigkeit und Kohärenz der Ausgaben und wird häufig verwendet, wenn LLM-Ergebnisse durch interne und Unternehmensdaten ergänzt werden. Die integrierten RAG-Funktionen von Langchain optimieren diesen Prozess, insbesondere bei Verwendung von Granite-Modellen zum Generieren genauer und kontextrelevanter Antworten.
Agenten sind autonome Systeme, die in einer definierten Umgebung agieren, um bestimmte Ziele zu erreichen. Durch die Integration interaktiver und adaptiver Verhaltensweisen können diese Systeme ihren Betriebskontext dynamisch anpassen, um auf sich ändernde Bedingungen zu reagieren. So können sie komplexe Aufgaben bewältigen und Entscheidungen in Echtzeit treffen. Die Entwicklung dieser Agenten umfasst das Erstellen von Systemen mit mehreren Komponenten, die Aktionen auf der Grundlage von KI-Modellergebnissen planen, ausführen und bewerten. Durch die Orchestrierung komplexer Aufgaben, wie etwa der Entscheidungsfindung in Echtzeit und der Integration externer APIs und Datenquellen, können Sie die operativen Fähigkeiten Ihres Systems verbessern.
Die Modellverkettung verbindet mehrere KI-Modelle oder -Prozesse zu einem zusammenhängenden Workflow, bei dem jedes Modell auf den Ergebnissen des vorherigen aufbaut. Mit diesem Ansatz können Sie Anwendungen entwickeln, die komplexe Aufgaben mit Interaktionen aus mehreren Schritten bewältigen. Indem Sie die Funktionen verschiedener Modelle in einer koordinierten Sequenz nutzen, können Sie effiziente Systeme entwickeln, die an Ihre Anforderungen angepasst sind.
Durch eine gründliche Prüfung des Workflows Ihrer Anwendung mit der integrierten KI erreichen Sie ein benutzerfreundliches und effizientes Erlebnis. Strenge Tests des Gesamtsystems helfen Ihnen, Probleme oder Ineffizienzen zu erkennen und zu beheben, sodass Sie die Anwendung für eine verbesserte Funktionalität und Nutzbarkeit optimieren können. Dieser iterative Prozess steigert nicht nur die Performance, sondern passt die Anwendung auch besser an die Anforderungen und Erwartungen der Nutzenden an.
Bewerten und Vergleichen von LLMs
- Generieren von Prompts: Erstellen Sie eine Vielzahl von Prompts, um die kreativen und generativen Fähigkeiten zu bewerten. Optimieren Sie Ihre Prompts, um die besten Antworten und Ausgaben für verschiedene Szenarien zu erhalten.
- Experimentieren mit Daten: Testen Sie Modelle mit proprietären Daten, die für Ihre Anwendung spezifisch sind. Passen Sie Prompts und Einstellungen an, um die Modell-Performance bei bestimmten Aufgaben zu optimieren.
- Benchmarken der Performance: Testen und Vergleichen Sie die Modell-Performance mit den Ergebnissen Ihrer Experimente.
Beispiel 1: Chatbot für den Kundensupport
- Problem: Dienstleister müssen Kundenfragen und -probleme schnell und effizient bearbeiten – und das täglich rund um die Uhr.
- Daten: Chat-Protokolle, Produktdokumentation und Knowledgebase-Artikel
- Modell: Granite-7B-Starter, angepasst für Konversationen und Intent-Klassifizierung und mit RAG für den Wissenserwerb erweitert
- Ethische Überlegungen: Gewährleistung des Datenschutzes, Minderung von Verzerrungen und Transparenz für die Nutzenden
- Deployment und Iteration: Bereitstellen des Chatbots, Überwachen der Interaktionen, Sammeln von Feedback, Retraining der Modelle und regelmäßiges Aktualisieren der Wissensdatenbank
Entwickeln eines Chatbots mit Drittanbieter-APIs
- Modellbereitstellung: OpenAI ChatGPT API über Quarkus REST Client
- Weitere Überlegungen: Intent-Klassifizierung und Integration der Wissensdatenbank
Beispiel 2: Risikoprüfung im Versicherungswesen
- Problem: Unternehmen müssen ihre Verfahren zur Risikoprüfung optimieren, indem sie komplexe Versicherungsdokumente automatisch zusammenfassen.
- Daten: Eine vollständige Sammlung von Versicherungsunterlagen, einschließlich Policen, Schadensmeldungen und ärztlicher Gutachten
- Modell: Fine Tuning von Granite-7B-Starter für die Zusammenfassung von versicherungsspezifischen Texten mit Fokus auf Risikofaktoren, Deckung und Haftung
- Ethische Überlegungen: Fokus auf Genauigkeit, Einhaltung gesetzlicher Vorschriften und Wahrung des Datenschutzes
- Deployment und Iteration: Integrieren der Modelle in den Workflow der Risikoprüfung, Sammeln von Feedback und Verfeinern der Modelle zur Verbesserung der Risikobewertung
Bewerten von Versicherungsrisiken mithilfe von Drittanbieter-APIs
- Modellbereitstellung: Google Gemini-API über Quarkus REST Client
- Weitere Überlegungen: Fine Tuning und Datenvorverarbeitung
Kenntnisse in Prompt Engineering, Fine Tuning, RAG und Agenten sind für die Entwicklung innovativer, KI-basierter Anwendungen unerlässlich. Jede Methode bietet unterschiedliche Tools und Strategien zur Bewältigung komplexer Herausforderungen und zur Verbesserung der interaktiven Funktionen KI-basierter Anwendungen. Mit der erfolgreichen Anwendung dieser Techniken können Sie intelligentere, reaktionsschnellere und effektivere KI-basierte Systeme entwickeln, die wichtige Geschäftsziele erfüllen.
Red Hat® OpenShift® AI basiert auf Red Hat OpenShift und bietet eine umfassende Plattform für das Entwickeln, Trainieren, Fine Tuning, Bereitstellen und Monitoring von Modellen und Anwendungen. Gleichzeitig erfüllt die Lösung die Workload- und Performance-Anforderungen moderner KI-Lösungen. Es enthält Tools und Umgebungen zum Steigern der Produktivität bei der KI-Entwicklung:
- Jupyter Notebooks und PyTorch vereinfachen das Experimentieren und die kollaborative Entwicklung und optimieren den Übergang vom Prototyp zur Produktion.
- Red Hat OpenShift Pipelines automatisiert CI/CD-Workflows (Continuous Integration/Continuous Deployment) zur Gewährleistung einer reibungslosen und effizienten Modellbereitstellung.
- Verbesserte Monitoring- und Beobachtbarkeits-Tools verfolgen die Performance und den Zustand der Modelle in Echtzeit und überwachen sie auf Datenabweichungen und -verzerrungen, was proaktive Anpassungen und Wartung unterstützt.
Red Hat OpenShift AI optimiert außerdem die Entwicklung und Bereitstellung KI-basierter Anwendungen in Hybrid Cloud-Umgebungen. Verbesserte Funktionen zur Modellbereitstellung – einschließlich Unterstützung für Modellserver und Runtimes wie KServe, vLLM und Text Generation Inference Server (TGIS) – helfen Ihnen dabei, KI-Modelle einfach und flexibel bereitzustellen. Red Hat OpenShift AI weitet die Funktionen zur Modellbereitstellung auf Edge-Standorte aus, damit Sie KI-basierte Lösungen auch in Umgebungen mit beschränkten Ressourcen bereitstellen können. Der Self Service-Zugriff auf Hardwarebeschleuniger ermöglicht Ihnen eine schnelle Iteration und Optimierung Ihrer Anwendungen.
Red Hat Enterprise Linux® AI ist eine Plattform für Basismodelle, mit der Sie LLMs (Large Language Models) der Granite-Familie für Unternehmensanwendungen nahtlos entwickeln, testen und ausführen können. Es ermöglicht Portierbarkeit für mehrere Hybrid Cloud-Umgebungen und die Skalierung von KI-Workflows mit Red Hat OpenShift AI.
Schließlich bietet die Podman Desktop-Erweiterung „AI Lab“ ein optimiertes Setup zum Entwickeln und Testen von KI-basierten Anwendungen vor Ort, sodass Sie Produktivumgebungen genau und effizient simulieren können.
Achtung, Fertig, Entwickeln
Entwickeln Sie noch heute KI-fähige Anwendungen mit Red Hat OpenShift AI.
Red Hat OpenShift AI vereinfacht komplexe Workflows, beschleunigt Entwicklungszyklen und erweitert Deployment-Optionen. Dank des reduzierten Zeit- und Arbeitsaufwands für das Entwickeln und Bereitstellen von KI-Modellen können Sie sich auf Innovationen konzentrieren und in kürzerer Zeit überzeugende Lösungen erstellen.
Kostenloser Einstieg in Red Hat OpenShift AI
Zugriff auf Red Hat OpenShift AI in der kostenlosen Developer Sandbox
Erfahren Sie, wie Sie Red Hat OpenShift AI nutzen
Greifen Sie auf interaktive Lernpfade für eine Vielzahl von Use Cases für KI zu.