Der Installationsprozess für RHEL 9.2 beginnt nach dem Neustart des Systems und hebt das 750-GB-sda-Laufwerk hervor. Dies ist der Zeitpunkt, an dem wir den gewünschten Festplattenspeicher für die Installation auswählen können. Ein einfacher Klick auf "Add a disk…" ermöglicht es, das richtige Laufwerk auszuwählen. Anschließend müssen wir ein Root-Passwort neu erstellen, das im Installationsprozess erforderlich ist. Nach der Festlegung des Passworts können wir mit der Installation fortfahren, indem wir den Button "Begin Installation" auswählen.

Sobald die Installation abgeschlossen ist und der Status "Complete!" angezeigt wird, können wir den Befehl "Reboot System" wählen, um das System neu zu starten. An dieser Stelle werden wir mit der Red Hat Create Activation Key-Webseite konfrontiert, auf der wir den Aktivierungsschlüssel erstellen müssen. Durch die Auswahl des "Next"-Buttons gelangen wir zu einer Reihe von Seiten, die es uns ermöglichen, erweiterte Unterstützung für RHEL 9.2 zu aktivieren und die Systemzwecke zu definieren. Auf der letzten Seite bestätigen wir die Einstellungen und klicken auf "Create", um den Aktivierungsschlüssel zu erstellen. Sobald dies abgeschlossen ist, sehen wir im Pop-up-Fenster den Status "Active Activation", was bestätigt, dass der Aktivierungsschlüssel erfolgreich erstellt wurde.

In dem nächsten Schritt wird bei der Installation von RHEL 9.2 auf die erweiterte Festplattenkapazität hingewiesen. Zu diesem Zeitpunkt müssen wir das System registrieren, indem wir ein Red Hat-Konto anlegen und die entsprechenden Einstellungen eingeben. Nach der Registrierung sehen wir den Befehl zur Bestätigung und ein weiteres Pop-up-Fenster erscheint. Nun können wir mit den üblichen Linux-Kommandos wie „df -k“ und „fdisk -l“ die erweiterten Festplattenkapazitäten anzeigen lassen.

Ein weiterer wichtiger Schritt besteht darin, das RHEL 9.2-ISO-Image vom CD/DVD-Laufwerk zu entfernen, um zu verhindern, dass das System beim nächsten Neustart versehentlich mit einer frischen Kernel-Installation überschrieben wird.

Nachdem wir das Grundsystem erfolgreich eingerichtet haben, geht es um die Installation und Nutzung von IBM's Open-Source-Modellen für Zeitreihenprognosen, die auf GitHub verfügbar sind. Um diese Modelle zu verwenden, müssen wir das Git-System auf unserem Linux-Server installieren. Dies erfolgt durch Ausführen des Befehls „su - root yum install git“. Danach können wir das GitHub-Repository mit den entsprechenden Modellen herunterladen.

Ein zentraler Bestandteil der IBM-Modelle ist die Verwendung von Tiny Time Mixers (TTM), die speziell für Zeitreihenprognosen entwickelt wurden. Diese Modelle basieren auf historischen Zeitreihendaten und verwenden Algorithmen, um Muster und Beziehungen zu erkennen, die eine Vorhersage zukünftiger Werte ermöglichen. Besonders hervorzuheben ist die Effizienz der TTM-Modelle, die trotz ihrer kleinen Modellgröße sehr gute Ergebnisse liefern, vor allem in Zero- und Few-Shot-Prognosen. Diese Modelle sind außerdem relativ einfach zu verwenden, da sie sowohl auf CPU als auch auf GPU ausgeführt werden können.

Die Tiny Time Mixers-Algorithmen zeichnen sich durch einen geringen Ressourcenverbrauch aus und ermöglichen eine präzise Vorhersage von Zeitreihen mit minimaler CPU- und GPU-Auslastung. Im Vergleich zu anderen Modellen bieten die TTMs außerdem die Fähigkeit, interaktive Variablen und Beziehungen zwischen verschiedenen Kanälen zu erfassen. Dies macht sie besonders nützlich für Anwendungsfälle in Bereichen wie Finanzvorhersagen, Verkaufsprognosen, Wettervorhersagen und medizinischen Anwendungen. IBM stellt hierfür ein Benchmarking-Dokument zur Verfügung, das detaillierte Informationen zur Nutzung und den Ergebnissen liefert.

Ein praktisches Beispiel für die Nutzung eines TTM-Modells ist die Vorhersage von Luftqualitätswerten in Beijing, insbesondere der PM2.5-Feinstaubkonzentrationen. Das Dataset für diese Vorhersagen ist öffentlich zugänglich und kann von der UCI-Datenbank heruntergeladen werden. Diese Art von Modell kann für verschiedene umwelttechnische und städtebauliche Anwendungen genutzt werden.

Neben den Time Series-Modellen bietet IBM auch Modelle zur Textembeddings und für Retrieval-Augmented Generation (RAG) an. Diese RAG-Modelle kombinieren Information Retrieval und Generative Pretrained Transformer (GPT)-Modelle, um Antworten zu generieren, die auf den neuesten verfügbaren Daten basieren. Im Gegensatz zu herkömmlichen GPT-Modellen, die auf vorab trainierten Daten beruhen und somit veraltete Informationen enthalten können, erlaubt der RAG-Ansatz die Aktualisierung des Wissens in Echtzeit.

Neben der Implementierung und Nutzung der IBM-Modelle gibt es wichtige Überlegungen, die bei der Nutzung von RHEL 9.2 und den dazugehörigen Modellen beachtet werden sollten. Es ist entscheidend, dass das System regelmäßig gewartet wird, um sicherzustellen, dass alle Updates und Patches installiert sind, besonders im Hinblick auf Sicherheitsaspekte. Bei der Arbeit mit vortrainierten Modellen wie den TTM-Algorithmen ist es ebenfalls wichtig, die Spezifikationen und Einschränkungen des Modells zu verstehen, insbesondere in Bezug auf die verwendeten Python-Versionen. Derzeit werden auf RHEL 9.2 die Python-Versionen 3.9 bis 3.12 unterstützt, jedoch müssen für einige GitHub-Beispiele Einschränkungen berücksichtigt werden, wie etwa das Fehlen von Unterstützung für Python 3.10.

Ein weiteres wichtiges Thema ist die kontinuierliche Verbesserung und Anpassung der Modelle, insbesondere wenn es darum geht, benutzerdefinierte Daten für spezifische Prognoseaufgaben zu integrieren. Fine-Tuning-Methoden, bei denen ein vortrainiertes Modell auf neue Daten angepasst wird, spielen dabei eine zentrale Rolle. Dies ermöglicht es, die Modelle für bestimmte Anwendungen wie z.B. die Vorhersage von Umweltdaten oder finanziellen Zeitreihen zu optimieren.

Endtext

Wie man VMware für die Installation von RHEL AI in der Cloud nutzt

Die Erstellung und Installation einer virtuellen Maschine (VM) auf VMware, um ein Betriebssystem wie Red Hat Enterprise Linux (RHEL) zu betreiben, ist ein mehrstufiger Prozess, der präzise Schritte erfordert, um sicherzustellen, dass das System korrekt eingerichtet und betriebsbereit ist. Zunächst beginnt der Prozess mit der Auswahl der entsprechenden Optionen im VMware-Installer. Hierbei wird der Pfad für den Installationsprozess gewählt, um einen benutzerdefinierten (erweiterten) Installationspfad zu erstellen, wie es in der VMware-Oberfläche dargestellt ist. Nachdem alle Optionen überprüft wurden, wird der Befehl „Fertigstellen“ ausgewählt, um den Prozess zu starten.

Nachdem die neue virtuelle Maschine (VM) eingerichtet ist, kann der Bootvorgang aus einem ISO-Abbild gestartet werden. Dies geschieht durch das Anklicken des grünen Pfeils, der in der VMware-Oberfläche hervorgehoben wird. Die Splash-Screen-Anzeige bestätigt die Installation von Red Hat Enterprise Linux (RHEL) und zeigt einen Countdown, der den Start des Bootvorgangs ankündigt. Nach diesem ersten Schritt wird die SHA-Validierungsprüfung des ISO-Abbildes durchgeführt, was einige Minuten in Anspruch nehmen kann, bevor der Installationsprozess fortgesetzt wird.

Nach Abschluss der Installationsvorbereitung wird der Benutzer mit der Installationszusammenfassung konfrontiert, in der er verschiedene Optionen auswählen muss. Zunächst wird das Ziel-Laufwerk für die Installation gewählt, gefolgt von der Konfiguration des Root-Passworts und der Umbenennung des Hosts über die Netzwerkeinstellungen. Schließlich wird der Benutzer aufgefordert, einen neuen Administrator-Benutzer zu erstellen. Nachdem alle Optionen gesetzt wurden, startet der Benutzer den Installationsvorgang, indem er den „Begin Installation“-Befehl auswählt.

Die Fortschrittsanzeige des Installationsvorgangs zeigt an, dass die Installation abgeschlossen ist, auch wenn die blaue Fortschrittsanzeige nicht immer sofort aktualisiert wird. Nach ungefähr 20 Minuten ist der Installationsprozess abgeschlossen. Zu diesem Zeitpunkt wird der Benutzer aufgefordert, sich als Root-Benutzer anzumelden und das zuvor festgelegte Passwort einzugeben. Sollte die virtuelle Maschine keine NVIDI-GPU-Karten erkennen, erscheint eine Fehlermeldung, die anzeigt, dass keine geeignete Hardware vorhanden ist.

Ein weiteres bedeutendes Thema tritt auf, wenn RHEL auf einem lokalen System ohne NVIDIA-GPU installiert werden soll. In solchen Fällen wird empfohlen, das System über alternative Cloud-Plattformen wie IBM Cloud oder AWS zu installieren. Für die IBM Cloud-Installation ist ein Cloud-Objekt-Storage-Bucket erforderlich, und der Benutzer muss sicherstellen, dass das IBM Cloud CLI (Command Line Interface) korrekt installiert und konfiguriert ist. Mit den richtigen Befehlen, die im System eingegeben werden, können Benutzer das RHEL-Image in der IBM Cloud einrichten und dort eine neue Instanz starten.

Dabei müssen die notwendigen IBM Cloud-Plugins installiert und die Konfiguration des Systems gemäß den IBM Cloud-Anforderungen durchgeführt werden. Einmal konfiguriert, können Benutzer die erstellte Instanz auf der IBM Cloud starten und das RHEL AI 1.4-Image darauf installieren, was die Vorteile von Cloud-Ressourcen wie Skalierbarkeit und Performance nutzt.

Es ist wichtig zu verstehen, dass die Nutzung von Cloud-Infrastrukturen wie der IBM Cloud eine zusätzliche Flexibilität bietet, insbesondere wenn lokale Hardware-Ressourcen nicht ausreichend sind oder wenn der Bedarf an skalierbaren, flexiblen Lösungen besteht. Der Übergang von einer lokal installierten VMware-VM zu einer Cloud-Umgebung kann auch viele Vorteile hinsichtlich Verwaltung und Wartung bringen. Aber es erfordert ein genaues Verständnis der Cloud-Infrastruktur, der Konfiguration und der Sicherheitsvorkehrungen, um optimale Leistung und Sicherheit zu gewährleisten.

Wie man InstructLab lokal installiert und den RAG-Modus aktiviert

Um InstructLab lokal zu installieren und auf einem Standard-Linux-System ohne GPU auszuführen, sind einige präzise Schritte notwendig. Im Folgenden wird beschrieben, wie die Installation auf einem RedHat Linux RHEL 9.2 ECMUKDEMO2025 System durchgeführt wurde, nachdem der Benutzer von seinem IBM Cloud-Konto ausgeloggt war.

Zuerst wird das InstructLab-Projekt von GitHub auf das lokale System geklont. Dies erfolgt mit dem Befehl:

bash
git clone https://github.com/instructlab/instructlab.git

Danach wurden die erforderlichen Python-Abhängigkeiten installiert. Dies umfasst unter anderem Python 3.11 und einige wichtige Entwicklungswerkzeuge. Die Installation der benötigten Pakete erfolgt mit:

bash
sudo dnf install gcc gcc-c++ make git python3.11 python3.11-devel

Anschließend wurde ein Python Virtual Environment (venv) erstellt, um die nötigen Pakete isoliert zu installieren. Dies geschieht mit den folgenden Befehlen:

bash
python3.11 -m venv --upgrade-deps venv
source venv/bin/activate pip install instructlab

Nach der Installation konnte der Benutzer mit dem ilab-Befehl erste Kommandos ausführen, um das System zu konfigurieren. Der erste Schritt der Konfiguration bestand darin, das InstructLab mit dem Befehl ilab config init zu initialisieren. Weiterhin wurde die Tab-Vervollständigung in der Bash aktiviert, um die Handhabung des Systems zu erleichtern:

bash
eval "$(_ILAB_COMPLETE=bash_source ilab)"

Für die Durchführung der initialen Tests wurde das Modell granite als Standardmodell ausgewählt. Der Befehl zum Anzeigen der Konfiguration lautet:

bash
ilab config show

Um ein kompaktes, vortrainiertes Modell wie granite-7b-lab-GGUF oder Mistral-7B-Instruct-v0.2-GGUF herunterzuladen, wurde folgender Befehl ausgeführt:

bash
ilab model download

Da der Modelldownload in einem Terminal-Fenster läuft, war es notwendig, ein weiteres Terminal zu öffnen und das Python-Umfeld erneut zu aktivieren, um mit dem Modell zu interagieren:

bash
source venv/bin/activate ilab model chat

Ein neues und leistungsstarkes Feature von InstructLab ist die Möglichkeit, mit Retrieval-Augmented Generation (RAG) zu arbeiten. Dies ist eine Entwickler-Preview, die durch Setzen des Environment-Variables ILAB_FEATURE_SCOPE=DevPreviewNoUpgrade aktiviert wird. Für die Nutzung dieses Features muss das granite-embedding Modell heruntergeladen werden, das als Standardmodell für RAG dient. Der entsprechende Befehl lautet:

bash
ilab model download -rp ibm-granite/granite-embedding-125m-english

Der RAG-Modus ermöglicht es, strukturierten Inhalt zu verarbeiten, indem er in ein durchsuchbares Format umgewandelt wird. Dies kann durch den Befehl ilab rag convert erfolgen, der es erlaubt, Dokumente wie PDF oder Markdown in ein JSON-Format zu konvertieren. Zum Beispiel:

bash
mkdir /home/alan/source_documents
cp /path/to/your/documents/*.pdf /home/alan/source_documents ilab rag convert --input-dir /home/alan/source_documents --output-dir /home/alan/converted_documents

Nach der Konvertierung müssen die Dokumente in das System eingespeist werden, um sie durch den RAG-Modus zu nutzen. Dies erfolgt mit dem Befehl:

bash
ilab rag ingest --input-dir=/home/alan/converted_documents

Ein weiterer Schritt, um den RAG-Modus vollständig zu nutzen, besteht darin, das Modell in der Chat-Umgebung zu verwenden:

bash
ilab model chat --rag

Dies ermöglicht es, auf Fragen zu antworten, indem das Modell auf die vorherigen Eingaben und Dokumente zugreift und kontextuell relevante Informationen liefert.

Die Integration von InstructLab und RAG in die lokale Entwicklungsumgebung bietet enorme Vorteile für die Verarbeitung und Analyse von strukturierten Inhalten. Durch die Möglichkeit, auf umfangreiche Datenbestände zuzugreifen und diese dynamisch zu durchsuchen, kann das Modell wertvolle Unterstützung bei der Automatisierung von Aufgaben und der Entwicklung von Softwareprojekten leisten.

Es ist jedoch entscheidend zu beachten, dass diese Technologien weiterhin in der Entwickler-Preview-Phase sind. Die Stabilität und Upgrade-Möglichkeiten sind noch nicht vollständig ausgereift. Zudem erfordert die Konfiguration des Systems eine gewisse technische Expertise, insbesondere bei der Einrichtung der Python-Umgebung und der Nutzung der verschiedenen Kommandos.

Zusätzlich zur beschriebenen Installation und Konfiguration ist es für die effektive Nutzung von InstructLab und RAG wichtig, die Datenquellen regelmäßig zu aktualisieren und die Modelle zu überwachen. Die Interaktion mit großen Datenmengen erfordert sorgfältige Planung in Bezug auf die Speicheranforderungen und die Verwaltung der Ressourcen. Auch sollten Benutzer sicherstellen, dass ihre Umgebung auf den neuesten Stand gebracht wird, um von den neuesten Funktionen und Sicherheitsupdates zu profitieren. Die Nutzung von InstructLab in der Entwickler-Preview-Phase bedeutet auch, dass potenzielle Fehler und Inkonsistenzen auftreten können, die regelmäßig überprüft und angepasst werden müssen.