TiRex - ein Foundation Model für Zeitreihen
Shownotes
Huggingface: https://huggingface.co/NX-AI/TiRex
Leaderboard: https://huggingface.co/spaces/Salesforce/GIFT-Eval
Wenn Sie Fragen haben, dann wenden Sie sich gerne an: vertrieb@boschrexroth.de
Produziert von Bosch Rexroth AG, Vertrieb Europa Mitte [Susanne Noll] (https://www.linkedin.com/in/susanne-noll-518b9162/)
Transkript anzeigen
00:00:00: Hallo liebe Zuhörerinnen und Zuhörer, willkommen zu einer neuen Folge unseres Podcastes "Industrie
00:00:08: Neu Gedacht".
00:00:09: Mein Name ist Robert Weber und mir in Linz zugeschaltet ist Professor Dr.
00:00:12: Sepp Hochreiter.
00:00:13: Hallo, willkommen im Podcast.
00:00:14: Hallo.
00:00:15: Wir wollen heute über Zeitreihen sprechen und über das Thema KI, Machine Learning und
00:00:23: Zeitreihen.
00:00:24: Was sind denn eigentlich Zeitreihen und warum sind die so wichtig für die Industrie?
00:00:29: Ja, Zeitreihen, wie du schon sagst, sind für die Industrie extrem wichtig.
00:00:36: Zeitreihen sind Daten, die in der Zeit gemessen werden, sprich, jeder Datenpunkt hat einen
00:00:46: Zeitpunkt zugeordnet, Beispiel sind z.B. Aktienkurse, wo man die Aktienkurse zu jedem Zeitpunkt
00:00:53: hat, vielleicht zu jedem Tag und in der Zukunft vielleicht vorher sagen möchte.
00:00:58: Odas das Wetter, man hat viele Wetterdaten zu jedem Zeitpunkt, zu jedem Tag oder zu jeder
00:01:02: Stunde hat man ein Datum und man möchte das auch oft in die Zukunft vorhersagen, wie
00:01:09: wird das Wetter morgen, wie wird das Wetter nächste Woche.
00:01:12: Aber von was wir reden, sind die Zeitreihen in der Industrie und da gibt es en masse, da
00:01:19: gibt es so viele in der Logistik.
00:01:21: Ich möchte wissen, wie viele Produkte verkauft werden, wie viel ich auf Lager halten muss,
00:01:27: wie viele Glühbirnen ich an irgendeinen Automobilhersteller liefern muss, wie viel der verkauft.
00:01:34: Ich muss wissen, auf Maschinen, wann ist mein Werkzeug, wann ist mein Fräser kaputt
00:01:42: oder hält er noch durch bei diesem Werkstück, dann muss ich, wenn ich die Vorhersage richtig
00:01:48: mache und weiß, wann der Fräser abgenutzt ist, muss ich vielleicht mit geringer Drehzahl
00:01:53: fahren, damit ich die Qualität beibehalte.
00:01:57: Bei Qualität sind wir schon, ich muss vorhersagen, bei meiner jetzigen Einstellung
00:02:01: ist die Qualität des Produkts, das ich herstelle, noch in Ordnung.
00:02:06: Also Zeitreihen gibt es überall, weil ich wissen möchte, wenn ich was mach, ist in Zukunft
00:02:13: das alles in Ordnung.
00:02:15: Das heißt also, Zeitreihen sind im Prinzip Daten, die mit einem Zeitstempel versehen
00:02:19: sind?
00:02:20: Genau, jeder Datenpunkt, das kann auch ein Vektor sein, das kann aber auch eine einzelne
00:02:26: Zahl sein, sind mit einer Zeit versehen.
00:02:29: Und das heißt, alle Sensordaten in der Industrie, die wir kennen, die zeichnen auf und sind
00:02:33: mit einem Zeitpunkt versehen, korrekt?
00:02:35: Genau, weil alles in unserer Welt läuft in der Zeit, jeder Sensordatenpunkt ist mit
00:02:40: einer Zeit versehen, aber auch bei der Gesundheit, EEG-Daten, EKG-Daten, Blutdruckdaten, weil
00:02:48: man Blutdruck ja zu einem bestimmten Zeitpunkt misst.
00:02:51: Alles, was wir messen, messen wir zu einem bestimmten Zeitpunkt, das heißt, wenn wir über
00:02:54: die Zeit messen, haben wir schon sofort eine Zeitreihe, also Zeitreihen gibt es überall
00:02:59: und immer.
00:03:00: Jetzt ist ja das große Thema, wenn wir über KI in der Industrie sprechen oder wenn wir
00:03:05: über KI einmal allgemein sprechen, das große Thema Large Language Modelle.
00:03:10: Da spricht es ja schon, heißt ja schon Language, also Sprache, warum können denn Large Language
00:03:16: Modelle keine Zeitreihen verarbeiten?
00:03:19: Theoretisch können sie Zeitreihen verarbeiten, weil diese Large Language Models ja eine Sequenz
00:03:29: von Wörtern oder Sequenz von Buchstaben verarbeitet, aber die wurden halt auf Wörterbuchstaben
00:03:34: trainiert und es sind abstrakte Sachen, das ist unsere Sprache und deswegen kann ich
00:03:39: es jetzt nicht auf Daten, auf Sensordaten anwenden, das funktioniert nicht, die haben nie Sensordaten
00:03:44: gesehen, die haben Wörter gesehen, die haben Buchstaben gesehen, die kennen nichts anders
00:03:47: in ihrer Welt, wie Buchstaben oder Wörter, das heißt, ich müsste sie extra von vorne
00:03:54: nur auf Sensordaten trainieren, was auch gemacht wurde und dann geht das zu einem bestimmten
00:04:00: Grade.
00:04:01: Was heißt zu einem bestimmten Grade, die Ergebnisse sind nicht super gut?
00:04:05: Genau, die Large Language Models sind super bei Text, Texterzeugung, aber sie schauen
00:04:13: nicht so gut aus, dass sie entsprechend nicht in Erwartungen, die man in sie hatte, bei eben
00:04:19: solchen Zeitreihen, bei Datenpunkten in der Zeit.
00:04:23: Hier sind klassische Modelle, ich spreche jetzt vom LSTM, das LSTM erfunden und es wurde
00:04:31: immer für Zeitreihen verwendet, das war immer gut, wenn nicht besser als alles was mit Transformer
00:04:37: gemacht wurde. Transformer haben zwei riesige Nachteile bei Zeitreihen, zwei Nachteile, die
00:04:45: sie eigentlich nicht so sinnvoll für Zeitreihen machen. Das erste ist, sie sind sehr langsam,
00:04:52: sie sind quadratisch in der Zeit, also wenn ich eine sehr lange Zeitreihe habe und ich
00:04:56: möchte was vorher sagen, ich möchte was machen, muss ich auf alles zurückschauen, was ich
00:05:00: schon gesehen habe, was ich gemacht habe. Also sie sind quadratisch in der Zeit, immer
00:05:05: wenn wir eine Vorhersage machen müssen wird über alles zurückgehen. Das ist bei LSTM
00:05:11: anders oder bei dem neuen X-LSTM auch anders. Der zweite Nachteil von Transformern ist,
00:05:18: sie haben kein Memory, sie haben kein Speicher, sie können sich nicht merken, was sie schon
00:05:23: gesehen haben und dadurch können sie den Zustand des Systems nicht verfolgen. Sie verlieren
00:05:29: den Zustand des Systems. Bei Zeitreihen geht es oft um Systeme, das kann jetzt eine Maschine
00:05:36: sein, es könnte aber auch ein Prozess wie Verkehr oder Energie sein oder beim Klimawechsel.
00:05:43: Das sind natürliche, oder künstliche Prozesse, nehmen wir mal Maschinen her, die Maschine
00:05:48: hat einen Zustand, da gibt es sowas wie Temperatur, die Temperatur des Öls oder des Werkzeugs,
00:05:55: die aktuelle Drehzahl. Lauter solche Sachen, der aktuelle Vorschub, vielleicht das aktuelle
00:06:01: Material, das bearbeitet wird. Das sind alles Zustände der Maschine. Sowas wie LSTM oder
00:06:08: recurrente Netze, die einen Speicher haben, können sich das merken. Ich verarbeite gerade
00:06:13: Aluminium bei der Drehzahl von 1200 oder so. Okay, und wenn Sie dann zurückschauen, dann
00:06:18: können Sie sagen, jetzt ist es 1201 Grad und sagen bei 1200 Grad war es so. Genau,
00:06:24: ich meine jetzt mit 1200 die Drehzahl, aber nehmen wir jetzt Grad her, es hat, man sieht
00:06:31: wie die Temperatur des Bohrers oder des Fräsers nach oben geht und jetzt kann ich in die Zukunft
00:06:37: schauen, weil ich die Vergangenheit weiß, es ist jetzt in jeder Sekunde um 1 Grad heißer
00:06:41: geworden. Dann kann ich vielleicht in der Zukunft sagen, naja, es wird auch jede Sekunde
00:06:46: 1 Grad heißer, dann ist der Bohrer so heiß und wird kaputt. Er funktioniert nicht mehr,
00:06:51: macht das Werkstück kaputt und der Bohrer selber geht auch kaputt. Also ich kann es vorher
00:06:55: sagen, es ist ein einfaches Beispiel. Oft ist es viel komplizierter, weil der wird
00:06:59: ja dann mit Öl gekühlt und manchmal ist mehr oder weniger Druck drauf. Also es ist dann viel
00:07:04: kompliziert, aber ich kann dann vorher sagen, wann das nicht mehr funktioniert, also die
00:07:08: Qualität nicht funktioniert oder das Tool, sprich das Werkzeug kaputt wird.
00:07:15: Aber wie machen so KI-Modelle voraussagen? Wie funktioniert das technisch? Was brauche
00:07:22: ich dafür?
00:07:23: Na ja, ich brauche irgendeinen Input und sag dann vorher, bei Zeitreihen ist typischerweise
00:07:30: der Input alle vergangenen Zeitpunkte. Also ich schalte die Maschine an, dann messe ich,
00:07:38: die Temperatur, die Drehzahl in der ersten Sekunde, in der zweiten Sekunde, in
00:07:42: der dritten Sekunde und so weiter und dann bin ich vielleicht bei der fünfhundertsten
00:07:46: Sekunde. Jetzt nehme ich die erste Sekunde bis zur fünfhundertsten Sekunde, all die Zahlen,
00:07:53: die ich dort habe und sehe wie die Temperatur nach oben, und nach unten geht und mache
00:07:57: dann eine Vorhersage vielleicht für 30 Sekunden im Voraus. Was ist da die Temperatur? Funktioniert
00:08:04: es noch? Wenn ich dann sehe, es wird zu heiß, könnte ich vielleicht die Drehzahlen nach
00:08:09: unten stellen oder mehr mit Öl kühlen damit der Bohrer die Temperatur nicht hat. Der Input ist die Vergangenheit,
00:08:16: die ganze vergangenen Zeitpunkte und vorhersagen, tue ich oft die Zukunft.
00:08:21: Okay. Und jetzt gibt es von NXAI und von dem Team ein Modell, das vorgestellt wurde, das
00:08:32: sozusagen nicht mehr so viel Inputs braucht oder das Zero Shot, nennt sich das, dass man
00:08:38: nur mit ohne das zu trainieren sofort laufen kann. Wie funktioniert das?
00:08:42: Ja, ich gehe jetzt noch einen Schritt zurück, weil du sagst, diese neuen Technologien, wir
00:08:50: haben hier unsere neue Methode in NXAI, dieses x-LSTM, also das Extended, das neue x-LSTM
00:08:57: angesetzt. Ich habe vorher von diesen Nachteilen vom Transformer gesprochen, das Gute bei
00:09:02: diesem x-LSTM, wie auch beim alten LSTM, das halt nur noch besser ist, dass es nur
00:09:08: aufs Memory zurück schaut und nicht über alle vergangenen Datenpunkte. Das ist wie wenn
00:09:13: ich am Buch lese und wenn ich ein neues Wort lese, fange ich wieder bei der ersten Seite
00:09:17: an und lese das ganze Buch durch, bevor ich wieder das nächste Wort lese. LSTM und rekurrente Netze
00:09:23: haben alles im Speicher, was sie schon gelesen haben. Das heißt, wenn ich am Buch lese, vergleiche
00:09:28: ich das neue Wort oder mit dem, was ich mir gemerkt habe. Das ist viel effizienter, wenn
00:09:33: ich jedes mal das Buch vor vorne lese. Also das ist eine Sache. Die zweite
00:09:37: Sache, die x-LSTM besser kann, ist State Tracking, was ich vorher gesagt habe, den Zustand des
00:09:43: Systems abspeichern. Also ich habe einen Speicher und den Speicher kann ich auch nutzen, zu
00:09:47: sagen, in welchem Zustand ist das System gerade? Ist es sehr heiß? Ist es gerade in der Abkühlphase?
00:09:57: Ist die Ölwanne noch voll oder wird die leer? Ist der Bohrer so rum oder so rum eingespannt?
00:10:04: Da gibt es ganz viele Zustände vielleicht vom System, die ich mir merken kann. Und
00:10:09: das nutzt was für die Vorhersage wenn ich weiß, in welchem Zustand das System ist,
00:10:13: vielleicht beim Systemzustand möchte ich ein Beispiel mal zeigen. In der Hydrologie war
00:10:17: das so erfolgreich. In der Hydrologie haben wir die Wasserstände von Flüssen vorher
00:10:22: gesagt, und da gibt es versteckte Zustände. Und zwar, Wasser ist im Boden gespeichert,
00:10:27: Wasser ist als Schnee gespeichert, der dann schmilzt und auch in den Fluss geht. Oder es gibt so
00:10:32: unterirdische Becken, wo auch Wasser gespeichert wird. Also es gibt sehr, sehr, sehr viele
00:10:37: Zustände vom System. Das war jetzt in der Natur. Aber genauso hat die Maschine verschiedene Zustände.
00:10:45: Jedes Auto, wie der Motor auf der Autobahn gefahren wird oder im Stadtverkehr. Und LSTM kann
00:10:55: diese Zustände sich im Memory oder im Gedächtnis merken. Und dieser Memory kann man größer
00:11:01: und kleiner machen? Oder wie groß ist der? Oder ist das flexibel? Genau, dieser Memory
00:11:06: kann man auf die Aufgabe anpassen. Und das Gute ist halt auch im Gegensatz zum Transformer,
00:11:12: die Memory-Size, also die Größe des Gedächtnisses, ist fix. Die ändert sich nicht. Egal, ob ich jetzt
00:11:19: eine sehr lange Sequenz, eine Million Datenpunkte, scanne, oder ob ich nur zehn Datenpunkte
00:11:25: scanne. Im Gegensatz zum Transformer, der eine Million Datenpunkte scannt, muss ich eine
00:11:30: Million Datenpunkte abspeichern, weil er wieder auf alle jedes Mal zurückgreifen muss.
00:11:35: Er muss immer wieder auf die zurückgehen. Das heißt, er muss das alles speichern. Das heißt,
00:11:39: da kann man das Memory nicht a priori im vorhinein festlegen, wie groß das ist. Aber Robert, ich
00:11:46: komme zu dem, was du gefragt hast, mit dem Lernen. Das Modell, das vorgestellt wurde. Genau. Jetzt sage
00:11:54: ich erstmal, was in Deep Learning, in Zeitreihenmodellen, das Neue ist. Das Neue sind diese Foundation
00:11:59: Models, wo ich ein Context-Learning mache, sprich, eigentlich Zero-Shot-Learning. Aber was heißt das?
00:12:07: Bis jetzt kennen wir diese Zeitreihenmodelle. Da habe ich viele Zeitreihen von einer Art,
00:12:13: was ich für die Aktienkurse oder viele Zeitreihen von einer Maschine und lerne dann. Ich habe dann
00:12:20: ein Modell, das genau für diese Zeitreihe sehr gut ist und was vorhersagen kann. Die neuen Techniken
00:12:26: sind, dass ich alle Zeitreihen zusammenstelle, die ich kriegen kann, die es irgendwo gibt,
00:12:33: und ein großes Modell auf alle Zeitreihen lerne. Und das ist abgeschaut natürlich von den large
00:12:40: Language Models, die mal einen Text den es gibt auf der Welt nehmen, versuchen an allen Texten, den es gibt,
00:12:46: zu lernen. Hier nimmt man alle Zeitreihen an, die ich kriegen kann und lerne ein Modell über alle
00:12:52: Zeitreihen, das alle Zeitreihen gut vorhersagbar sind. Aber kurze Frage. Logistik-Zeitreihen sind anders
00:12:59: als Maschinen-Sensor-Daten-Zeitreihen. Wie geht das? Genau. Ich sage erstmal, wie noch das funktioniert.
00:13:05: Ich lerne auf alle Zeitreihen. Wie lerne ich? Ich stelle eine neue Zeitreihe in einen Kontext, so wie
00:13:12: wie beim large language Modell, wie ein prompt. Da ist der prompt, so eine Serie von Datenpunkte,
00:13:19: die sind da geordnet, weil sie einen Zeitstempel haben, weil sie Zeit haben. Ich tu die praktisch rein schreiben,
00:13:25: wie einen prompt, wie einen text und sage dann auch analog zu large language Models. Jetzt
00:13:31: sagt das nächste Wort vorher. Aber da ist nicht das nächste Wort, das ist der nächste Zeitpunkt. Sie
00:13:34: ist abgeschaut von diesem large language Modell. Ich schreibe aus dem Kontext eine neue Zeitreihe,
00:13:40: die es noch nie gesehen hat und es soll dann vorhersagen, wie geht diese Zeitreihe weiter.
00:13:46: Jetzt hast du richtig gesagt, wie kann das sein? Also es gibt eine Zeitreihe, die für Aktien
00:13:54: ist, eine für Energie, Strom, Autos, Verkehr, alles möglich. Wie kann es sein, dass ich was vorher
00:14:04: sagen kann, obwohl die Zeitreihen so unterschiedlich sind. Die Sache ist die, es gibt Muster. Es gibt zum
00:14:11: Beispiel, wenn man so sieht, eine Schwingung, was oft vorkommt. Zeitreihe geht nach oben und dann
00:14:17: später wieder nach unten. Oder geht nach oben, hat zwei Hügel oder drei Hügel. Es gibt so typische
00:14:23: Muster, die immer wieder bei Zeitreihen vorkommen. Wenn ich ganz, ganz viele Zeitreihen sehe,
00:14:28: sehe ich sehr viele Muster. Also vielleicht so linear nach oben gehen, flacher oder weniger flacher.
00:14:33: Jetzt gibt es aber viele Muster und jetzt kommt, das ins Spiel, dass ich was im Kontext geschrieben habe,
00:14:39: dass ich schon Zeitreihen reingeschrieben habe. Jetzt schaue ich auf die Zeitreihen, die in
00:14:43: Kontext stehen, die ich dem System gezeigt habe. Das weiter man sagt. Und jetzt kannst du reinschauen,
00:14:49: ach, da gibt es immer diese Muster mit einem Doppelhügel. Da gibt es eine Sinus-Schwingung. Ach,
00:14:55: da gibt es eine Dreieckskurve. Ah, da geht es linear rauf und dann wieder linear runter. Oder es geht
00:15:01: linear rauf und dann geht es ganz flach. Also ich sehe all diese Muster. In das, was ich im Kontext
00:15:06: geschrieben habe. Aber diese Muster habe ich ja vorher schon gelernt. Die Muster habe ich bei
00:15:11: ganz vielen anderen Zeitreihen schon gelernt und kann dadurch die Muster erkennen, extrahieren und
00:15:16: mit diesen Muster die Zeitreihe vorhersagen. Weil wenn ich weiß, das Muster war, dann nehme ich an,
00:15:21: es kommt wieder. Wenn es so ein Sehrgezahn ist, wird es so ein Sehrgezahn-Muster sein. Wenn es so ein
00:15:26: Rechtecksmuster ist, wird das Rechtecksmuster weitergehen. Das heißt, ich sehe im Kontext,
00:15:31: welche Muster kommen und kann dadurch die Zeitreihe fortsetzen, weil ich schon ganz viele andere
00:15:36: Zeitreihen gesehen habe, mit ganz vielen Mustern und sage jetzt, diese Zeitreihe hat diese Muster und
00:15:41: ich kann die fortsetzen, weil ich einfach das Muster vervollständige, das am Ende kommt. Das
00:15:46: heißt, ich kann wirklich das Modell nehmen und einfach meine Zeitreihen drauf werfen und es macht
00:15:51: mir eine Vorhersage. Ohne, dass ich vorher das trainiert haben muss. Ich muss es nicht um
00:15:55: irgendeine neue Zeitreihe. Ich weiß nicht was, vielleicht, wieviel Taschengeld man hat oder
00:16:00: Energie oder irgendwas. Ich sage irgendwas vorher und ich muss nur im Kontext,
00:16:08: ich muss nix machen und das sagt vorher. Und jetzt kommt noch das Überraschende, das absolut
00:16:12: fantastische. Das ist oft besser, als wenn ich es auf die Daten trainiere. Weil ich habe oft
00:16:19: Fälle, wo ich zu wenig Daten habe. Das heißt, ich kann kein Modell eigentlich lernen, es sind
00:16:24: eigentlich zu wenig Lerndaten da. Aber für dieses im Kontext lernen oder Zero-shot lernen,
00:16:29: brauche ich gar nicht so viel Daten, weil ich stelle es einmal rein, weil ich aus vielen
00:16:33: anderen Zeitreihen die Muster erkannt habe. Also das ist das Gute, auch wenn ganz wenig Daten da sind,
00:16:39: kann ich es verwenden. Und ich bin besser als wenn ich wirklich ein statistisches Modell,
00:16:43: wie Arima und so weiter, das ist eine ganz berühmte, alte statistische Modelle, bin besser als die,
00:16:49: weil ich einfach gelernt habe, wie Zeitreihen funktionieren, welche Muster da vorkommen. Und ich
00:16:54: als Privatmann kann da sogar meine Zeitreihen reinstellen, habe keine Ahnung von Zeitreihen,
00:16:58: habe die noch nie angefasst, weiß nicht was das ist. Und es macht Vorhersagen für mich.
00:17:03: Das ist gut. Der Vergleich war ja gerade da auch, dass man
00:17:09: sagt, das ist wie ein LLM, sozusagen, über ein Prompt. Ist das das Thema, dass man Zeitreihen
00:17:14: so einfach zugänglich macht, jetzt wie ein ChatGPT? Genau, das wäre die Idee. Jeder
00:17:21: kann beim ChatGPT ein Prompt reintun und irgendwas fragen und jeder kann jetzt
00:17:27: Privatnutzer oder Firmen in dieses, das Modell heißt übrigens, TiRex hier in NXAI publiziert haben,
00:17:38: also für König der Zeitreihen, TiRex, Time-Series und Rex, eben der König Tirex. Jeder kann
00:17:47: unseren Tirex verwenden, indem er einfach eine Zahlen-Serie, muss nach der Zeit geordnet
00:17:54: sein, reinschreibt, wie wenn man Wörter reinschreiben würde, wenn er eine Frage stellen würde und dann
00:18:00: kommt die Vorhersage und sagt, ja, so geht es weiter, so geht die Zeit-Serie weiter und das
00:18:06: ist ganz einfach zu nutzen. Da braucht man kein Experte sein und der Experte muss das nutzen,
00:18:11: sollte es nutzen, kriegt bessere Ergebnisse, wenn er wenig Daten hat, was ganz oft vorkommt,
00:18:16: dass man einfach zu wenig Daten hat, weil eine neue Maschine reinkommt, weil ein neues Produkt
00:18:19: reinkommt, weil ich noch nicht so viel gemessen habe und trotzdem kann ich vielleicht sogar ohne
00:18:24: eine Messung, das ist die erste Messung in meiner Produktion und schon kann ich was vorhersagen.
00:18:29: Da gibt es eine Demo oder das kann man ausprobieren auf Huggingface, da kann man seine Daten hochladen
00:18:36: und das Modell Tirex ausprobieren. Jetzt würde mich noch mal interessieren, angenommen, ich habe
00:18:41: aber Daten, macht und das war ja gerade Thema, macht es dann Sinn überhaupt, noch diese Daten zu
00:18:47: nutzen und fein zu tunen oder braucht es das wirklich gar nicht dann mehr? Vielleicht noch mal, weil
00:18:54: Huggingface erwähnt hast, das ist die Demo, aber noch toller ist auch, oder wo wir so stolz sind auf
00:18:59: Huggingface, da gibt es zwei so Leaderboards, das sind so Foundation-Zeitreihen, Foundation-Modelle,
00:19:05: da gibt es auch ganz berühmte von Amazon und von Salesforce und von Alibaba und da gibt es
00:19:12: Leaderboard, GIF Eval und ein anderen Benchmark der von Amazon kommt ZF. In beiden Leaderboards ist
00:19:21: unser Tirex vorne in Führung mit einem deutlichen Abstand und da sind wir so stolz drauf, weil wir
00:19:27: sind vor Amazon, vor Google, vor Salesforce, vor Datadoc, da sind die Amerikaner auch vor Alibaba,
00:19:34: und den Chinesen und in beiden Leaderboards und noch dazu sind wir die schnellsten, also es ist unglaublich,
00:19:40: was wir da für ein Stich gesetzt haben, was wir da für einen Erfolg haben, also wir sind so super,
00:19:46: super stolz, dass wir nicht nur die besten sind, sondern die besten und die schnellsten und noch
00:19:51: das kleinste Modell, das auf jeden embedded Chip passt, also auf Huggingface was du erwähnt hast,
00:19:56: kann man diese Leaderboards auch sich ansehen und sich überzeugen, wie super cool das ist. Deine
00:20:05: Frage war aber, man nimmt das Modell her, wenn man ganz wenig Daten hat, wenn man ein bisschen mehr
00:20:11: Daten hat, kann man in der Tat noch bessere Ergebnisse kriegen, und zwar indem man das Modell
00:20:17: feint, also es ist auf ganz, ganz viele Zeitreihen gelernt worden, wenn ich jetzt aber spezielle
00:20:23: Zeitreihen habe, also aus dem Energiesektor, aus dem Healthsektor oder von meinem Maschinenpark,
00:20:29: ich habe vielleicht Drehmaschinen, Fräsmaschinen und jetzt tue ich genau solche Daten von meinen
00:20:34: Maschinen nochmal nach trainieren, das Modell Feintunen, also ich tue jetzt ein bisschen mehr diese Muster,
00:20:42: die da vorkommen, rausstreichen, dann wird es natürlich noch besser, oft auch deutlich besser,
00:20:47: wenn man es ohne Feintunen, ohne auf eine spezielle Domäne, ohne auf eine Anwendung
00:20:54: es anpasst. Also Anpassung auf eine Anwendung bringt nochmal ein Schritt mehr. Hängt davon ab,
00:21:00: wie viele Daten das man hat, wenn man sehr viele Daten hat, kann man es sehr gut anpassen und
00:21:05: kriegt nochmal bessere Ergebnisse. Wenn man ganz wenig Daten hat, ist es vielleicht das Originalmodell
00:21:10: schon das Beste, oder man kriegt keine Verbesserung. Aber die typische Anwendung für die Industrie
00:21:17: wird natürlich sein, man nimmt das Modell und passt es dann auf die Daten an die man in der Industrie hat,
00:21:23: weil da speziell die Muster vorkommen, dann kann ich nicht genau auf diese Muster fokussieren,
00:21:26: die genau in diese Anwendung kommen und da holt man nochmal einiges raus. 35 Millionen Parameter
00:21:33: groß ist das Modell, andere sind viel größer. Warum schlägt dann so ein Modell, das weniger
00:21:39: gesehen hat, ein Modell wie von Salesforce, von Amazon, von Alibaba? Was ist die Secret Source?
00:21:48: Was ist so das, was es ausmacht? Das ist genau das, was ich vorhin schon erwähnt habe, auch diese
00:21:58: Konkurrenzmethoden, die basieren in der Tat auf der Transformer-Technologie. Die Transformer-Technologie
00:22:04: hat keinen Speicher, dieses x-LSTM, ist ein recurrentes Netz, das ist ein Netz, ein neuronales Netz
00:22:10: ein Gedächtnis, die Transformer-basierte Methode. Klar, es wurde ja auch von Large Language Models
00:22:18: wo alle, die ja auch alle auf der Transformer-Technologie laufen, ja abgeschaut und man hat auch die
00:22:23: gleiche Architektur verwendet. Ist aber ungeeignet für Zeitreihen, die ist einfach
00:22:27: ungeeignet für Zeitreihen und diese recurrenten Netze sind viel besser. Weil was mache ich? Also
00:22:33: ich versuche den jetzigen Zustand vom System abzuspeichern und mit dem jetzigen Zustand und
00:22:38: vielleicht zusätzlichen Inputs, zusätzlichen Messdaten sage ich den zukünftigen Zustand
00:22:43: vorher. Es ist wichtig den Zustand abzuspeichern, das kann ein Transformer nicht und das kann
00:22:47: eben dieses x-LSTM. Das ist ein riesen Vorteil, das ist bei jeder Zeitreihe, bei jeder Differenzialgleichungen
00:22:52: bei alles, was wir in der Welt erleben. Was ist der Zustand des Systems? Wie wird
00:22:58: das System beeinflusst von außen und dadurch erreiche ich den nächsten Zustand. Das ist die
00:23:03: Sense von jeder Differenzialgleichung, die alle unsere Systeme, sei es natürliche oder
00:23:10: menschengemachte, beschreibt und genau das repräsentiert dieses x-LSTM, genau so ist
00:23:17: die Architektur gemacht. Ich würde einfach sagen, Transformer sind nicht für Zeitreihen ungeeignet.
00:23:23: Sie sind super gut für Text, wo ich mal ein altes Wort merken muss, aber ich muss mir
00:23:28: nichts altes merken, wenn ich den aktuellen Zustand des Systems gut beschreiben kann. Muss
00:23:32: ich mir nichts merken, weil ich eh alle Informationen habe.
00:23:34: Warum hat es denn bis jetzt keiner mit rekurrenten Netzen probiert? Warum seid ihr die Ersten?
00:23:42: Gute Frage, aber klar, es kommt aus der Geschichte sozusagen. Ich habe diese Large Language Modelle,
00:23:51: ein riesen Erfolg. Dann gibt es Leute, die im Zeitreihenbereich arbeiten und sagen, ja, kann ich das nicht
00:23:56: auch machen, dann überlege ich mir, kann ich so Token, kann ich so viel Wörter machen,
00:24:01: indem ich ein paar Datenpunkte in der Zeit zusammenfasse, kann ich das wie ein Prompt
00:24:06: machen, kann ich nicht in Kontext, kann ich das nicht rein tun und ich frage das Ding was,
00:24:10: ich gebe Zeitreihe und wie wenn es den Satz vervollständigen muss, muss jetzt die Zeitreihe
00:24:14: vervollständigen. Wir haben es abgeschaut und die Dinger, von denen man sich es abschaut,
00:24:19: laufen alle als Transformer, sind alle die Transformer-Architektur und da ist es natürlich,
00:24:25: warum sollte ich mir die Idee abschauen, aber die Architektur ändern. Also es war ganz klar,
00:24:30: dass die Leute die Transformer hergenommen haben und man muss auch sagen, der ist halt
00:24:34: auch so populär, auch wenn er für manche Sachen wie für Zeitreihen ungeeignet ist, aber
00:24:39: der ist so populär, dass jetzt in der KI-Welt fast überall diese Architektur verwendet wird.
00:24:45: Auch wenn sie nicht überall die Beste ist. Okay. Was steht jetzt auf der Agenda? Jetzt
00:24:51: gibt es das Modell, arbeitet man daran noch weiter, wird das noch ausgebaut? Was steht
00:24:56: in, woran forschen sie? Nachdem wir jetzt so erfolgreich sind mit dem
00:25:01: Tirex-Modell, wollen wir das natürlich weiterentwickeln. Was wir jetzt schon haben, also es ist schon
00:25:07: implementiert, Multivariate-Version, wo nicht nur eine Zeitreihe als Input reingeht, sondern
00:25:13: mehrere Zeitreihen. Wir haben das zum Beispiel auch in der Hydrologie, wo es so erfolgreich
00:25:17: ist, gehabt. Da gibt es die alten Wasserstände der Flüsse, aber auch das Wetter, der Regen,
00:25:23: der Niederschlag, beide Zeitreihen oder sogar noch mehrere Zeitreihen, weil Luftdruck und
00:25:29: soweit auch noch gemessen wurde, gehen rein und ich sage dann den Wasserstand des Flusses
00:25:34: vorher. Das ist multivariat. Das ist für die Industrie auch wichtig, weil da haben
00:25:38: wir auch Multivariate Zeitreihen. Genau, da gibt es oft mehrere Sensoren oder genau dieses
00:25:44: Multivariate, da haben wir ja schon ein System implementiert, aber wir versuchen das gerade
00:25:49: zu optimieren, zu verbessern. Da gibt es so Multivariate. Das ist eine Richtung. Dann
00:25:54: eine andere Richtung ist auch Klassifikation und Outlier Detection. Nachdem wir so ein
00:25:58: gutes Modell haben, möchte man ja oft nicht die Zukunft vorhersagen, sondern man möchte
00:26:02: von der Zeitreihe sagen, ist alles in Ordnung. Wie gut ist die Qualität des Produkts,
00:26:10: ist die Maschine noch in Ordnung, ist alles im grünen Bereich. Also da geht es um Klassifikation,
00:26:14: ich hab eine Zeitreihe oder in der Gesundheit., ich hab eine Zeitreihe.. ist der Mensch gesund oder
00:26:20: hat er was, oder gibt es da irgendwelche Probleme. Das ist wie die Klassifikation, dann Outlier
00:26:26: Detection ist, hey, hier läuft was aus dem Ruder. Hier passiert was Ungewöhnliches,
00:26:30: bitte nachschauen. Die Zeitreihe hat ungewöhnliches Verhalten, deshalb gibt es ein rotes Flag,
00:26:38: das sagt hey bitte nachschauen. Also wir gehen in Klassifikation, wir gehen Richtung Outlier Detection, das
00:26:44: sind zwei Richtungen, wir gehen in Richtung multivariat. Und derzeit haben wir noch eine
00:26:49: Sache, wo wir gerade weiterforschen, was jetzt auch schon fast steht, ist man kann zusätzliche
00:26:56: Daten reingeben. Wie z.B. bei Sales, also wenn man was verkauft, möchte man oft wissen,
00:27:02: an dem ich die Vorhersage mache, ist das gerade ein Feiertag, ist das gerade ein Wochenende,
00:27:06: ist es gerade vielleicht der Vatertag oder kommt der Vatertag bald oder der Muttertag,
00:27:13: wo ich da vielleicht, was mache, ist es Valentinstag, wo vielleicht mehr Blumen
00:27:16: verkauft werden. Also das sind ja keine Zeitreihen, das sind ja Konstanten oder?
00:27:20: Die Konstanten und das war auch immer schwierig, ich habe mich mit der Thematik schon seit 30
00:27:25: Jahren beschäftigt, weil ich ja mit LSTM schon immer gearbeitet habe, wie kann ich solche
00:27:30: Konstanten oder langsamere Zeitreihen, die sich ganz langsam verändern, das gibt es
00:27:36: oft auch bei Aktienkursen, dass Auftragseingänge oder solche Sachen, die nur einmal im Halbjahr
00:27:43: oder einmal im Vierteljahr gemessen werden, wie bringe ich die rein? Und das ist nicht
00:27:49: einfach, weil die andere Dynamiken haben, die haben andere Verteidigung, die ändern sich nicht
00:27:52: und die anderen Sachen ändern sich. Aber wie kann ich das gut zusammenfügen, ist nicht
00:27:55: trivial, man kann es leicht machen, man kann es sehr leicht falsch machen. Und da sind wir
00:28:00: gerade dran, haben wir schon ne sehr gute Idee, die gerade implementiert wird, wie man solche
00:28:06: konstante Sachen oder zusätzliche Informationen, also typischerweise ist es bei der Maschine,
00:28:12: vielleicht muss ich bei der Maschine auch beschreiben, wie lange ist die, wie viel maximale
00:28:17: Drehzahl hat die Maschine, Koordinaten, Beschreibungen, einfach zu sehen, ist es jetzt
00:28:22: die große Drehmaschine oder ist es die kleine Drehmaschine? Oder ist es die Art von Bearbeitung
00:28:30: oder ist es die Art von Bearbeitung? Oder ist es die Zeichnung vom Kunden oder das
00:28:34: Kundenprojekt? Genau, es kann auch sein, ich gebe ein, ich bearbeite gerade Metall oder
00:28:39: ich bearbeite gerade Aluminium oder so, oder vielleicht Holz, vielleicht geht es auch,
00:28:44: also das sind konstanten, weil während ich das bearbeite ändert sich das Material nicht,
00:28:49: da bleibt das Holz, bleibt das Aluminium oder bleibt das Metall. Und das ist natürlich
00:28:54: ein großer Unterschied, ob ich jetzt Holz oder Metall bearbeite, da kann alles mit Drehzahl
00:28:58: sich ändern und das muss das System natürlich wissen. Und wie gebe ich das rein? Weil das
00:29:05: immer Konstant ist, wenn man es nämlich jetzt zu jedem Zeitpunkt reinfüttern würde,
00:29:09: wäre diese Information komplett überrepräsentiert. Das System wird sich nur noch auf dieses Ding,
00:29:14: weil das Ausreißer provoziert, oder? Nein, weil es zu starkes Signal provoziert,
00:29:20: also wenn ich da den Kredienten mache, dann ich hab eine Zeitreihe von tausend,
00:29:25: kommt tausendmal dieses Material rein, während die andere Zeitreihe hin und her wackelt. So
00:29:32: funktioniert das nicht, das haben wir schon ausprobiert, aber wir haben andere Ideen,
00:29:35: wie wir es reinbringen, wir haben es auch schon gemacht, in unseren Hydrologie-Experimenten,
00:29:41: wo es für den Flussstand auch wichtig war, was ist die Vegetation außen rum, sind Berge
00:29:50: außen rum, haben die Berge Schnee, wie steil sind die Berge, wie schnell läuft das Wasser runter,
00:29:55: was ist die Bodenbeschaffenheit, ist es so felsig, sind viele unterirdische Höhlen und so weiter.
00:30:01: Und was ist das durchschnittliche Klima, ist es in Spanien, ist es in Österreich,
00:30:05: Deutschland? Das sind Konstanten. Und das haben wir gesehen bei diesem Projekt,
00:30:10: bei dem Hydrologie Projekt, wo wir wirklich das beste Modell haben mit LSTM, das beste Zeitreihenmodell,
00:30:15: war das sehr wichtig, diese Konstanten einzufüttern. Also da hat es schon funktioniert,
00:30:19: da haben wir schon ein paar Lösungen, aber für das Tirex werden wir das noch mal optimieren.
00:30:24: Genau für die Industrie, dass sie nicht nur die Zeitreihen reinfüttert, sondern auch so Beschreibungen
00:30:29: von dem Werkstück, von der Produktion oder von der Maschine. Das heißt aber dann auch im
00:30:35: Umkehrschluss, das verliert dann so ein bisschen dieses, diesen LLM-Charakter, oder? Wenn ich dann am
00:30:40: Anfang erstmal reingeben muss, okay, ich bearbeite jetzt hier an der Maschine Holz oder Metall, das
00:30:47: muss dann, löst dann dieses Zero-Shot-Thema so ein bisschen ab, oder? Genau. Also ich kann zwar noch
00:30:53: die Zeitreihen mit Zero-Shot-Methoden vielleicht bearbeiten, aber zum Schluss kommt dann das System
00:30:59: rein, das aber genau für diese Domäne wichtig ist, weil diese Konstanten natürlich je nach Anwendung
00:31:04: komplett anders sind. Auch bei der Hydrologie ist es die Bodenbeschaffenheit und wie steil die
00:31:10: Berge außenrum sind. Aber das ist ganz was anderes, wie steil die Berge sind oder die
00:31:14: Bodenbeschaffenheit, wie die höchste Drehzahl oder der größte Meisel von der Maschine oder
00:31:22: der größte Vorschub, wo die stärkste Kraft die ich anwenden kann. Also das sind einfach komplett
00:31:27: andere Charakteristika und deswegen muss diese Sachen, diese Konstanten, müssen dann für die
00:31:33: Domäne und für die Anwendung gemacht werden. Es kann das Gleiche sein über verschiedene Drehmaschinen
00:31:40: hinweg, wie wir das hier auch gemacht über ganz viele Flüsse hinweg gemacht,
00:31:43: weil über die vielen Flüsse hinweg immer Boden da ist, über Berge oder auch keine Berge, da wäre
00:31:49: null die Steigung der Berge dann oder kein Schnee oder Schnee, ich kann es immer beschreiben,
00:31:55: weil es immer um Flüsse geht und es immer relevant ist. Aber für eine spezielle Anwendung
00:32:00: geht man zwar über die Maschinen hinweg oder über die Produkte hinweg oder über die Kunden
00:32:04: hinweg und lernt trotzdem so ein Foundation Model, aber jetzt nicht mehr über alle wirklichen
00:32:10: Zeitreihen, wie wir es jetzt haben mit Tirex, sondern ist Tirex eingedampft auf eine bestimmte Anwendung.
00:32:15: Und das gibt halt ein riesen Sprung nochmal, weil das eine Information ist, die ich sonst aus der
00:32:22: Zeitreihe selber hätte extrahieren müssen irgendwie. Es ist viel schwieriger, als wenn ich es explizit
00:32:27: reingebe. Und da sehen wir nochmal ein Riesenpotenzial und es ist auch extrem wichtig für die Industrie.
00:32:35: Und da braucht es ja auch wieder Domänexperten, die dann sagen können, ja, das Teil war schlecht,
00:32:43: weil hier ist die Temperatur in der Halle viel zu hoch gewesen oder da war das Fenster auf, da hat
00:32:48: sich die Temperatur verändert an der Maschine. Das ist ja entscheidend, dass man dann das auch
00:32:53: weiß oder, dass man das mit abfragt. Ja, also diese Konstanten müssen gemessen haben, wenn ich nicht
00:33:00: weiß ob das Fenster auf oder zu war, dann nützt mir nichts. Aber ich muss wissen, was ich messe,
00:33:05: wo ich Sensoren noch hintue oder ich habe Maschinenbeschreibung, zumindest je kann ich
00:33:11: reinfüttern. Wenn ich weiß, dass ich für jede Maschine die gleiche Beschreibung habe,
00:33:15: dann kann ich ... Aber es kann auch sein, dass z.B. ein Feuchtigkeitssensor ist. Jetzt
00:33:20: kann aber der Feuchtigkeitssensor zwei Sachen machen, der kann auch eine Zeitreihe sein. Das heißt,
00:33:24: ich habe diese Maschinenzeitreihe, aber ich habe jetzt noch ein Feuchtigkeitssensor,
00:33:28: vielleicht noch ein Fibrationssensor. Das heißt, es wäre wieder dieses Multivariate plus diese
00:33:34: Konstanten. Das kann auch sein, welche Jahreszeit es ist, ist es eher Sommer, ist eher Winter oder
00:33:40: vielleicht Konstanten, die Maschinenkoordinaten, die ich reinfüttern kann. Und das alles zusammen
00:33:46: wird dann nochmal das Ergebnis stark verbessern. Also das Multivariate, das ich andere Zeitreihen
00:33:52: mit dazu nehme, plus diese Konstanten, die Beschreibung der Umgebungen, in der ich mich gerade
00:33:57: befinde. Sehr, sehr spannend. Wir drücken die Daumen für die nächsten Releases. Alles Gute und
00:34:03: vielen Dank und schöne Grüße nach Linz. Dankeschön, Grüße zurück.
Neuer Kommentar