Was ist Domino IQ?
Domino IQ integriert Künstliche Intelligenz (KI) in den Domino-Server. Dieser kann ab Version 14.5 entweder eine lokal gehostete KI-Engine oder eine entfernte KI-Engine eines Drittanbieters abfragen. In beiden Fällen werden vorerst nur Texte und keine Grafiken unterstützt. Mithilfe neu eingeführter LotusScript- und Java-Klassen, sowie über das REST-API können Sie KI-Funktionen direkt in Ihre Notes-Anwendungen integrieren. In der Mail-Schablone von Version 14.5 stehen zwei fertige Beispiele zur Verfügung: So beantwortet die KI auf Wunsch Mails und erstellt Zusammenfassungen von Mail-Threads.
Bei der KI stammt das Wissen aus einem sogenannten großen Sprachmodell (Large Language Model, LLM), welches mit riesigen Datenmengen aus öffentlich zugänglichen Texten dazu trainiert wurde, die menschliche Sprache zu verstehen und zu generieren. Dadurch können LLMs nicht nur vorhandene Texte erweitern, zusammenfassen, umschreiben oder übersetzen, sondern auch komplett neue Texte verfassen. Nicht alle LLMs eignen sich für alle Anforderungen gleichermaßen gut, sondern sind oft hoch spezialisiert und wurden in Hinblick auf bestimmte Aufgaben trainiert.
Lokale oder entfernte Sprachmodelle
Das Alleinstellungsmerkmal von Domino IQ ist, dass Sie selbst entscheiden können, welches LLM Sie einsetzen. Externe (remote angebundene) LLMs sind viel mächtiger und liefern zumindest bei komplexen Aufgaben die besseren Resultate. Auch die Performance ist in der Regel besser. Dafür geben Sie bei jeder Abfrage Ihre Daten nach außen preis. Nicht zu vernachlässigen sind auch die Betriebskosten, die je nach Anbieter variieren. Bei lokalen LLMs haben Sie die freie Wahl und können für unterschiedliche Aufgaben unterschiedliche, speziell darauf trainierte LLMs einsetzen. Im Betrieb müssen keine externen Verbindungen aufbaut werden und Ihre Daten bleiben ganz bei Ihnen. Und wohl nicht ganz unwichtig: Natürlich fallen im Betrieb auch keine Kosten an. Ein Nachteil bei der Verwendung von lokalen LLMs ist der hohe Ressourcenbedarf. Darüber gleich mehr.
Domino IQ-Architektur
Domino IQ läuft als Teil von Domino-Core auf dem Domino-Server. Auch wenn die Ausgaben auf der Konsole unter dem Namen »DominoIQTask« erfolgen, handelt es sich nicht um einen echten Server-Task (weshalb Domino IQ auch nicht in der Liste der Server-Tasks aufscheint). Leider bewirkt das manchmal, dass Sie bei einer Konfigurationsänderung gleich den ganzen Server durchstarten müssen …
Je nach Konfiguration in der Datenbank DominoIQ.nsf kommuniziert Domino IQ via HTTP/HTTPS über die Adresse localhost (127.0.0.1) mit der lokalen KI-Engine (KI-Interferenzserver) und einem lokalen LLM oder über das OpenAI REST-API mit einem externen (remote) LLM. Die Benutzeraktionen in Notes-Anwendungen erfolgen durch Lotus-Script-, Java- oder API-Aufrufe und werden von Domino IQ an das verbundene LLM weitergereicht.
Ausblick auf die Zukunft
Allein die Ankündigung, dass der Hersteller der Software, die Firma HCL, KI in Domino integrieren will, hat angeblich die Lizenzzahlen hochschnellen lassen! Es gibt also viele Kunden, die dieses Feature für zukunftsträchtig halten. Und das weiß auch die HCL, weshalb sie angekündigt hat, Domino IQ weiterentwickeln zu wollen. Am naheliegendsten wäre die Implementierung von »RAG« (für Retrieval Augmented Generation). Dabei handelt es sich um eine Technik, die die Stärken des Informationsabrufs (Retrieval) und der Textgenerierung (Generation) kombiniert, um genauere Antworten zu liefern. Anstatt sich nur auf ihre trainierten Sprachmodelle zu verlassen, können RAG-Systeme Informationen aus anderen Datenquellen (Webseiten im Internet oder Dateien aus dem Dateisystem u. a.) abrufen und in ihre Antworten integrieren. Dies ermöglicht es den Modellen, aktuellere und genauere Antworten zu liefern. In einer Notes-Umgebung wäre natürlich der Zugriff auf Notes-Datenbanken interessant, wofür man ein neues Datenbankformat (ODS) entwickeln müsste, das die Daten im dafür benötigten Vektorformat ausgibt. Diese Erweiterung würde die Verwendung lokaler LLMs enorm aufwerten! Und angeblich arbeitet die HCL genau daran. Was sie wirklich implementiert und wann, bleibt aber natürlich offen. Lassen wir uns überraschen!
Hardware-Voraussetzungen
Wenn Sie Domino IQ mit einem externen LLM verbinden, müssen Sie keine zusätzliche Hardware anschaffen. Eine handelsübliche CPU mit 8 Kernen und 16 GB RAM reichen für den stabilen Betrieb einer KI-Engine mit remote LLM aus. Wollen Sie hingegen ein lokales LLM abfragen, benötigt der in Domino implementierte Open-Source llama.cpp-Server eine CUDA-kompatible NVIDIA-Grafikkarte. Ohne diese NVIDIA-GPU lädt der Domino IQ-Task erst gar nicht. Zum Testen oder in kleinen Umgebungen können Sie dazu auch eine Desktop-Grafikkarte von NVIDIA einsetzen. Ich verwendete eine etwas in die Jahre gekommene NVIDIA GeForce GTX 970 mit 4 GB VRAM und einer Rechenleistung von 5,2, die einmal für einen Spiele-PC angeschafft worden war. HCL empfiehlt GPUs mit Rechenleistungen ab 8,0, trotzdem konnte Domino IQ mit meiner alten GTX 970 alle Anfragen ausführen, die Ausführung dauerte aber schon mal 40 – 50 Sekunden – was für einen Regelbetrieb wohl zu langsam ist. Zumindest in kleineren Umgebungen sind Sie mit NVIDIA Desktop-Grafikkarten aber auch in der Praxis durchaus gut bedient. Wenn Sie nicht all zu viel investieren wollen, würde ich die Anschaffung einer NVIDIA GeForce RTX 5080 (rund 1.500 Euro) oder GeForce RTX 5090 (rund 2.500 Euro) mit 16 respektive 32 GB VRAM in Betracht ziehen. Desktop-Grafikkarten (wie die oben erwähnte RTX 5090) sind von der Rechenleistung her gar nicht so schlecht, verfügen aber für große LLMs über zu wenig Speicher. Idealerweise passt das verwendete LLM nämlich ganz in den VRAM der Grafikkarte. Die in den nächsten Beiträgen dieses Blogs angesprochenen LLMs sind mit 1,7 bis 3,4 GB relativ klein, die meisten Open-Source-LLMs sind zwischen 15 und 30 GB groß, einige erreichen aber auch Größen von einigen Hundert GB. Auf Windows-Servern kann Domino IQ neben dem Grafikspeicher auch einen Teil des System-RAMs nutzen (GPU-Offloading), die Performance bei der ausschließlichen Verwendung einer GPU ist aber weitaus besser als bei der Kombination aus GPU und CPU. Richtig für die KI optimierte GPUs sind z. B. die NVIDIA RTX 4000 SFF Ada mit 64 GB VRAM, die A100 mit 80 GB VRAM oder die H100 mit 188 GB VRAM. Letztere kostet rund 30.000 Euro pro Stück. Um Ihnen einen Größenvergleich zu liefern: Laut Aussage von Mark Zuckerberg wird Meta demnächst über eine Rechenleistung von etwa 600.000 GPUs vom Typ NVIDIA H100 verfügen …
Wenn für Sie die Anschaffung einer Desktop-Grafikkarte nicht infrage kommt, können Sie auch einen Server mit entsprechend ausgestatteter NVIDIA-GPU bei einem Webhoster mieten.
Ob Ihre Grafikkarte als CUDA-kompatibles Gerät initialisiert werden konnte, erkennen Sie zunächst daran, dass der Domino IQ-Task startet. In der Datei dominoiq_server.log im Verzeichnis IBM_TECHNICAL_SUPPORT finden Sie dann einen Eintrag ähnlich diesem:ggml_cuda_init: found 1 CUDA devices:
Device 0: NVIDIA GeForce GTX 970, compute capability 5.2, VMM: yes
build: 4969 (3dd80d17) with MSVC 19.34.31948.0 for x64
system info: n_threads = 4, n_threads_batch = 4, total_threads = 8
Lesen Sie im zweiten Teil der Serie, wie Sie Domino IQ auf Ihrem Domino-Server installieren und aktivieren.
