Der 7. Planning Analytics und TM1 Anwendertag liegt nun hinter uns, und ich möchte ein großes Dankeschön an IBM aussprechen. Mit jedem neuen Release wird deutlicher, wie intensiv sich IBM darum bemüht, die Arbeit mit ihren Produkten für Entwickler zu vereinfachen und die Nutzung ihrer Lösungen transparenter zu gestalten. Besonders beeindruckt mich das Engagement und die Liebe zum Detail, mit denen die Coding Experience für Turbo Integrator-Prozesse verbessert wird. In der Vergangenheit wurden Funktionen wie Debugger, Syntax-Highlighting, Code-Snippets und Autovervollständigung in PAW integriert – Tools, die Entwicklern helfen, sich besser im Quellcode zurechtzufinden und ihn leichter zu verstehen.
Ein weiterer Meilenstein ist die Git-Integration in die TM1 REST API. Sie ermöglicht nicht nur die Umsetzung von CI/CD-Verfahren, sondern erleichtert auch die Ablage in neuen Formaten. So müssen keine kryptischen .pro-Dateien mehr gelesen werden; stattdessen bieten .json und .ti ein komfortableres und verständlicheres Format.
Der Anwendertag hat für viele eine Atmosphäre eines Klassentreffens – eine einzigartige Gelegenheit zum Austausch über neue Konzepte, Tools und Funktionen. Besonders inspirierend fand ich die Ideen zur Integration generativer KI in Planning Analytics Workspace (PAW). Das Thema Künstliche Intelligenz (KI) begeistert mich, da es neue, spannende Wege zur Lösungsfindung eröffnet. Unter dem Motto „Die Grenzen von Planning Analytics erkunden: Warum es sinnvoll ist, sich selbst herauszufordern“ habe ich, inspiriert von der IBM Think in München, experimentiert und versucht, dem Granite Code Model das Schreiben von TI-Prozessen beizubringen. Ein ambitioniertes Vorhaben, das viele TM1-Entwickler vielleicht für unmöglich halten würden, aber ich bin überzeugt, dass es sich lohnt, diese Herausforderung anzugehen.
Die Frage, wie ein Large Language Model TI-Prozesse lernt, lässt sich einfach beantworten: durch zahlreiche, gut dokumentierte Beispiele mit umfangreichem TI-Code. Bedrock, ein TM1/Planning Analytics-Best-Practice-Framework, bot dafür eine hervorragende Grundlage. Diese Sammlung von TI-Prozessen deckt das gesamte Spektrum an Funktionalitäten ab, was sie ideal für das Training und Fine-Tuning macht.
Für die Datenaufbereitung habe ich die Prozesse aus Planning Anylytics Workspace (PAW) in JSON-Dateien übertragen, wobei Anweisungen und Antworten separat aufgeführt wurden. Alternativ dazu habe ich ein Python-Skript geschrieben, das jede .ti-Datei öffnet, etwas „Python-Magie“ anwendet und die Ergebnisse in JSON oder YAML speichert. Das Dataset habe ich dann auf Hugging Face bereitgestellt (https://huggingface.co/datasets/pacohub/bedrock), sodass andere es ebenfalls verwenden können.
Ich lade jeden ein, sein eigenes Fine-Tuning-Konzept in den Kommentaren zu teilen! Für mein Experiment habe ich die Low-Rank Adaptation (LoRA) Methode gewählt, inspiriert durch IBM Think und Instructlab. Ziel war es, das Dataset zu erweitern, neue synthetische Trainingsdaten anzureichern und das Granite Code Model mit diesem neuen Wissen zu trainieren.
Jetzt können wir tatsächlich mit dem Modell interagieren – ein beeindruckendes Ergebnis (https://huggingface.co/pacohub/granite-8b-code-instruct-4k-ti-gguf), das zeigt, dass diese Methode Potenzial hat. Für die Perfektion bräuchte es natürlich ein größeres Team und zusätzliche Rechenleistung, aber die Ergebnisse sind vielversprechend. Ein großes Dankeschön an Jan-Peter Preuß, Michael Herrmann und Maximilian Jesch, die mit ihrem Wissen und Enthusiasmus maßgeblich zum Gelingen dieses Projekts beigetragen haben. Maximilian teilt übrigens sein umfangreiches Know-how auch in seinem inspirierenden YouTube-Kanal (www.youtube.com/@maxjesch).
In Hinblick auf die Roadmap für 2025 freue ich mich besonders auf ein geplantes Highlight im ersten Halbjahr: IBM plant, Entwicklern das Verständnis und Schreiben von TI-Prozessen mithilfe generativer KI zu erleichtern – nicht nur für TI-Prozesse, sondern auch für Rules. Diese Innovation, die ich mit Stuart King beim Expertentag diskutieren durfte, ist ein Schritt nach vorn für die Weiterentwicklung des Produkts. Ebenso gebührt Hubert Heijkers Dank für seine Arbeit an der Verbesserung der TM1-Datenbank, insbesondere für die Erweiterung der Logik im Turbo Integrator und die Einführung von JSON- und HTTP-Requests.
Für alle, die selbst aktiv werden wollen, hier ein paar nützliche Links:
https://research.ibm.com/blog/LLM-generated-data
https://arxiv.org/abs/2403.01081
https://instructlab.readthedocs.io/latest/
https://github.com/instructlab/instructlab