Transcript: Data Science

· Back to episode

Full episode transcript. Timestamps refer to the audio playback.

Dominik

Hallo liebe Hörerinnen und Hörer, willkommen beim Python-Podcast, heute Episode 67, wir reden über Data Science.

Dominik

Hallo Dominik und herzlich willkommen.

Dominik

Hi Mira.

Dominik

Mira, hallo.

Dominik

Schön, dass du da bist.

Dominik

Normalerweise fangen wir immer mit News an, da hat doch gesagt, haben wir heute gar nicht so viele und die letzten sind auch gar nicht so lange her.

Dominik

Wir reden über Data Science.

Dominik

Wir wollten glaube ich nochmal ganz von vorne anfangen, weil wir noch nicht so viele Data Science-Folgen hatten oder uns vorgenommen hatten, noch einige mehr davon aufzunehmen, als wir bis jetzt haben.

Dominik

Und mit Python macht man ja recht viel Data Science.

Dominik

Vielleicht erzählst du aber erstmal was über dich und stellst dich kurz vor und dann sprechen wir über das Thema.

Mira

Ja, gerne. Also praktischerweise bin ich Data Scientist, das heißt wir haben heute bestimmt eine Menge zu besprechen.

Mira

Ich bin auch seit einem Jahr Geschäftsführerin zusammen mit einem Kollegen in unserer Beratung.

Mira

Ich habe dort angefangen direkt nach dem Studium, bin da seit einigen Jahren und inzwischen bin ich dann mit an die Spitze gerückt.

Mira

Ursprünglich habe ich aber Psychologie studiert.

Mira

Und so richtig weg davon bin ich auch gar nicht.

Mira

Man muss auch sagen, dass man in der Psychologie schon auch Fehler haben, Analyse und Statistik macht.

Mira

Und da hat es mir noch nicht gereicht.

Mira

Deswegen habe ich dann noch einen Statistik-Master dran gehängt und bin dann so in der Statistik-Beratung damals gelandet.

Mira

Da hieß es noch mehr Statistik.

Mira

Inzwischen würden wir natürlich sagen, wir machen Data Science oder aktuell sagt man wahrscheinlich am besten noch AI, damit halt auch wirklich klar ist, was eigentlich gemeint ist.

Mira

So erinnern sich die Begriffe ein bisschen und es ist natürlich über die Zeit auch total viel dazugekommen.

Mira

Machine Learning, was ja vor einigen Jahren eben noch nicht so da war.

Mira

Vor einigen Jahren haben wir noch ganz viel mit R gemacht.

Mira

Am Anfang inzwischen ist eigentlich fast alles in Python, bis auch so ein paar einzelne Projekte, vor allem im Forschungsbereich, da sind die Leute ein bisschen mehr mit R unterwegs.

Jochen

Ja.

Mira

Und ja, ich kann gerne noch ganz kurz was über mein Unternehmen sagen.

Mira

Wir sind eine Data Science Beratung, haben also sehr viele wechselnde Projekte, sind 17 Leute, sind in Berlin, das heißt zum Hörertreffen wird es dann wahrscheinlich auch nichts für mich.

Mira

Ich glaube, dass man ein bisschen zu weit ist, um mal kurz vorbeizukommen.

Dominik

Und die Deutsche Bahn hatte ich letztes Wochenende wieder von Berlin hierher, das war wieder hervorragend.

Mira

Ja, sollte man sich einfach ein paar gute Podcasts vorher mitnehmen.

Dominik

Wir haben ja noch ein paar, vielleicht habt ihr noch nicht alle gehört.

Mira

Ja, da kann man dann schon noch ein bisschen länger Bahn fahren.

Mira

Ja, und aktuell bin ich witzigerweise, also ich habe erst viel Data Science gemacht, bin dann immer mehr auch in die Projektleitung gegangen.

Mira

Und da passt es dann ja auch wieder.

Mira

Mit der Psychologie.

Mira

Und jetzt bin ich aber witzigerweise so ein bisschen back to the roots, bin im Kundenprojekt drin, so Body Leasing mäßig dort mit im Team.

Mira

Und bin dann klassisch als Data Scientist im Team drin und das macht mir auch ganz großen Spaß.

Mira

Wir haben teilweise länger laufende Projekte, aber auch manchmal Einzelprojekte, die nur ein paar Monate sind.

Mira

Und das ist natürlich auch total spannend, weil man dann sehr viel Abwechslung hat und in verschiedene Themen reinkommt.

Mira

Und wir haben auch einen Podcast, das ist der Grund, warum ich jetzt hier sitze und ihr mich kennt.

Mira

Ein Unternehmenspodcast, in dem ich manchmal, aber auch nicht immer zuhören bin, wo wir ganz viele Themen rund um Data Science besprechen, den Data Science Deep Dive.

Dominik

Genau, das war sehr spannend.

Dominik

Ja, habe ich auch schon reingehört, fand ich sehr gut.

Dominik

Ja.

Dominik

Ja, gut.

Dominik

Also, was ist denn eigentlich Data Science?

Mira

Ja, also ganz geschwollen ausgedrückt, wir wollen Erkenntnisse aus Daten gewinnen.

Mira

Das ist jetzt auch irgendwie ziemlich allgemein, aber es geht darum, dass man Dinge versteht, dass man auch Dinge vorlehr sagt und dass man teilweise sogar Entscheidungen dann trifft.

Mira

Entweder noch manuell.

Mira

Oder sogar automatisiert auf Basis von Daten.

Mira

Oder anders gesagt, man will halt aus großen und oft komplexen Datensätzen Muster erkennen, die man jetzt mit bloßem Auge überhaupt nicht erkennen könnte und nur erkennt, wenn man eine Analyse macht.

Dominik

Also tatsächlich Statistik im weiteren Sinne, wie man das halt dann in der Psychologie oder Gynämetrie oder so.

Mira

Ja, also Statistik ist auf jeden Fall, ja, ein Teil ist ja auch so, manche sagen, ja, Statistik oder Machine Learning, das überschneidet sich aber an ganz vielen Stellen.

Mira

Ja, klar.

Mira

Ja, man sagt ja auch oft, man braucht so drei Bereiche.

Mira

Das eine ist die fachliche Expertise, also ich kenne mich zum Beispiel aus mit, ja, einfach mit dem Bereich, in dem ich gerade was mache, zum Beispiel Umweltdaten oder Verkaufsdaten, Online-Shopping, was auch immer.

Mira

Das zweite sind methodische Kenntnisse, da sind wir halt bei dem Thema Statistik, Machine Learning, haben Leute natürlich auch unterschiedliche Schwerpunkte.

Mira

Manche sind mehr mit Bilddaten unterwegs, mit Text, mit tabularen Daten, da bin ich vor allem unterwegs.

Mira

Und das dritte ist, dass man natürlich auch Coding-Kenntnisse braucht, also so das, was aus der Informatik kommt.

Mira

Damit man seine Analysen irgendwie programmieren kann.

Mira

Es ist natürlich irgendwie auch fast zu viel verlangt, das alles gleichzeitig zu können.

Mira

Also, dass ich super gut coden kann, dass ich auch noch super gut in Statistik und Machine Learning bin und dann gleichzeitig noch in dem Fachbereich so lange unterwegs bin, dass ich mich da wahnsinnig gut auskenne.

Mira

Ist ja doch ziemlich viel, das schafft man vielleicht nach ein paar Jahren.

Mira

Aber deswegen sind wir auch meistens in Teams unterwegs oder wir als Beratung.

Mira

Wir sind natürlich daran gewöhnt, dass wir uns schnell neue Themen reinfinden.

Mira

Trotzdem brauchen wir eine neue.

Mira

Wir haben in unserem neuen Projekt natürlich ganz viel Kommunikation mit unseren KundInnen, die uns auch ihre Fachexpertise dann mitgeben, weil wir dann vor allem die methodischen Kenntnisse und das Coding mitbringen.

Dominik

Das finde ich auch immer am schwierigsten mit Kunden, also die Domain-Knowledge dann zu haben oder jemanden zu haben, mit dem man darüber reden kann.

Jochen

Gemeinsame Sprache zu finden.

Dominik

Genau, auf dem Level, dass man halt versteht, was man gegenseitig voneinander will oder was man bereitstellen kann oder wie lange das dauert und Sachen, die man auf der einen Seite für einfach hält, sind auf der anderen Seite vielleicht ein bisschen schwieriger.

Jochen

Aber ihr seid dann auch meistens tatsächlich, du hast es eben schon angesprochen, Body Leasing, also quasi in den Teams selber unterwegs.

Jochen

Unterschiedlich.

Jochen

Achso, oder ihr setzt auch Projekte komplett um für Kunden als Team sozusagen und gebt dann ein Produkt an den Kunden oder so.

Jochen

Ja, sehr, sehr unterschiedlich.

Mira

Also wir sind für einen langjährigen Kunden sind wir eigentlich fast so wie eine zweite Data Science Abteilung.

Mira

Wir haben auch selbst eine Data Science Abteilung, aber die Aufgaben sind dann so verteilt.

Mira

Und da machen wir auch den kompletten Betrieb und die Wartung mit.

Mira

Also wir machen nicht nur die reine Data Science, sondern auch alles, was im DevOps-Bereich anfällt.

Mira

Ich bin aber mehr im Data Science-Bereich unterwegs.

Mira

Und wir haben eben ja auch zunehmend das Thema Body Leasing.

Mira

Das war früher irgendwie kaum, weil früher hatten viele Unternehmen auch selbst keine Data Science Abteilung.

Mira

Da gab es eine Zeit, da waren die halt alle irgendwie ganz verzweifelt und waren dann total froh, dass das jemand für sie macht.

Mira

Und inzwischen ist es eher so, dass die Unternehmen, die groß sind.

Mira

Die überhaupt von der Kultur her in Richtung datenbasiertes Unternehmen gehen.

Mira

Die haben jetzt eine Data Science Abteilung, aber die haben dann halt hier und da mal Lücken und finden niemanden und nehmen uns dann dann dazu.

Dominik

Wenn du jetzt Methoden angesprochen hast, was würdest du denn sagen, wie ist das denn in der Praxis?

Dominik

Habt ihr da viel mit sophisticated Methoden noch zu tun, die ihr jetzt aus der Uni oder so noch kennt?

Dominik

Oder ist das meistens dann schon einfaches Zeugs, weil einfach die Datenprobleme andere sind?

Dominik

Als jetzt gute Methoden auszusuchen.

Mira

Es ist tatsächlich oft ziemlich anspruchsvoll.

Mira

Ich glaube, das sind aber auch so die Projekte, die wir uns rauspicken oder für die wir dann auch weiter empfohlen werden.

Mira

Wir haben zum Beispiel was im Sportwettenbereich und da kann man sich ja vorstellen, wenn man mal überlegt, wie sag ich eigentlich vorher, wie viele Tore von diesen beiden Mannschaften in diesem Spiel fallen und wie viel in der ersten und zweiten Halbzeit und so.

Mira

Es wird schon ganz schön kompliziert und da haben dann die Leute mit Statistik hintergrund auch ganz schön Spaß.

Mira

Manchmal sind die Sachen halt noch ein bisschen sinnvoll.

Mira

Aber oft wird es dann doch irgendwie schon ein bisschen komplexer.

Mira

Wir sind aber auch tatsächlich darauf spezialisiert.

Mira

Also es gibt ja auch ganz viele Sachen, wo vielleicht auch erstmal eine gute Visualisierung ausreicht.

Mira

Visualisierung machen wir natürlich auch mit, aber ein Projekt, wo es nur um Dashboard mit Visualisierung geht, landet seltener bei uns.

Dominik

Ja, wie kommt man denn eigentlich zur Data Science?

Dominik

Du hast gesagt, du hast Psychologie studiert und dann fandst du Statistik spannend.

Dominik

Ich habe vor allem auch Wirtschaft.

Dominik

Ich habe ja Lehre studiert und da fand ich auch Statistik eigentlich spannend.

Dominik

Es hat bei mir noch ein bisschen Umweg gebraucht.

Dominik

Aber ich glaube, auch da hätte man direkt den Weg Richtung Data Science finden können.

Mira

Ja, auf jeden Fall.

Mira

Also das ist auch so ein typischer Hintergrund.

Mira

Ich habe ja in dem Statistikmaß, da waren viele, die vorher Mathe gemacht haben, aber auch viele mit ganz anderen Hintergründen.

Mira

Viele Wirtschaftswissenschaften, aber auch KollegInnen mit Soziologie Hintergrund oder Physik.

Mira

Ich glaube, das ist sogar so ein bisschen ein Klassiker, dass die Physiker sich irgendwie dann in die Statistik und Machine Learning,

Mira

in die Machine Learning Welt verirren.

Mira

Und wir haben noch gar nicht so lange, haben wir auch jemanden mit Informatik Hintergrund.

Mira

Das klingt irgendwie witzig.

Mira

Wow, das hat er jetzt auch.

Mira

Nur Leute, also der ist jetzt schon, ich glaube schon drei Jahre bei uns, aber ja, vorher hatten wir nur Leute mit einem anderen Hintergrund.

Mira

Ich glaube, es ist aber ein bisschen schwieriger geworden, quer einzusteigen, weil es inzwischen ja sehr viele tatsächlich Data Science Studiengänge gibt

Mira

oder Informatik mit ganz starkem Machine Learning Schwerpunkt.

Mira

Und wenn man dann sagt, ja, ich habe da, also ich habe BWL studiert und ich finde Statistik gut und habe ein paar Kurse gemacht,

Mira

dann konkurriert man halt inzwischen mit Leuten, die da leider dann schon viel, viel mehr mitbringen.

Mira

Also ich glaube, das ist schon schwieriger geworden.

Dominik

Der BWL ist ja auch nicht VWL zum Beispiel.

Mira

Ja, ich weiß. Aber es ist ja auch ein Fach, wo man ja doch, je nachdem, wie man sich da orientiert, viel Statistik machen kann.

Dominik

Ja, also Ökonometrie kann man schon tief reingehen, glaube ich da.

Dominik

Es ist halt die Frage, wie gut man dann in das Programmieren reinkommt und in das, was man da an Methoden noch so mitbringt.

Jochen

Ja, aber das ist auf jeden Fall eine interessante Geschichte.

Jochen

Das habe ich auf jeden Fall, also jedenfalls in den Data Science Projekten, in denen ich so unterwegs war,

Jochen

halt auch irgendwie immer wieder gesehen, dass halt oft die Leute, also ich weiß nicht, wie das bei euch ist,

Jochen

weil normalerweise Softwareentwicklungsgeschichten, die ich so mache, da habe ich dann halt eben mit Abteilungen zu tun,

Jochen

die halt irgendwie Softwareentwicklung machen oder so.

Jochen

Aber bei den Data Science Geschichten ist es immer sowas wie Business Intelligence oder so.

Jochen

Und das sind andere Leute, das sind ein bisschen so, die sind so ähnlich, also das sind oft irgendwie Leute,

Jochen

die dann da probibliert haben oder so, dann da probibliert haben, genau, ganz oft aus der Ecke eher.

Jochen

Und die eher so, ja, Analysten-Dinge tun, oft viel SQL schreiben und so.

Jochen

Und das ist irgendwie ein bisschen anders als bei den Softwareentwicklern.

Jochen

Und die haben auch meistens oft so ein bisschen so, ja, Produkte entwickeln oder so, ist jetzt eigentlich nicht so unser Ding.

Jochen

Genau, und das ist irgendwie eine etwas andere Welt.

Jochen

Also da gibt es oft eine Trennung zwischen Softwareentwicklung und eben in diesem ganzen.

Dominik

Und da wolltest du ja auch nochmal was zu sagen.

Dominik

Wie du das so findest mit den Softwareentwicklern zusammenzuarbeiten.

Mira

Aber vielleicht noch erst dazu.

Mira

Ich glaube, wir sind da irgendwie so dazwischen, weil wir eben ja schon Datenprodukte bauen wollen.

Mira

Also es gibt auch mal ein POC oder irgendwie so eine einzelne Analyse, wo wir dann sagen,

Mira

so und das sind die Ergebnisse und hier sind die Zusammenhänge.

Mira

Aber normalerweise sind das dann schon, also schreiben wir auch Software,

Mira

aber wir schreiben Software, die was mit Daten macht.

Mira

Also dann sind zwei Sachen zusammen und BI-Abteilungen sind, glaube ich, auch nochmal,

Mira

aber mehr, ja, die sind halt besonders gut darin, dann auch ganz viel visuell zu analysieren

Mira

und fokussieren sich sehr stark darauf.

Mira

Und ich glaube, die sind auch nochmal so ein bisschen, vielleicht noch ein bisschen weniger nerdig,

Mira

hätte ich jetzt so gedacht, so Mitte.

Dominik

Das klingt, als wäre es kein Kompliment.

Jochen

Ich weiß nicht, ich dachte eben, ne.

Jochen

Ohne Wertung zu sagen.

Jochen

Oh, ja.

Mira

Ja, aber was du eben gefragt hättest, so,

Mira

das ist auch jetzt ganz spannend, ich bin jetzt im Team, wo eigentlich relativ klar zugeordnet ist,

Mira

wer ist Data Scientist und wer ist Software Engineer.

Mira

Und natürlich arbeiten wir alle an dem Code, aber es gibt irgendwie so ein paar Klischees

Mira

oder so Dinge, die man vielleicht beobachtet, wenn jemand, der vor allem einen Softwareentwicklungshintergrund hat,

Mira

jetzt zum ersten Mal versucht, Daten zu analysieren und Data Science zu machen.

Mira

Wir haben auch mal ein Projekt übernommen, wo wir entsprechenden Code dann,

Mira

tatsächlich sollte man ja refactoren und wir haben auch viel refactored,

Mira

aber da haben wir einen Teil wirklich neu geschrieben.

Mira

Und das, also, am Coding-Stil hat man schon gesehen, dass der einfach gar nicht wusste,

Mira

dass man mit Datensätzen Sachen machen kann.

Mira

Der hat halt immer ganz viel gedubt über Zeilen und Spalten und so,

Mira

weil er halt einfach diese ganzen Sachen nicht kannte, die man mit Datensätzen machen kann,

Mira

vor allem mit Pandas.

Mira

Und was sonst auch, wenn man zusammenarbeitet, halt oft passiert, ist,

Mira

dass jemand, der nicht viel mit Daten gearbeitet hat,

Mira

muss halt so nimmt, wie sie sind und da irgendwie ganz unkritisch ist

Mira

und gar nicht sieht, wenn irgendwelche Zahlen ganz komisch aussehen.

Mira

Und manchmal ist ja vielleicht der Code gar nicht falsch,

Mira

aber es ist irgendwo ein Denkfehler drin.

Mira

Also der Code macht, was er soll, nur das, was er soll, ist halt vielleicht gar nicht so korrekt.

Mira

Oder man hat ein Missverständnis zu den Daten, man hat irgendeine Annahme,

Mira

aber in Wirklichkeit ist das ein bisschen anders.

Mira

Und das ist was, was dann, glaube ich, schwer fällt.

Mira

Also ich glaube, das fällt einem als Data Scientist auch schon,

Mira

manchmal schwer, so richtig dieses Business Understanding aufzubauen.

Mira

Aber ja, wenn man so reine Softwareentwicklung macht,

Mira

ist es, glaube ich, noch mal schwieriger, in den Daten drin zu sein und die zu interpretieren

Mira

und zu sagen, Moment mal, also die Kurve sieht ja echt komisch aus.

Mira

Aber also eigentlich mag ich es total gerne, wenn das Team gemischt ist,

Mira

weil auch nicht alle Data Scientists so richtig auf guten Code achten.

Mira

Also es ist uns sehr wichtig und wenn jemand halt noch nicht so gut programmieren kann

Mira

und aus dem Studium kommt, weil es einsteigt, dann ist es das,

Mira

was die Person dann lernt, so wie ich damals.

Mira

Aber ich glaube, das ist auch nicht überall so verbreitet,

Mira

weil manche haben dann eher einen Schwerpunkt auf so Datenanalysen,

Mira

sind vielen Notebooks unterwegs und wenn sie dann fertig sind,

Mira

dann wird das Notebook in irgendeinen Job eingebunden

Mira

und das ist dann die Automatisierung und das kann manchmal funktionieren,

Mira

aber oft ist es auch ziemlich wackelig.

Jochen

Ja, interessant.

Jochen

Also da ist auf jeden Fall oft so ein bisschen ein Graben zwischen den Welten.

Dominik

Also wenn ich das mal sehe,

Dominik

was so Data Scientists schreiben,

Dominik

dann steige ich mir die Hände über den Kopf.

Dominik

Es gibt natürlich Unterschiede,

Dominik

aber das ist immer so im Vergleich eher anders,

Dominik

als ich das machen würde wahrscheinlich.

Dominik

Also man schreibt als Data Scientist oft so die ganzen Prozesse untereinander

Dominik

und muss erst mal lernen, die Methoden zu definieren und so.

Mira

Und warum soll man denn, also wenn man das nur einmal macht,

Mira

warum soll man denn eine Funktion schreiben?

Mira

Man kann es ja Zeit für Zeit ausführen

Mira

und die Funktion braucht man ja nur, wenn man zweimal dasselbe macht.

Mira

So ist dann, glaube ich, manchmal die Denkweise,

Mira

wenn man eben,

Mira

wenn man einfach mehr aus der Analyse kommt

Mira

und da so quer einsteigt.

Mira

Ich finde das immer einfach manchmal,

Mira

wenn Leute schon promoviert haben

Mira

und das ist,

Mira

die haben total krasse Sachen gemacht,

Mira

aber können dann halt auch keinen guten Code schreiben,

Mira

weil es für die Doktorarbeit eben ganz andere Anforderungen hat.

Jochen

Ja, da ist auch oft,

Jochen

also gerade Physiker,

Jochen

die sind da ja oft eher so verdorben.

Jochen

Die haben dann irgendwie Vortragen geschrieben oder sowas.

Jochen

Oder C++,

Jochen

das ist auch nicht viel besser.

Jochen

Und dann, ja genau,

Jochen

bringen sie da so schlechte Gewohnheiten mit.

Jochen

Das ist natürlich oft,

Jochen

irgendwie so ein bisschen,

Jochen

ja, aber,

Jochen

ja, ja.

Jochen

Aber das ist auch so ein bisschen,

Jochen

man lernt das ja auch nirgendwo,

Jochen

außer wenn man jetzt irgendwie quasi bei einer Firma anfängt,

Jochen

die das halt auch irgendwie täglich macht oder so.

Jochen

Bei den meisten Firmen gibt es ja da gar keine Kultur.

Jochen

Und ja, also es ist irgendwie,

Jochen

ja, es ist irgendwie,

Jochen

also dieses Handwerkszeug ist ein Problem oft.

Jochen

Das denke ich auch.

Dominik

Was nervt dich denn an Leuten,

Dominik

die Softwareentwicklung gemacht haben,

Dominik

die jetzt Data Scientists sind?

Jochen

Ja, das ist auch interessant, ja.

Mira

Also, ja, also die Sachen,

Mira

die ich gerade genannt habe,

Mira

also es ist oft so,

Mira

die Ergebnisse so unkritisch beurteilt werden,

Mira

dass man eigentlich nur guckt,

Mira

ob der Code richtig läuft

Mira

und das macht,

Mira

was man implementieren wollte.

Mira

Und dass eben,

Mira

ja, man dann nicht unbedingt erkennt,

Mira

dass die Ergebnisse eigentlich unplausibel sind.

Mira

Zum Beispiel,

Mira

dass das Modell viel zu gut ist

Mira

und da muss irgendwo was falsch sein.

Dominik

Die Kirchturmspitze ist 245 Meter im Minus.

Mira

Bitte?

Dominik

Du könntest erst mal die Kirchturmspitze ausrechnen,

Dominik

dass die Höhe dann 245 Minus ist.

Dominik

Und wenn man das dann einfach so übernimmt

Dominik

und daran glaubt.

Mira

Ja, genau.

Mira

Also, das ist natürlich ein gutes Beispiel.

Mira

Manchmal habe ich auch den Eindruck,

Mira

dass dann wiederum,

Mira

wenn man sehr,

Mira

sehr stolz auf seine Software-Entwicklung-Skills ist,

Mira

dass dann auch unnötig komplizierte Patterns

Mira

auf irgendwelche Sachen geworfen werden

Mira

und das dann auch wieder so pragmatisch ist

Mira

und sehr schwer wartbar.

Jochen

Ja, klar,

Jochen

weil die Leute,

Jochen

die das dann letztlich irgendwie ja benutzen müssen,

Jochen

müssen das ja auch lesen und verstehen können und so.

Jochen

Und wenn man dann irgendwas

Jochen

in einem Elfenbeinturm baut,

Jochen

dann, ja,

Jochen

war das vielleicht auch einfach am Ziel vorbei.

Dominik

Wenn man auch neue Pattern gelernt hat,

Dominik

muss man die auch erst mal,

Dominik

überall anwenden, ja.

Dominik

Ja, klar,

Dominik

das sollte ich auch machen, ja.

Mira

Ja, aber grundsätzlich machen das eigentlich total Spaß,

Mira

mit Software-Entwicklern zusammenzuarbeiten.

Dominik

Du hast gesagt,

Dominik

er visualisiert irgendwie Sachen zwar nicht so oft,

Dominik

nicht so gerne,

Dominik

aber er macht das.

Dominik

Wie denn?

Dominik

Also, ich kenne irgendwie so eine coole Seite,

Dominik

die wollte ich irgendwie nochmals hin,

Dominik

das ist irgendwie datatowiz.com oder sowas.

Dominik

Die benutze ich immer,

Dominik

wenn ich nicht weiß.

Dominik

Ich kann nicht sagen,

Mira

dass ich so gerne.

Mira

Also,

Mira

er macht es durch die ganze Zeit,

Mira

aber es ist an verschiedenen Stellen eigentlich,

Mira

total wichtig,

Mira

also zuerst mal,

Mira

wenn man die Daten reinbekommt,

Mira

dann sind wir jetzt eigentlich schon so mitten im typischen Ablauf,

Mira

aber ich kann da,

Mira

da wollen wir zwar noch darüber sprechen,

Mira

da kann er gerne mal vorgreifen,

Mira

also wenn die Daten reinkommen

Mira

und man gucken will,

Mira

ob die sinnvoll sind,

Mira

wenn man die Daten kennenlernen will,

Mira

Zusammenhänge prüfen und so,

Mira

dann ist natürlich Visualisierung einfach das Allerbeste,

Mira

klar,

Mira

ist auch ganz nett,

Mira

so Mittelwerte und Ausgleichsmaßnahmen

Mira

und Minimum zu sich anzugucken,

Mira

zum Beispiel,

Mira

ob der kleinste Kirchturm auch wirklich größer als 0 Meter ist,

Mira

aber es macht natürlich auch total Sinn,

Mira

sich da die Verteilung mal zu gucken,

Mira

Plotten und Zusammenhänge

Mira

und das sind auch die Sachen,

Mira

die wir dann oft mit unseren Kunden wiederum anschauen

Mira

und sagen,

Mira

guck mal hier,

Mira

die Verteilung,

Mira

macht die Sinn

Mira

und merken dann vielleicht,

Mira

dass da irgendwas in den Daten unsauber ist,

Mira

was halt oft vorkommt,

Mira

womit man dann aber irgendwie umgehen muss

Mira

und natürlich auch dann später,

Mira

wenn wir zum Beispiel ein Modell gebaut haben

Mira

und die Ergebnisse untersuchen wollen,

Mira

wie sind unsere Prognosen verteilt,

Mira

welche Zusammenhänge hat das Modell gefunden,

Mira

auch da ist dann natürlich die Visualisierung total wichtig

Mira

und sinnvoll

Mira

oder das einfach,

Mira

man kann es einfach viel, viel, viel schneller erfassen,

Mira

als wenn man das irgendwie alles versucht,

Mira

in Tabellen zu vermitteln.

Dominik

Wie visualisiert ihr denn am liebsten?

Mira

Ja, es ist irgendwie ganz witzig,

Mira

weil ich in Python noch nie so richtig,

Mira

ja gut, so ein bisschen habe ich auch in Python,

Mira

aber wir haben früher sehr viel,

Mira

da waren auch weniger mit Dashboards und so weiter,

Mira

da war es oft noch so,

Mira

dass wir so einen Datendump bekommen haben

Mira

und hatten damit dann was gemacht

Mira

und da waren wir noch in R unterwegs

Mira

und haben für ggplot2,

Mira

ggpl benutzt

Mira

und inzwischen sind wir dann meistens

Mira

in einem Dashboard-System unterwegs,

Mira

das halt beim Kunden einfach genutzt wird,

Mira

sodass wir dann in dem Tool,

Mira

was der benutzt, das implementieren,

Mira

weil das jetzt in AWS oder Azure

Mira

oder was auch immer die nutzen

Mira

und wir machen dann da das,

Mira

was da in dem System gewünscht ist.

Mira

Wir haben auch ein paar Dashboards mal gebaut

Mira

in,

Mira

wie heißt das denn jetzt noch?

Mira

Ich habe den Namen leider vergessen.

Mira

Notley Dash,

Mira

oder?

Mira

Das ist Redash, genau.

Mira

Redash ist ein Open-Source-Tool.

Mira

Das benutzen wir dann auch ganz gerne.

Mira

Da kann man dann auch gerade praktischerweise

Mira

noch Alarme dazu definieren,

Mira

um seine Daten zu überwachen.

Mira

Das nutzen wir auch sehr gerne.

Dominik

Okay.

Dominik

Und wie läuft denn so ein Prozess bei euch ab?

Dominik

Ihr habt jetzt irgendwie Daten,

Dominik

ich glaube, du wolltest auch noch mal drauf eingehen.

Dominik

Ja, gerne.

Dominik

Und so einen Auftrag und dann?

Mira

Also klar, manchmal steigen wir auch mittendrin ein,

Mira

aber ich fange jetzt trotzdem mal vorne an.

Mira

Oft sind wir auch vorne dabei.

Mira

Das ist jetzt so ein bisschen

Mira

vor allem aus meiner Sicht als Beraterin.

Mira

Das fühlt sich natürlich ein bisschen anders an,

Mira

wenn man im Unternehmen als Data Science

Mira

die ganze Zeit ist.

Mira

Aber für mich als Beraterin sind das so,

Mira

ja, eigentlich so sieben Schritte.

Mira

Erstmal das Problemverständnis,

Mira

dann die Daten einzusammeln und zu verstehen,

Mira

dann Datenaufbereitung,

Mira

dann kommt die Modellierung.

Mira

Man merkt, das ist nur ein Schritt,

Mira

diese Modellierung.

Mira

Oft denkt man, das ist zu viel,

Mira

aber es ist nur ein kleiner Schritt.

Mira

Dann die Evaluation des Modells

Mira

und dann gehört eigentlich dazu ja auch

Mira

noch eine Automatisierung und Monitoring

Mira

und Wartung.

Mira

Wobei die letzten zwei Schritte

Mira

natürlich vom Aufwand her

Mira

nochmal einen sehr, sehr großen Teil einnehmen.

Mira

Das ist auch jetzt angelehnt

Mira

an den CRISP-DM, wenn das was sagt.

Mira

Das ist der Cross-Industry Stand-Up Process

Mira

for Data Mining.

Mira

Data Mining klingt so ein bisschen angestaubt,

Mira

der Begriff,

Mira

aber man könnte es halt einfach

Mira

Datenprojekte nennen.

Mira

Und ja, am Anfang,

Mira

es ist bei uns dann tatsächlich auch so,

Mira

dass KundInnen zu uns kommen

Mira

und schon was haben,

Mira

was sie haben,

Mira

also sagt schon das, was sie brauchen.

Mira

Das geht dann auch in die richtige Richtung.

Mira

Manchmal macht es aber trotzdem Sinn,

Mira

sich das nochmal genauer anzuschauen

Mira

und zu verstehen, warum sie das brauchen

Mira

und was sie wirklich brauchen.

Mira

Und vielleicht ist es dann doch so ein bisschen anders.

Mira

Und ich meine,

Mira

zu diesem Thema kann man ganze Workshops,

Mira

mehrtägige Workshops machen.

Mira

Es gibt ganze Unternehmen, die nichts anderes machen,

Mira

als Use Cases zu identifizieren und zu prüfen.

Mira

Das können wir auch ein Stück weit mitmachen,

Mira

aber das ist nicht unser Schwerpunkt.

Mira

Also ist das meistens dann schon

Mira

eher so, dass da schon Ideen da sind.

Mira

Wir aber das auch alles nochmal so ein bisschen challengen

Mira

und einen Kick-Off haben,

Mira

wo wir mit den Kunden sprechen,

Mira

um das Geschäftsmodell zu verstehen,

Mira

um genau zu verstehen,

Mira

wer das eigentlich nutzen wird,

Mira

was die genau machen wollen.

Mira

Es ist natürlich total wichtig,

Mira

dass wir eben prüfen,

Mira

was brauchen die wirklich genau

Mira

und brauchen die zum Beispiel vielleicht was in Echtzeit.

Mira

Dann ist es natürlich ganz anders,

Mira

als wenn das ausreicht,

Mira

dass man jeden Morgen einmal aktuelle Werte berechnet.

Mira

Und wer sitzt da

Mira

und wo benutzen wir es genauer?

Mira

Ist es irgendwo an einem Counter

Mira

oder ist es am Telefon

Mira

oder ist es irgendwo,

Mira

wo es kein gutes Internet gibt und so.

Mira

Und all das muss man natürlich wissen,

Mira

um auch rauszufinden, was die brauchen.

Mira

Und dann ist der nächste Schritt,

Mira

sich zu überlegen, wie können wir das machen

Mira

und haben wir eigentlich auch die passenden Daten.

Mira

Und dann haben wir vielleicht die notwendigen Daten

Mira

und ein paar andere Sachen sind vielleicht nicht ganz so notwendig.

Mira

Man kann trotzdem anfangen.

Mira

Ja, das ist der erste Schritt

Mira

und den sollte man sich unterschätzen.

Dominik

Braucht ihr die dann auch?

Dominik

Also baut ihr irgendwo neue Sensoren ein oder sowas

Dominik

und kümmert euch darum,

Dominik

dass sie in irgendwelchen Datenbanken landen,

Dominik

die ihr dann zur Auswertung mit benutzt

Dominik

oder geht ihr davon aus,

Dominik

dass das Business alles mit besorgt?

Mira

Es ist normalerweise so,

Mira

dass die Daten schon da sind

Mira

und dadurch, dass wir ja auch eher komplexe Fragestellungen beantworten,

Mira

sind das in der Regel halt auch Kunden,

Mira

die schon mit den Daten irgendwas gemacht haben.

Mira

Natürlich kennen die nicht jede Datenquelle von vorn bis hinten auswendig

Mira

und man findet immer noch Überraschungen.

Mira

Aber das ist dann normalerweise

Mira

so, dass sie sagen,

Mira

wir wollen hier dieses superkomplexe Modell,

Mira

aber wir haben noch gar keine Daten,

Mira

wir müssen die erstmal sammeln.

Mira

Normalerweise sind die da schon

Mira

relativ weit oben auf der Datenreifeskala

Mira

und selbst wenn nicht,

Mira

sind die Daten meistens schon da,

Mira

weil ganz viele Daten ja einfach

Mira

automatisch mitgesammelt werden.

Mira

Zum Beispiel im Online-Shop

Mira

hat man natürlich jede Menge Daten

Mira

über vergangene Bestellungen und so weiter.

Mira

Also die Daten sind eigentlich immer schon da.

Mira

Die Frage ist nur,

Mira

sind die Daten da, die man braucht

Mira

und wenn sie nicht da sind,

Mira

dann ist das erstmal noch ein weiter Weg normalerweise,

Mira

weil vielleicht ist es nicht mehr ein richtiges Ding,

Mira

da ist ein weiterer Warehouse da

Mira

oder man kann die nochmal zusammenführen.

Mira

Das ist oft dann,

Mira

dann ist es noch ein weiterer Weg,

Mira

bis wir da tatsächlich loslegen können.

Dominik

Wie würdest du denn

Dominik

so ein neues Unternehmen strukturieren,

Dominik

wenn du darauf achten würdest,

Dominik

dass du ordentliche Daten irgendwann brauchst?

Dominik

Würdest du direkt hingehen

Dominik

und das alles vom Scratch implementieren

Dominik

mit dem, was du am besten hältst

Dominik

oder würdest du das erstmal egal,

Dominik

das wachsen lassen

Dominik

und dann irgendwie zusammenflanschen?

Mira

Also ich glaube,

Mira

das kommt darauf an,

Mira

wie sehr das Geschäftsmodell von Daten abhängt.

Mira

Also wenn das ein Unternehmen ist,

Mira

das irgendwelche Gegenstände produziert,

Mira

dann denke ich,

Mira

ist es nicht ganz so wichtig,

Mira

dass man ganz viele Daten sammelt.

Mira

Dann kann man sich erstmal darauf konzentrieren

Mira

und dann nach und nach einsteigen.

Mira

Aber es gibt ja auch Geschäftsmodelle,

Mira

die eigentlich nur so gut funktionieren,

Mira

weil mit Daten gearbeitet wird

Mira

und dann muss das wahrscheinlich von Anfang an

Mira

auch berücksichtigt werden.

Mira

Also ich habe ja noch nie ein Unternehmen gegründet.

Mira

Ich bin ja geschickt erst eingestiegen,

Mira

als das Unternehmen schon da war.

Mira

Aber ich vermute,

Mira

wenn man sowas wie Amazon oder so,

Mira

also da wurde ja von Anfang an wahrscheinlich mitgedacht,

Mira

was man da mit Daten machen kann

Mira

oder zumindest relativ früh dann.

Dominik

Und was für Technologien benutzt ihr so

Dominik

mit Python für diese einzelnen Schritte?

Mira

Ja, also wir sind natürlich ganz viel mit Pandas unterwegs.

Mira

Von der Datenaufbereitung über die Modellierung,

Mira

da kommt dann auch sowas wie Scikit-Learn dazu

Mira

oder TensorFlow, Keras, PyTrips,

Mira

eigentlich so die Klassiker.

Mira

Pandas ist ein interessantes Thema,

Mira

weil Pandas,

Mira

also wer schon mal mit Pandas im Kurs ist,

Mira

man Daten gearbeitet hat,

Mira

denkt sich jetzt um Himmels Willen,

Mira

ich will es nicht mehr hören,

Mira

weil Pandas halt sehr, sehr viel Arbeitsspeicher braucht,

Mira

wenn die Datensätze größer sind.

Mira

Es ist aber natürlich zu Prototypen

Mira

oder generell für kleine Datensätze total super,

Mira

weil es ganz, ganz viel kann

Mira

und weil man auch ganz viel im Netz findet.

Mira

Also genau, wenn die Daten aber größer werden,

Mira

dann hat man natürlich das Arbeitsspeicherproblem

Mira

und dann ist der Klassiker natürlich

Mira

auf Spark, PySpark umzusteigen,

Mira

was auch jetzt in letzter Zeit

Mira

ganz gut funktioniert.

Mira

Also das ist natürlich toll,

Mira

weil es ganz verteilt ist,

Mira

wobei es nicht unbedingt schnell ist,

Mira

aber es kann halt eben

Mira

mit großen Datensätzen umgehen

Mira

und man hat erstmal

Mira

dieses Arbeitsspeicherproblem gelöst,

Mira

was man eben mit Pandas

Mira

irgendwann eigentlich gar nicht mehr lösen kann.

Mira

Und dann gibt es jetzt natürlich noch so halt...

Jochen

Aber ich meine,

Jochen

die Erfahrung, die ich oft mache,

Jochen

ist, dass man die,

Jochen

bei vielen so kategorialen Variablen oder so,

Jochen

die kann man dann halt auf irgendwie

Jochen

einen kleineren Datentyp

Jochen

irgendwie runter komprimieren

Jochen

oder halt oft hat man dann

Jochen

halt irgendwie für viele, oder wenn man jetzt nur

Jochen

Flex hat, irgendwie ja oder nein

Jochen

oder so, wenn man da nur ein Bit nimmt, ist halt

Jochen

sehr viel weniger, als wenn man da irgendwie ein volles

Jochen

Integer oder so für nimmt.

Mira

Oft hilft das

Jochen

dann schon, aber ja, stimmt.

Mira

Aber manchmal, wenn man die Daten einliest, dann

Mira

je nachdem kann man das, glaube ich, gar nicht unbedingt

Mira

spezifizieren am Anfang und dann sind die

Mira

einfach groß.

Mira

Oder auch selbst wenn, also ich meine,

Mira

so mehrere Jahre stündliche Verkaufsdaten

Mira

von ganz vielen Artikeln aus ganz vielen Filialen

Mira

aus mehreren Ländern.

Mira

Dann, ja,

Mira

dann wird es irgendwie schwierig

Mira

und dann ist das Verteilte schon gut.

Mira

Und dann gibt es halt noch Polars,

Mira

womit man dann auch

Mira

oft schneller ist und halt auch weniger

Mira

Arbeitsspeicher braucht.

Dominik

Also wenn du das nicht kennst, Polars, das ist ein Rust

Dominik

nachgeschrieben mit der gleichen API, so ein bisschen wie Pandas.

Jochen

Ja, es ist, ne, es hat

Jochen

sehr viel saubere, also kleinere,

Jochen

es hat weniger Funktionen, aber es ist halt

Jochen

auch ein bisschen konsistenter, weil

Jochen

Pandas ist halt auch irgendwie sehr stark

Jochen

so historisch gewachsen

Jochen

und man wusste noch nie genau, wo man hin will

Jochen

und dann teilweise inkonsistent und

Jochen

ja,

Jochen

ja, Pandas ist halt, ja.

Jochen

Wie das halt so ist. Genau, wie das halt so ist.

Mira

Ich habe noch gar nicht so viel mit Polars

Mira

gearbeitet. Ich weiß gar nicht, ob die

Mira

eigentlich schon das Ziel haben, da die

Mira

meisten Funktionen aus Pandas

Mira

auch zu implementieren oder ob die vielleicht sogar

Mira

sagen, es soll schlanker bleiben, weiß ich gar nicht.

Jochen

Ich meine, also sie sind absichtlich,

Jochen

wollen sie nicht komplett irgendwie alles

Jochen

machen, was Pandas halt kann, sondern

Jochen

ja, quasi bei den

Jochen

Basisgeschichten so schnell sein, dass man

Jochen

halt daraus alles bauen kann, aber

Jochen

dann halt nicht so eine Spezialsyntax dafür hat.

Jochen

Benutzt ihr auch dann

Dominik

zwischendurch noch Pure NumPy oder?

Mira

Ja, manchmal so für kleine Sachen,

Mira

wo es gerade Sinn macht.

Mira

Oft

Mira

sind ja, ist man mit Datensätzen unterwegs

Mira

und dann passiert es halt meistens

Mira

in Pandas.

Dominik

Vielleicht hast du eben gesagt, man muss

Dominik

erstmal wissen, was ein Datensatz ist, bevor man jetzt drüber

Dominik

redet. Du meinst jetzt irgendwie, du hast eine Maske auf,

Dominik

mit der du guckst oder

Dominik

was?

Dominik

Was ist ein Datensatz in Pandas?

Mira

Ist das jetzt eine Wissensfrage?

Mira

Ja doch, du müsst ja vielleicht schon erklären,

Dominik

wie das funktioniert.

Mira

Ja, um die Daten

Mira

anzugucken, würde ich,

Mira

na gut, es ist irgendwie schön, wenn man einmal

Mira

so ein bisschen den Head anzeigt,

Mira

also die ersten paar Zeilen und sieht, was da eigentlich so

Mira

grundsätzlich, was das für Spalten sind, welche Namen die

Mira

haben und welche Zahlen da so

Mira

ungefähr drinstehen und dann würde ich aber

Mira

relativ schnell in eine deskriptive Analyse

Mira

gehen und mir beispielsweise von jeder Spalte

Mira

dann Summary Statistics, also

Mira

Minimum, Maximum, Mittelwert,

Mira

Median, vielleicht Quantile

Mira

anschauen oder eben auch Verteilungen

Mira

plotten, sodass man das

Mira

sieht oder Kategorien anzeigen, je nachdem, was das so ist.

Mira

Sonst,

Mira

ja, die ganze Tabelle,

Mira

also man hat natürlich eine Tabelle als Pandas Data Frame,

Mira

die könnte man theoretisch ja auch irgendwie

Mira

als CSV speichern oder als Excel und da

Mira

angucken. Das ist auch ganz praktisch,

Mira

um sich die mal anzugucken, wenn die Daten klein genug

Mira

sind. Manchmal ist es sogar wirklich ganz

Mira

nett, um mal einfache Analysen zu machen,

Mira

zum Ausprobieren, um gespürt zu bekommen,

Mira

aber es ist dann eher so ein manueller

Mira

Schritt und um wirklich

Mira

Insights dann zu haben und die Daten zu

Mira

verstehen, ja, muss man dann, wenn

Mira

der Datensatz groß genug ist, natürlich

Mira

in die Summary Statistics

Mira

gehen. Und es ist auch oft,

Mira

also selbst wenn man jetzt nach

Mira

dieser ersten Datenanalyse aufhören

Mira

würde, ist es oft an sich schon

Mira

ganz interessant und

Mira

oft haben unsere

Mira

KundInnen ja genau diese Analyse

Mira

auch noch nicht gemacht und lernen dabei auch noch was Neues.

Mira

Einmal hatten wir aber sogar

Mira

auf den Fall, dass wir, ja,

Mira

dass sie dann gemerkt haben, dass da irgendwo viel

Mira

an Data Warehouse ist und da war irgendwie so ein riesiger

Mira

Strukturbruch, der da eigentlich gar nicht sein sollte

Mira

und dann haben sie sich erstmal nochmal ein paar Monate zurückgezogen

Mira

und haben das alles repariert und

Mira

danach konnten wir das Projekt dann tatsächlich machen,

Mira

aber das wussten sie vorher nicht und haben es dann

Mira

gesehen durch unsere Datenvalidierung,

Mira

dass da irgendwo ein Problem ist beim Zusammenführen.

Dominik

Ja, spannend.

Dominik

Also manchmal sagen sie mir das. Ich habe einmal den Fall

Dominik

gehabt, dann waren die ganze Zeit irgendwelche

Dominik

so Irregularitäten irgendwie,

Dominik

in so einem Datenflur, die da gar nicht hingehörten.

Dominik

Man hat irgendwie was bewundert, was ist denn das?

Dominik

Irgendwann ist jemand auf die Decke gekommen, ist dann zum Förderbank gegangen,

Dominik

hat in die Decke geguckt und da war

Dominik

oben ein Fenster auf und dann war dann die

Dominik

Temperatur immer anders, weil dann das Fenster

Dominik

aufgelassen worden ist und so. Das war spannend, ja.

Mira

Cool ist natürlich auch, wenn man dann sieht, ah ja,

Mira

hier gehen die Sales hoch, da war unsere riesige Werbekampagne

Mira

und das macht alles Sinn und das ist natürlich

Mira

auch schön, wenn es einfach funktioniert und man

Mira

das in den Daten sieht.

Jochen

Ja, auf jeden Fall.

Jochen

Ah, was mich noch interessieren würde,

Jochen

wenn ihr tatsächlich so

Jochen

Produkte baut

Jochen

mit Modellen

Jochen

drin und so und die irgendwie vielleicht

Jochen

Echtzeit irgendwas, wie begleut ihr eigentlich eure

Jochen

Modelle dann

Jochen

oder habt ihr da Präferenzen oder

Jochen

weil das ist immer so ein bisschen, das

Jochen

machen Leute unterschiedlich und ich weiß nicht,

Jochen

ob es da jetzt irgendwie so ein Standard

Jochen

Ding gibt, was man machen kann, aber

Jochen

ja, das ist auf jeden Fall immer irgendwie nicht so ganz

Jochen

einfach gewesen.

Mira

Also grundsätzlich gilt da natürlich,

Mira

wir machen das, was die Kunden wollen.

Mira

Ja, aber tatsächlich, wir sind ja dann

Mira

oft eine Infrastruktur von den Kunden unterwegs,

Mira

aber nicht immer, weil manche, zum Beispiel hatten wir

Mira

ein Projekt, da darf ich zum Glück auch

Mira

drüber reden, darf man ja nicht bei jedem Kunden, das war für die

Mira

Berliner Senatsverwaltung, eine Luftschadstoffprognose,

Mira

also die läuft auch noch, aber das

Mira

machen wir jetzt nur noch Wartung, das ist soweit beschlossen

Mira

und die haben

Mira

keine Vorgaben gemacht zur Infrastruktur,

Mira

die haben halt kein ABS oder Azure und da konnten

Mira

wir es halt so machen, wie wir wollten und

Mira

ich gucke mir gerade nebenbei in unseren

Mira

Blogartikel rein dazu,

Mira

weil da

Mira

kann ich mich alles nochmal wieder nachgucken,

Mira

wie wir es gemacht haben.

Mira

Da haben wir,

Mira

konnten wir ganz frei entscheiden, was wir

Mira

haben wollen und haben

Mira

dann mit

Mira

Kubernetes gearbeitet,

Mira

das ist auch alles schön selbst aufgesetzt

Mira

und da laufen dann automatisierte Jobs

Mira

drin und

Mira

wir haben, na gut,

Mira

das hat jetzt weniger mit Deployment zu tun, aber wir haben da

Mira

dann in der Grunde eine Clickhouse-Datenbank,

Mira

die ist ganz cool für große Datenmengen

Mira

und haben

Mira

dann Docker-Container, in denen

Mira

unsere Prozesse dann laufen,

Mira

da haben wir auch Relash benutzt, wie ich erwähnt habe,

Mira

das benutzen wir dann auch für die Alerts,

Mira

um zu gucken, sind alle Input-Daten da,

Mira

sind alle Prognosen so erstellt worden, wie wir wollen,

Mira

sind so viele Prognosen in der Tabelle,

Mira

wie wir erwarten würden und so weiter

Mira

und in dem Projekt ist tatsächlich

Mira

nur, im Hintern haben wir Relash

Mira

für die Visualisierung benutzt, nach außen

Mira

gehen die Daten tatsächlich,

Mira

unsere Prognosen gehen einfach über eine Rest-API

Mira

raus und werden dann

Mira

im Tool visualisiert, dass diese Nats-Verweigerungen

Mira

schon hatte oder auch

Mira

die API ist frei verfügbar, könnte auch jeder abrufen,

Mira

haben auch schon ein paar andere dann mal gemacht.

Mira

Genau, mit Kubernetes ist es natürlich immer ganz

Mira

schön, ansonsten

Mira

bei einigen Kunden läuft dann viel

Mira

mit den Diensten von AWS,

Mira

jetzt bei dem Kunden, wo ich bin,

Mira

sind wir im Azure-Universum,

Mira

wobei ich da mit dem

Mira

Deployment nichts zu tun habe, weil

Mira

das machen nachher andere, deshalb bin ich

Mira

auch immer nur so am Rande natürlich dabei,

Mira

kann irgendwie in die Kubernetes-Codes mal reingucken,

Mira

aber ich kann,

Mira

kann das nicht aufsetzen oder

Mira

macht dann nicht die Deployments.

Jochen

Ja, was mich da mal, oder das

Jochen

Problem, das ich da mal hatte, ist halt,

Jochen

dass wenn jetzt Leute quasi

Jochen

in Notebooks irgendwas modellieren oder so, wie kriegen

Jochen

sie denn dann, wenn sie jetzt rauskriegen, ah,

Jochen

wenn ich dieses Modell so parametrisiere

Jochen

oder so, oder ja, man hat

Jochen

dann normalerweise eine ganze Pipeline von

Jochen

Daten kommen rein, dann werden sie irgendwie transformiert

Jochen

und dann hat man halt hinterher

Jochen

irgendwie Predictions oder so.

Jochen

Wie kriege ich das Ding denn jetzt

Jochen

quasi in

Jochen

das Produktionssystem integriert

Jochen

und das, was wir dann

Jochen

gemacht hatten, war halt

Jochen

quasi aus dem Notebook direkt

Jochen

sozusagen ein

Jochen

Konterpaket zu bauen, das hochzuladen,

Jochen

in Django Filefield zu speichern

Jochen

und dann auch über eine JSON-AP dann die Ergebnisse wieder

Jochen

zurückzugeben, aber das

Jochen

fühlte sich so ein bisschen falsch an oder so

Jochen

auf jeden Fall nach, gibt es da nicht irgendeine

Jochen

einfache Möglichkeit, wie man das machen kann?

Mira

Ich weiß nicht, ob es einfacher ist, aber

Mira

wir sind auch ganz wenig eigentlich

Mira

mal in Jupyter-Notebooks unterwegs,

Mira

sondern

Mira

ja, entweder, wenn wir was schnell visualisieren

Mira

wollen, geht das tatsächlich ja mit so einem Tool wie

Mira

Redash auch schneller, als wenn man dann anfängt,

Mira

mal Plotlip-Code

Mira

zu schreiben,

Mira

dann das Clicky-Bunty manchmal gar nicht

Mira

so blöd und schlecht, wie es klingt

Mira

und dann, wenn

Mira

wir dann die Code-Free-Modellierung haben,

Mira

dann ist es halt wirklich,

Mira

das ist ein Python-Paket,

Mira

wir haben das dann,

Mira

automatisieren das dann meistens

Mira

so, dass jedes Mal beim Push in den

Mira

Main-Branch,

Mira

wenn die, zum Beispiel, wenn die Versionssumme sich geändert hat,

Mira

wird das dann, wie bei Jenkins,

Mira

wird ein Job getriggert, der dann

Mira

das Paket baut und in unser Repository

Mira

hochlädt, das dann

Mira

normalerweise nur intern verfügbar ist und

Mira

dann können wir, ob das dann

Mira

automatisch deployed wird oder wir das irgendwie manuell machen,

Mira

können wir uns dann halt überlegen.

Jochen

Ja, aber dann brauchen wir einfach,

Dominik

ja, aber dann brauchen ja die

Jochen

Leute, die quasi modellieren, Zugriff

Jochen

auf das Produktionssystem

Jochen

quasi oder können halt,

Jochen

die müssen den Code verändern, die müssen

Jochen

committen können.

Mira

Ja, also die committen von

Mira

morgens bis abends.

Mira

Also das ist tatsächlich

Mira

bei uns überhaupt nicht so, dass da irgendwie jemand

Mira

sitzt, der nur in einem Notebook prototypt.

Mira

Gar nicht. Also

Mira

wenn das Projekt losgeht, dann

Mira

muss man als erstes ein Repo anlegen, weil sonst

Mira

kann man ja gar nichts machen.

Mira

Ja.

Mira

Und vielleicht startet man dann irgendwie mit ein paar

Mira

Skripten, die dann später ordentlich

Mira

in ein Paket überführt werden und in

Mira

Funktionen und Klassen verpackt. Das kann

Mira

schon sein, aber grundsätzlich

Mira

ja, ist es halt

Mira

eine Software und sonst

Mira

auch oft in größeren Projekten mehrere Pakete.

Mira

Zum Beispiel in dem

Mira

Projekt für die Senatsverwaltung sind das dann,

Mira

wir haben da sehr viele verschiedene Datenquellen, zum Beispiel

Mira

Verkehrsdaten, Wetterdaten und so

Mira

und dann haben wir für jede Datenquelle ein

Mira

Paket, das nur dafür da ist, diese Datenquelle

Mira

einzulegen und zu formatieren, die Datenbank

Mira

zu schreiben. Das heißt, der Handshake ist dann über die Datenbank,

Mira

dann kommt irgendwann das nächste Paket,

Mira

das liest sich die Daten dann und macht dann die

Mira

Modellierung. Und dann gibt es nochmal ein Paket,

Mira

das halt irgendwelche Daten

Mira

weiter aufbereitet und dann gibt es ein Paket mit der

Dominik

API. Und das, also wenn

Dominik

ein Modell daraus gebaut habt, irgendwie mit

Dominik

Torch oder sowas, was macht ihr dann?

Dominik

Wo legt ihr das dann hin?

Mira

Ja, wenn das dann in dem Fall

Mira

tatsächlich,

Mira

also tatsächlich

Mira

im Kundenprojekt benutzen

Mira

wir MLflow und ich weiß

Mira

nicht, ob, also ich hatte das vorher

Mira

tatsächlich noch nicht benutzt, wo wir die

Mira

Objekte dann abgelegt,

Mira

ich glaube,

Mira

es gibt, das ist ganz witzig,

Mira

ja, es gibt tatsächlich, das war jetzt

Mira

ein Projekt mit XGBoost, weiß ich nur, da haben

Mira

wir, kann man die Projekte tatsächlich

Mira

in Form eines Strings

Mira

speichern und da haben wir die in der Datenbank

Mira

gespeichert.

Mira

Das funktioniert ganz gut, man kann aber

Mira

natürlich auch das Modellobjekt irgendwo

Mira

in

Mira

Modellrepository dann ablegen.

Dominik

Also eigenes Modellrepo mit

Dominik

Branches oder irgendwie Tags oder

Mira

sowas hier. Ja, oder

Mira

ähm,

Mira

ja, irgendwelche Tags muss man natürlich

Mira

schon haben, damit man die dann nachher wieder identifizieren kann.

Mira

Ja. Also gut, wenn

Mira

jetzt die Modellierung total schnell geht,

Mira

dann kann man natürlich auch das Modell einmal im Monat

Mira

neu berechnen, oder nee, dann

Mira

einmal im Tag neu berechnen, sofort die Prognosen machen

Mira

und das Modellobjekt überhaupt nicht speichern, aber das

Mira

ist, glaube ich, eher so ein seltener Fall. Normalerweise

Mira

muss man das ja schon speichern.

Mira

Wiederverwenden.

Mira

Also, wir können uns auch gerne

Mira

nochmal an dem Ablauf ein bisschen

Mira

weiter entlanghangeln. Ja, gerne.

Mira

Weil wir jetzt schon vorgegriffen haben,

Mira

also,

Mira

wenn wir das Problem

Mira

verstanden haben, die Daten verstanden haben und die

Mira

sehen soweit gut aus, dass wir und

Mira

unser Kunde gemeinsam sagen, okay, damit können wir jetzt wirklich

Mira

starten, da ist kein Problem drin,

Mira

dann passiert natürlich erstmal

Mira

ganz viel Datenaufbereitung und Bereinigung.

Mira

Oft muss man verschiedene Datensätze

Mira

zusammenführen. Da haben wir dann natürlich

Mira

vorher schon geprüft, ob es auch eine gemeinsame

Mira

ID gibt, um die zusammenzuführen, sonst wird's

Mira

schwierig. Oft muss man

Mira

auch Sachen aggregieren, zum Beispiel hat man

Mira

vielleicht einzelne Zeilen

Mira

für jedes Produkt, das gekauft wurde,

Mira

von einem Kunden. Wir wollen aber eigentlich

Mira

nur eine Zeile pro Kunde, dann muss man

Mira

sich halt irgendwas überlegen, wie man das

Mira

dann voll aufaggregieren kann. Manchmal

Mira

macht man Transformationen oder berechnet

Mira

eine neue Spalte aus

Mira

anderen Spalten. Also, das

Mira

ist das, was man immer als Feature Engineering

Mira

kennt. Wir bauen also Features,

Mira

die ja einfach sinnvolle Inhalte

Mira

haben, mit denen das Modell dann später

Mira

gut umgehen kann.

Dominik

Macht ihr das dann immer live in Pandas oder schreibt ihr das auch

Dominik

in eine Datenbank rein?

Mira

Es kommt darauf an, aber meistens haben

Mira

wir dann schon eigentlich ein separates

Mira

Modul, das die Features berechnet

Mira

und irgendwo hinschreibt, weil das meistens dann

Mira

einfach schöner ist,

Mira

das zu modulisieren, weil es sonst

Mira

ein bisschen zu viel wird.

Mira

Was ist da eure Datenbank für?

Mira

Ich überlege gerade, wir waren

Mira

früher viel auf MariaDB unterwegs,

Mira

jetzt sind wir

Mira

viel in Clickhouse, also Clickhouse

Mira

teilweise verhält es sich unerwartet,

Mira

finde ich. Aber es ist

Mira

halt schon sehr cool mit großen Datenmengen,

Mira

da kannst du einfach die

Mira

anpassen.

Jochen

Das ist diese Geschichte,

Jochen

Yandex hat das glaube ich mal gebaut

Jochen

und dann haben sie es irgendwie Open Source

Jochen

veröffentlicht. Das weiß ich nicht.

Jochen

Ich weiß es nicht genau.

Jochen

Ja, das ist aber, habe ich auch schon

Jochen

ein gutes Mal gehört.

Mira

Ja, also da haben wir ja, wir haben so

Mira

am Anfang dieses Projekts überlegt, okay, machen wir das jetzt?

Mira

Wir hatten einmal was damit ausprobiert

Mira

und wir wussten, wenn das jetzt

Mira

nicht gut funktioniert, dann müssen wir natürlich

Mira

irgendwie auf eigene Kappe nochmal

Mira

ein paar Tage investieren, um das umzustellen.

Mira

Aber es war so eine gute Entscheidung,

Mira

weil wir gemerkt haben, mit den Datenmengen

Mira

würde in anderen

Mira

Datenbanken überhaupt nicht gehen.

Jochen

Ja.

Mira

Ja, und wenn wir dann so

Mira

Features haben und die stehen dann vielleicht auch in der

Mira

Clickhouse-Datenbank oder vielleicht stehen sie auch in der

Mira

Postgres oder Redshift-Datenbank,

Mira

dann geht's

Mira

dann erst mit der Modellierung los und

Mira

zum Glück

Mira

haben die meisten Leute

Mira

von uns auch Spaß an den anderen Sachen, weil wie gesagt,

Mira

die Modellierung meistens wirklich nur ein kleiner Teil ist.

Mira

Man muss sich natürlich genau überlegen,

Mira

was ist überhaupt das passende Modell.

Mira

Im Moment,

Mira

wenn man Prognosen machen will, ist immer noch

Mira

G-Boost einfach sehr, sehr gut.

Mira

Bomber sieht das Modell.

Mira

Aber es kommen gerade Sachen,

Mira

zum Beispiel gibt es da

Mira

PFN-Less. Ja, das klingt auch sehr

Jochen

interessant, ja.

Mira

Es ist ein

Mira

Transformer-Modell und das ist irgendwie

Mira

total verrückt, weil dieses Modell hat

Mira

also ich finde es immer noch

Mira

total beeindruckend, es ist irgendwie so Magic.

Mira

Also das hat gelernt,

Mira

wie Datensätze, wie die Zusammenhänge

Mira

in Datensätzen,

Mira

wie die Zusammenhänge in Datensätzen

Mira

normalerweise so sind.

Mira

Und dann gibt man dem nochmal so ähnlich

Mira

wie so ein Fine-Tuning den Datensatz,

Mira

den man halt da selbst hat,

Mira

der einen interessiert. Und

Mira

dann kann man damit total gute Prognosen machen,

Mira

auch wenn der Datensatz nicht besonders

Mira

groß ist. Und das Verrückte ist, diese

Mira

Datensätze, anhand derer das gelernt hat,

Mira

das sind künstliche Daten.

Mira

Also es sind nicht mal echte Daten, weil es gibt ja

Mira

gar nicht so viele im Netz verfügbar ist.

Mira

Das heißt, wenn man ein Sprachmodell trainieren will, das ganze Internet

Mira

besteht aus Sprache.

Mira

Aber es funktioniert trotzdem, es ist richtig beeindruckend.

Mira

Also ich glaube, das ist sowas, was sich gerade

Mira

so anfühlt wie, okay, da passiert jetzt

Mira

wirklich mal wieder was Neues

Mira

in der Bereich-Prognose.

Jochen

Jaja, auch diese ganzen Pre-Trends, das gibt's ja

Jochen

im LLM-Bereich, gibt's das ja alles, oder halt

Jochen

auch bei so Vision-Modellen,

Jochen

wo dann alles auf ImageNet oder so trainiert ist.

Jochen

Aber bei tabularen Daten hätte ich jetzt

Jochen

überhaupt gar nicht gedacht, dass das überhaupt möglich ist.

Jochen

Oder dass das irgendwie,

Jochen

und ja, das hat mich auch

Jochen

total gewundert, dass,

Dominik

ihr müsst ja vielleicht jetzt noch ein bisschen kurz nochmal

Dominik

erklären, bitte, so die Grundlagen. Ich glaube, das war ein bisschen

Dominik

komplex vielleicht für einen Einstieg.

Dominik

Also, TabTFN hast du

Dominik

gesagt?

Dominik

Ja, also XGBoost, also Gradient Boosting.

Mira

Ja, XGBoost ist

Mira

ein Gradient Boosting und das ist halt

Mira

eigentlich einfach dazu da, um eine Tabelle von Daten

Mira

zu nehmen und die Zusammenhänge zu lernen,

Mira

die in diesen Daten vorkommen.

Mira

Zum Beispiel will ich vielleicht vorher sagen,

Mira

wie viel verkauft wird an einem bestimmten Tag

Mira

und in den Daten hätte ich zum Beispiel die Info,

Mira

welcher Wochentag ist denn das eigentlich

Mira

und ist dann vielleicht davor oder danach ein Feiertag

Mira

und um welches Produkt geht es und so weiter.

Mira

Wie ist das Wetter? Vielleicht verkaufe ich ja bei

Mira

Hitze mehr Wassermelonen

Mira

und das ist so der Klassiker, das würde man

Mira

auch mit einer

Mira

linearen Regression machen können.

Mira

Die ist aber, ja, weniger flexibel

Mira

und normalerweise dann auch weniger genau

Mira

und XGBoost ist da halt deutlich komplexer.

Dominik

Und XGBoost macht das dann quasi

Dominik

über die, weiß ich nicht,

Dominik

Backpropagation-Mechanismen?

Dominik

Nee, nee, das ist eine Art Decision Tree.

Jochen

Also es ist eine andere Art, grundsätzlich

Jochen

eine andere Art von Modell.

Mira

Ja, das ist im Prinzip so eine

Mira

Kombination aus ganz, ganz

Mira

vielen kleinen,

Mira

nicht besonders schlauen Entscheidungsbäumen,

Mira

aber dadurch, dass die alle hintereinander geschaltet werden,

Mira

ergänzen sie sich ja gut und dann wird es am Ende

Mira

auch ziemlich, ziemlich gut.

Mira

Und das heißt,

Mira

über Jahre eigentlich

Mira

für jedes typische

Mira

Predictive-Projekt

Mira

oder für jede Predictive-Fragestellung

Mira

war XGBoost, es war schon fast

Mira

langweilig. Ja, es gibt dann noch so ein paar

Mira

Varianten. Es gibt zum Beispiel Catboost, das es so

Mira

ähnlich hat, aber halt schon irgendwie ganz

Mira

schlaue Mechanismen implementiert,

Mira

um mit kategorialen Variablen umzugehen

Mira

und manchmal ist das eine oder das andere dann so ein bisschen besser

Mira

oder performanter, aber das ist kein Riesenunterschied.

Jochen

Da gab es ja nicht auch noch irgendwas von Microsoft

Jochen

Lightboost oder sowas, aber ich weiß gar nicht, was da rausgeworden ist.

Jochen

Oder LightGBM. Oder LightGBM, genau. Ich weiß gar nicht, was

Jochen

da rausgeworden ist.

Jochen

Benutzen wir auch gerade in dem Projekt.

Mira

Ah ja.

Jochen

Und ja,

Mira

witzigerweise, wir haben auch schon

Mira

vor einem Jahr oder so, haben wir gedacht, kann man

Mira

eigentlich auch LLMs zur Prognose benutzen?

Mira

Ich möchte kann dem LLM ja sagen, guck mal hier,

Mira

das und das und das sind meine Daten, was denkst du,

Mira

wie teuer ist dieser Gebrauchtwagen?

Mira

Und wir haben da einen Datensatz

Mira

bekommen von einem

Mira

Unternehmen, die

Mira

genau solche Daten eben aus dem

Mira

Internet crawlen und die

Mira

das, sagen wir natürlich,

Mira

so ein bisschen Informationen mitgeben

Mira

und das hat aber schon funktioniert.

Mira

Also wir haben da,

Mira

da weiß ich jetzt die Details natürlich

Mira

nicht alle auswendig, aber wir haben sowohl mit

Mira

GPT-Modellen

Mira

als auch mit Open-Source-Modellen

Mira

das ausprobiert. Es macht schon Sinn,

Mira

die zu feintunen.

Mira

Und dann kann man aber relativ gut sagen,

Mira

mein Auto oder das Auto, das ist die

Mira

Marke, das hat so viele Kilometer, das ist so und so

Mira

alt und das hat, hier ist noch der Freitext

Mira

mit der Beschreibung dazu.

Mira

Da steht dann vielleicht irgendwas

Mira

Spannendes drin, wie das hat eine Beule,

Mira

vielleicht steht aber auch nichts Spannendes drin.

Mira

Und dann fragt man, wie teuer ist

Mira

das Auto? Bitte antwortet mich nur

Mira

in einer Zahl, in Euro oder irgendwie sowas.

Mira

Und das funktioniert schon erstaunlich

Mira

gut, vor allem, wenn man nicht so viele Trainingsdaten

Mira

hat, weil ich glaube, dann kann das halt die Stärke

Mira

ausspielen, dass das Sprachmodell

Mira

eben schon Vorwissen

Mira

hat zu Autopreisen, weil es das Internet

Dominik

kennt. Also Transformers meinst du jetzt tatsächlich

Dominik

also die großen LLMs und nicht nur Transformers

Dominik

selbst, weil ich hätte mich halt gefragt, ob das

Dominik

in dem Transformers-Modell durch das, weiß ich

Dominik

nicht, dadurch, dass es halt Nodes sind

Dominik

und Canisian Trees, dass es da irgendeine andere

Dominik

Art gibt, dass Daten aus den tabellarischen

Dominik

Daten rausziehen.

Mira

Ja, das hier ist jetzt so, dass

Mira

das, ja,

Mira

die klassischen LLMs, die man so kennt

Mira

und dann kam eben jetzt dieses neue

Mira

mit TabPFN, das ist ein Transformer,

Mira

ist das halt, wie speziell für tabellare Daten

Mira

wieder gemacht ist, weil wir haben ja die LLMs eigentlich so ein bisschen

Mira

zweckentfremdet, indem wir die dann da

Mira

nach dieser Probe machen. Was meintest du denn da überhaupt mit

Dominik

Feintuning, was habt ihr denn da gemacht?

Mira

Ich weiß gerade nicht, also ich weiß nicht, wie das eigentlich

Mira

im Detail dort funktioniert, aber es ist

Mira

so, dass das Modell ja eben schon

Mira

ganz viel weiß von den Sprachdaten,

Mira

die es aus dem Netz kennt und

Mira

wir haben ihm dann nochmal

Mira

ja gut, das beschreibt es

Mira

wahrscheinlich ab dann schon komplett,

Mira

wir haben dem dann nochmal, wir haben einen

Mira

Trainingsdatensatz, wir ganz viele

Mira

Gebrauchtwagen schon drin haben, mit

Mira

dem Preis und den ganzen Eigenschaften

Mira

und dann haben wir

Mira

ihm halt immer so ganz viele Texte gegeben,

Mira

zu jedem Auto ein Text, das Auto ist so und so

Mira

alt, sieht so und so aus, ist die

Mira

Marke und es kostet das und das

Mira

nächste Auto ist so und so und so und kostet das

Mira

und das ist dann nochmal ein zusätzlicher Text

Mira

und damit trainiert man

Mira

das Modell nochmal spezifisch auf diesen

Mira

einen Task, also wie das jetzt im

Mira

Hintergrund genau passiert, kann ich

Mira

tatsächlich euch gerade gar nicht erklären,

Mira

weil ich in dem

Mira

Thema weniger drin bin, als in so was wie

Mira

XG Boost, aber ja, dadurch ist das

Mira

Modell dann nochmal, kriegt nochmal so eine Spezialausbildung

Mira

quasi für das Thema Auto

Mira

Gebrauchtwagenpreise und

Mira

dann wird es nochmal besser, wenn man ihm dann so eine Frage

Jochen

später stellt. Ja, man trainiert

Jochen

das quasi nochmal ein Stückchen weiter, gibt es unterschiedliche

Jochen

Ansätze, wie man das dann macht, ob man nur

Jochen

Layer einfriert, bestimmte Gewichte halt nicht

Jochen

neu setzt und

Jochen

dann vielleicht nur die letzten

Jochen

irgendwie anpasst oder ob man so Low-Rank

Jochen

Adaption-Geschichten macht oder

Jochen

da gibt es ganz unterschiedliche. Ich komme mir an die Gewichte

Dominik

gar nicht dran von den großen LMs zum Beispiel.

Jochen

Ne, das kannst du auch nicht mit, das kannst du natürlich

Jochen

dann nur, also du kommst, du kannst mit

Jochen

den OpenAI-Modellen und so auch machen, über

Jochen

deren APIs, aber wenn du das

Jochen

auf einem quasi, wenn

Jochen

du das selber machen willst, dann musst du ein Modell

Jochen

nehmen, wo du Gewichte hast. Ja, genau, das

Dominik

natürlich, ja.

Mira

Ich glaube, wir haben da beides gemacht, also

Mira

einmal über OpenAI, da kann man einfach über die API sein,

Mira

die ist mit Fine-Tuning-Datensatz, machen wir mal

Mira

und aber auch mit

Mira

den Open-Source-Modellen,

Mira

wo wir dann nochmal ein Fine-Tuning drangehängt haben,

Mira

damit die eben speziell auf Autoprise

Dominik

die haben halt so selber ihre, ja.

Mira

Bei Tuning und Autos

Mira

fällt mir jetzt erst auf, dass es echt total gut

Mira

passt. Ja.

Dominik

Okay, das

Dominik

ist also Tab-TFN, ja.

Mira

Ja, wobei

Mira

das ist jetzt noch relativ neu

Mira

und da ja nicht

Mira

jede Woche neue Projekte losgehen, sondern die

Mira

meisten Projekte schon länger laufen,

Mira

sind die meisten Projekte, die wir haben, dann auch

Mira

mit sowas wie XGBoost oder teilweise auch mit

Mira

irgendwelchen ausgefeilten

Mira

statistischen Ansätzen

Mira

oder Kombinationen, je nachdem, was man

Dominik

Ja, das finde ich dann spannend. Wie viel kann denn jemand, der

Dominik

richtig gute Statistik oder in klassischer Statistik

Dominik

ist, rausholen im Vergleich zu diesen

Dominik

ich beschieße das einfach mit so einem Modell?

Mira

Ich würde sagen, es kommt auf die

Mira

Fragestellung an. Bei so einem relativ

Mira

klassischen Task wie

Mira

in welchen Verkaufszahlen

Mira

geht es, glaube ich,

Mira

auch mit einem Modell

Mira

XGBoost ganz gut, wenn man

Mira

es natürlich richtig macht und

Mira

zum Beispiel noch, es gibt da ja

Mira

eine Menge Hyperparameter, die bestimmen,

Mira

wie flexibel ist das Modell und wenn man das

Mira

Modell zu flexibel sein lässt, dann lernst du auch

Mira

die kleinsten Wackler auf den

Mira

Trainingsdaten und auf neuen Daten

Mira

erzählt es dann nur Mist. Das heißt,

Mira

dann hat man Overfitting und das

Mira

muss man verhindern. Es gibt natürlich schon ein paar Sachen, die man

Mira

falsch machen könnte, aber

Mira

wenn man da alles nach State of the Art

Mira

macht, kommt man bei so einfachen

Mira

Aufgaben mit einem XGBoost meistens

Mira

ziemlich weit, aber

Mira

ja, zum Beispiel

Mira

im Sportwettenbereich gibt es ja manchmal

Mira

wirklich komplizierte Sachen, also wenn ich jetzt

Mira

vorher sagen will, wie die

Mira

Tore sich verteilen,

Mira

dann kommt man da

Mira

dann schon nochmal weiter, wenn man wirklich darüber

Mira

nachdenkt, theoretisch, was ist denn das jetzt eigentlich

Mira

für eine Verteilung? Das sind

Mira

Anzahlen, also es ist eine Poisson-Verteilung,

Mira

aber die ist ja irgendwie bivariat, weil es sind ja

Mira

zwei Mannschaften und

Mira

zwei Teams, die Tore machen und

Mira

da weiß ich, dass meine

Mira

Kolleginnen und Kollegen sich schon

Mira

einige ziemlich verrückte Sachen ausgehört haben und dann

Mira

umgekehrt, manchmal ist es am Ende auch irgendwie doch nur eine

Mira

einfache Holgerstick, die einen ziemlich weit

Dominik

bringt. Ja, ihr habt also nicht

Dominik

die Ernährung der Spiele am Morgen zuvor mit einfließen

Dominik

lassen können und sowas. Das weiß ich nicht,

Mira

ich müsste mal fragen, ob sie das in der

Mira

Feature drin haben.

Dominik

Es gibt auf jeden Fall spannende Sachen.

Dominik

Ich würde mich halt tatsächlich

Dominik

interessieren, was man aus Statistik irgendwie daraus lernen kann,

Dominik

weil ich verstehe nicht genau,

Dominik

wie jetzt in so einem Transformers-Modell die einzelnen

Dominik

Gewichte bei den Neuronen zustande kommen,

Dominik

also weil, ich stelle mir das so vor, der muss

Dominik

versuchen, diese Features rauszufinden und die

Dominik

irgendwie so linear unabhängig wie möglich

Dominik

voneinander zu gestalten, dass er irgendwie

Dominik

den Erklärungsgrad dann da rausfindet,

Dominik

der dann halt gut ist, damit er halt gute Prognosen hinkriegt,

Dominik

aber so richtig

Dominik

klar wird das nicht.

Jochen

Ja, Neuronalisten sind deutlich eher

Jochen

Blackbox, aber das ist extrem gut auch.

Jochen

Natürlich, du kriegst bei beiden auch so ein bisschen

Jochen

raus, was da der Grund ist, warum

Jochen

das jetzt irgendwie so oder so

Jochen

entschieden oder vorhergesagt hat,

Jochen

aber es ist schon eher so Blackbox-

Jochen

Modelle.

Mira

Ja, man kann jetzt nachträglich dann.

Dominik

Also das wäre jetzt vielleicht für mich

Dominik

auch nochmal einer der Punkte, der für dieses

Dominik

Data Cleansing spricht. Ja, also wenn ich jetzt

Dominik

die Daten da einfach so reinkippe oder

Dominik

am Anfang schon so aufteile,

Dominik

dass ich jetzt Cluster bilde oder

Dominik

Kategorien bilde oder sowas und die halt

Dominik

nochmal damit annotiere oder so,

Dominik

ob das halt eine deutliche Verbesserung bringt,

Dominik

also weil die ein bisschen reiner sind

Dominik

vielleicht oder halt, ne, oder schon mal

Dominik

irgendwie die Daten wie eine Zusammenfassung,

Dominik

oder eine Summe oder sowas, da schon

Dominik

drinsteht mit, ja, in irgendeiner Extraspalte,

Dominik

dass das dann halt das Ergebnis zum Beispiel nochmal

Dominik

deutlich bessere Güte kriegt.

Dominik

Du beschreibst, glaube ich, Feature-Engineering gerade, oder?

Dominik

Ja, vielleicht.

Jochen

Also zum Beispiel

Mira

viele Modelle sind ja auch dazu in der Lage,

Mira

Interaktionen zu erkennen, also

Mira

beispielsweise, weißt du,

Mira

ich, ähm,

Mira

vielleicht aus der

Mira

Luftschadstoff-Prognose überlege ich gerade,

Mira

ist, ähm,

Mira

irgendwie was, ja, also mittags ist

Mira

die Luft schlechter, weil mehr Autos rumfahren,

Mira

aber nur, wenn wir keinen Wind haben.

Mira

Wenn wir viel Wind haben, wird nämlich wenig Schadstoff

Mira

halt weggepustet. Das ist halt eine Interaktion, also

Mira

die Effekt, mittags ist es schlechter, der ist nur

Mira

da, wenn die Windstärke gering ist.

Mira

Und so eine Interaktion können die Modelle

Mira

auch lernen, aber manchmal sind die

Mira

Interaktionen ja vielleicht auch nochmal komplexer von

Mira

drei oder vier Sachen, und wenn man da

Mira

schon so eine Idee hat, sag ich logisch,

Mira

dann macht man es dem Modell halt schon deutlich

Mira

leichter.

Mira

Wenn man das vorher schon mal explizit zusammenbaut, also dann vielleicht irgendwas, das würde dann sagen, es ist Mittag und es ist kein Wind und es ist windstill. Jetzt in diesem sehr einfachen Beispiel. Und das ist dann, glaube ich, auch wieder so was, wo es dann wirklich viel bringt, immer mal wieder mit den Leuten zu reden, die sich fachlich damit auskennen.

Dominik

Und dann hat man quasi tatsächlich schon das Wissen, was man aus den Daten ziehen kann, so ein bisschen annotiert, reingegeben, dass das Modell dann damit besser arbeiten kann. Also als eigene Funktion irgendwie so.

Jochen

Ja, und oft musst du auch Daten erstmal transformieren, damit die überhaupt von dem Modell verwendet werden können. Also wenn du zum Beispiel Text hast, kannst du den nicht einfach so bei XGBoost sozusagen reinkippen, weil das kann halt bloß irgendwie eine fixe Anzahl von Spalten.

Jochen

Und dann muss man das irgendwie.

Jochen

Erstmal den Text runter projizieren mit Singular Value Decomposition oder so auf, weiß ich nicht, ein paar hundert Dimensionen oder so. Und das kann man in XGBoost reinpacken, sozusagen. Solche Sachen hat man halt auch immer.

Mira

Ja, das war tatsächlich so ein Grund, weshalb wir das auch mal ausprobieren wollten mit den LLMs zur Vorhersage. Weil wie du sagst, wenn wir einen Text haben und wollen aber XGBoost machen, wie in dieser Freitext mit der Autobeschreibung, dann muss man sich ja erstmal irgendwie was überlegen, wie man den dann in ein sinnvolles Format bringt.

Mira

Also das XGBoost, das kennt halt nur.

Mira

Man kann eigentlich nur Spalten bezahlen.

Mira

Kategorien kann man ja im Prinzip auch doch in Zahlen überführen.

Mira

Und ein Text, naja,

Mira

ist halt erstmal nicht so einfach.

Mira

Was man jetzt natürlich auch noch machen kann, ist, dass man

Mira

das LLM benutzt, um Features zu generieren,

Mira

indem man sagt, hier ist der Text, hat das Auto

Mira

einen Schaden? Ja, nein.

Mira

Ja.

Mira

Also es ist dann auch nochmal so eine Hybridlösung,

Mira

die, glaube ich, gar nicht so dumm ist.

Mira

Und halt auch,

Mira

man kann natürlich auch, je nachdem, wie genau man

Mira

das machen will, Leute hinsetzen, die dann

Mira

wirklich viel Zeit damit verbringen,

Mira

Texte durchzugucken und das zu labeln,

Mira

dann ist das bestimmt nochmal ein bisschen genauer.

Mira

Das ist halt die Frage, ob es sich lohnt.

Mira

Muss man sich immer überlegen.

Dominik

Okay, ja gut, aber dadurch kann man

Dominik

schon viel rausholen, ja, durch diese Modellierung dann und so.

Dominik

Okay, dann sind wir in diesen

Dominik

Datenprozessen. Wie nennt man diese Datenprozesse?

Dominik

ETIL? ETIL, da gibt es ja verschiedene

Dominik

Art und Weisen.

Dominik

Ach, du meinst jetzt Extract, Transform,

Jochen

Load? Ja, genau.

Jochen

Das ist, glaube ich, aber nicht unbedingt was mit,

Dominik

oder... Ja, aber wir sind jetzt da

Dominik

irgendwo in diesem Workflow,

Dominik

also es ging ja um dieses CRISP, ne?

Dominik

Ach so, ja. Ja.

Mira

Also ich glaube, ja, also die ETIL,

Mira

Extract, Transform, Load, ist ja,

Mira

beschreibt ja einfach den Prozess, dass man

Mira

Daten irgendwo rauszieht,

Mira

dann irgendwas damit macht, also sie transformiert

Mira

und sie dann irgendwo hinlädt, obwohl man

Mira

sagt, Daten laden für Daten kriegen. In dem Fall

Mira

ist aber Daten laden, die irgendwo hinladen.

Mira

Das ist auch ein bisschen verwirrend, auch im Naming

Mira

finde ich, in den

Mira

Code dann, wenn man

Mira

irgendwann überall Load stehen hat, egal ob man Daten

Mira

zieht oder Daten wegschiebt.

Mira

Und, ja, das ist,

Mira

so hängt das im Prinzip zusammen,

Mira

aber oft benutzt man ja den Begriff

Mira

ETIL auch einfach für jeden

Mira

Prozess, der irgendwie Daten nimmt,

Mira

verarbeitet und so durch so eine Strecke schiebt.

Dominik

Außerhalb vom Data Science-Bereich halt auch ganz oft.

Dominik

Ja, genau. Also jeder Business-Prozess,

Dominik

den man irgendwie halt automatisieren kann.

Mira

Aber ich glaube, es ist schon oft so,

Mira

dass man auch sagen würde, nachher

Mira

in dem fertigen Datenprodukt, okay, hier ist der ETIL,

Mira

jetzt kommt der ETIL und dann kommt

Mira

der Teil mit dem Modell. Also oft nutzt

Mira

man den Begriff eigentlich auch, um das so voneinander,

Mira

da abzugrenzen.

Dominik

Okay. Also ich verstehe jetzt, also wir haben

Dominik

okay verstanden, was das Geschäft

Dominik

macht und was wir da lösen

Dominik

wollen für Daten. Und dann haben wir

Dominik

verstanden, welche Daten wir denn haben und was wir damit machen

Dominik

wollen. Dann haben wir die so transformiert

Dominik

und umgebaut, dass wir die

Dominik

in ein Modell kippen können, was wir uns

Dominik

dann ausdenken oder ausgedacht haben.

Dominik

Und was machen wir dann? Dann gucken wir

Dominik

uns an, was dabei rauskommt.

Mira

Ja, dann haben wir ein Modell

Mira

und dann machen wir Prognosen und gucken,

Mira

wie gut die sind. Und

Mira

da muss man natürlich verschiedene Sachen beachten.

Mira

Also wenn ich

Mira

die Prognosen auf denselben

Mira

Daten mache, die ich fürs Modelltraining benutzt

Mira

habe, dann ist das natürlich für das Modell relativ

Mira

einfach. Und

Mira

deswegen ist es wichtig, dass ich mir vorher

Mira

einen Teil der Daten weglege und nur die

Mira

übrigen Daten kriegt das Modell

Mira

zum Lernen. Und danach mache ich auf diesen

Mira

weggelegten Daten die Prognosen

Mira

und dann gucke ich, was tatsächlich

Mira

die Werte waren und vergleiche die mit den

Mira

Prognosen von dem Modell. Und das Modell

Mira

ist halt ja natürlich in dem Moment blind. Das kriegt halt nur

Mira

die ganzen Features, aber es kriegt nicht die Zielvariable.

Mira

Es muss dann seine Prognosen blind machen und wir

Mira

können dann gucken und dann sagen, ja, wir

Mira

kennen die Warenwerte aber schon und vergleichen das

Mira

jetzt. Da gibt es dann verschiedene Kennwerte,

Mira

die man berechnen kann, kommt es halt total auf

Mira

die Fragestellung an. Man könnte zum Beispiel

Mira

eine mittlere prozentuale Abweichung

Mira

berechnen. Man kann ein Bias berechnen,

Mira

liegen wir mittel drüber oder drunter.

Mira

Man kann eine erklärte

Mira

Varianzanteil berechnen. Man kann

Mira

je nachdem, vielleicht wollen wir auch gar nicht

Mira

numerische Daten vorher sagen, sondern nur ein Ja-Nein.

Mira

Dann könnte man gucken, wie viele

Mira

Falsch-Positiv, Falsch-Negativ und so weiter

Mira

habe ich. Das kommt, ja, stark

Mira

auf den Use-Case an. Auf jeden Fall kann ich das dann

Mira

berechnen. Schön out of sample,

Mira

also mit diesem separaten

Mira

Datensatz. Und

Mira

das ist natürlich besonders gut,

Mira

wenn man zwei Modelle vergleichen will. Wenn man

Mira

nur eins hat, dann ist da, es ist glaube

Mira

ich auch gar nicht so leicht zu sagen, was ist denn jetzt ein guter

Mira

Wert? Finde ich irgendwie 20, 50 oder 90

Mira

Prozent erklärte Varianz? Das kommt auch

Mira

stark auf die Fragestellung an. Wenn ich zum Beispiel

Mira

individuelles Verhalten von Menschen

Mira

erklären will, dann nicht, dass

Mira

ich natürlich nicht so genau vorher sagen, wie

Mira

aggregierte Verkaufszahlen,

Mira

weil da einfach so

Mira

viele andere Einflüsse sind.

Mira

Und ja, nochmal zu diesem

Mira

Split, zu den

Mira

Trainingsdaten und den Testdaten.

Mira

In den allermeisten Fällen

Mira

haben unsere Daten ja eigentlich eine zeitliche

Mira

Struktur. Man kann jetzt natürlich die Testdaten

Mira

zufällig rausziehen und zur Seite legen, aber am besten

Mira

ist es, wenn man immer die

Mira

zeitlich, die nimmt, die zeitlich am Ende

Mira

liegen, weil manchmal ändern sich eben Zusammenhänge

Mira

und

Mira

es eigentlich passiert ständig, dass sich Zusammenhänge

Mira

ändern. Und deswegen ist es halt sinnvoll,

Mira

so ein Szenario zu bauen, wo das Modell quasi auf der

Mira

Vergangenheit lernt und dann auf Daten,

Mira

die danach passiert sind, auch tatsächlich

Mira

evaluiert wird. Sonst kann es halt passieren, dass

Mira

man sich da verschätzt und

Mira

dann denkt, das Modell wäre besser, als

Mira

es tatsächlich ist. Und nachher im Betrieb,

Mira

dann muss es ja tatsächlich Prognosen

Mira

für die Zukunft machen und dann ist die Enttäuschung

Mira

dann irgendwie da, wenn es dann doch schlechter funktioniert,

Dominik

als man dachte. Aber man muss

Dominik

natürlich auch immer auffassen, dass man dann halt die

Dominik

neuen zusammenhängigen Daten, Änderungen dann irgendwie auch trotzdem mit

Dominik

reinkriegt, ne? Weil wenn sich halt irgendwas...

Mira

Ja, das ist natürlich regelmäßiges

Mira

Neutraining, ja. Also das

Mira

ist dann auch total wichtig, dass man das Modell nicht einmal

Mira

trainiert und dann fünf Jahre lang benutzt.

Mira

Trotzdem, solange die Zusammenhänge

Mira

noch nicht da sind, die neuen, wenn man die noch nicht kennt,

Mira

muss man halt zumindest mit dem leben, was man

Mira

bis dahin hat.

Dominik

Also man könnte ja vielleicht auch diese Zusammenhänge

Dominik

irgendwie als, ich sag mal, Liste, ne, dem

Dominik

Geschäft zurückgeben, so hey, hier, das sind unsere Annahmen,

Dominik

guckt doch mal bitte, dass die noch stimmen. Und wenn ihr merkt,

Dominik

irgendwie da ändert sich irgendwas an den Annahmen, dann müssen wir

Dominik

halt da nochmal was auch anpassen.

Mira

Ja, also zumindest,

Mira

ich glaube, so direkt geht es gar nicht so gut,

Mira

weil das ist ja was, was das Modell findet

Mira

und wo die dann eher auch sagen, ah ja, cool, ja, das

Mira

passt so ungefähr zu dem, was wir erwartet haben.

Mira

Aber die können sich wirklich sagen, oh, das ändert sich

Mira

jetzt, weil jetzt ist, keine Ahnung, zum Beispiel

Mira

der Zusammenhang

Mira

von Autoanzahl

Mira

zu Stickoxiden,

Mira

der wird schwächer, weil

Mira

mehr E-Autos unterwegs sind

Mira

und die stoßen keine Stickoxide aus.

Mira

Ja, okay, aber wie viel

Mira

schwächer der jetzt wird, das kann uns diese Nase

Mira

Verwaltung hier für Umwelt und

Mira

so weiter ja auch nicht sagen. Also die können

Mira

uns sagen, ja, das wird wahrscheinlich schwächer

Mira

mit der Zeit. Also klar, solltet ihr das Modell

Mira

regelmäßig neu trainieren, aber die können uns

Mira

sagen, so und jetzt, jetzt ist es aber so viel schwächer

Mira

geworden, so müsst ihr mal neu trainieren. Das kann die

Mira

auch gar nicht sehen. Aber deswegen

Mira

ist es halt meistens so, dass man einfach sagt,

Mira

wir trainieren unser Modell zum Beispiel einmal

Mira

im Monat neu und

Mira

dann wissen wir, dass wir halt eigentlich immer

Mira

neue Zusammenhänge abgedeckt haben.

Mira

Deswegen ist es auch manchmal gar nicht so nützlich,

Mira

ganz, ganz viel Datenhistorie zu haben,

Mira

weil vielleicht das, vor allem jetzt, wo auch noch

Mira

Corona war, dass die Zusammenhänge und

Mira

die Muster während Corona in

Mira

irgendwelchen Verkaufszahlen

Mira

oder menschlichem Verhalten,

Mira

die sind natürlich jetzt, die sind jetzt halt

Mira

anders. Das wäre mein nächster Punkt gewesen. Also wenn

Dominik

ich jetzt Statistik nehme, ja, oder von

Dominik

Statistik irgendwo abhängige Modelle, um

Dominik

Prognosen zu machen für die Zukunft, dann

Dominik

bin ich ja immer nur, also auf den,

Dominik

ich sag jetzt mal, den Normalfall trainiert,

Dominik

ja, oder den Alltag und diese ganzen

Dominik

Schocksituationen, die kann ich ja immer ganz

Dominik

schlecht irgendwie abbilden, weil ich ja dafür auch kein

Dominik

Beispiel gehabt habe, ja.

Mira

Wenn der Schock gerade erst passiert ist,

Mira

dann ist das echt schwierig. Man kann,

Mira

vergangene Schocks kann man halt noch mit reinnehmen und

Mira

sagen, okay, hier war ein Strukturbruch, da hat sich jetzt irgendwie

Mira

was geändert, das nehmen wir als Feature mit rein.

Mira

Geht manchmal, geht auch nicht immer.

Mira

Also

Mira

ich glaube, wir haben tatsächlich

Mira

in der

Mira

Luftfahrtschiff-Projekt haben wir, glaube ich,

Mira

einfach die Zeiträume definiert.

Mira

Hier war Lockdown, hier war kein Lockdown.

Mira

Damit das Modell zumindest weiß,

Mira

ah, deswegen war hier so viel weniger.

Mira

Luftverschmutzung.

Dominik

Ja, okay, sonst hättest du gedacht, oh, das ist eine gute Sache.

Jochen

Aber ich hab nochmal,

Jochen

ich würde mal ganz kurz einen Schritt

Jochen

zurückgehen, weil ich hab eine Frage,

Jochen

die mich noch jetzt schon interessieren würde,

Jochen

weil ich jetzt auch gar nicht so wirklich Ahnung von diesem

Jochen

TAP-PFN oder so habe, weil

Jochen

in den anderen Bereichen haben ja die,

Jochen

also normalerweise hat man neuronale Netze für solche

Jochen

tabularischen Daten.

Jochen

Das funktioniert auch, aber

Jochen

halt nicht so gut wie die anderen Arten von Modellen.

Jochen

Oft, und

Jochen

die Frage wäre jetzt, was einen, ja,

Jochen

die,

Jochen

die Transformer, beziehungsweise überhaupt irgendwie

Jochen

das ganze Deep Learning, die ganze Deep Learning-Geschichte

Jochen

oder so in anderen Bereichen gebracht hat, ist ja,

Jochen

dass man nicht mehr so viel

Jochen

Feature-Engineering machen musste, oder

Jochen

eigentlich ist man ja am Feature-Engineering mehr oder weniger

Jochen

vorher gescheitert, und dann

Jochen

jetzt kann man halt inzwischen einfach die

Jochen

Rohdaten da so, naja,

Jochen

mehr oder weniger reinkippen, und

Jochen

das neuronale Netz

Jochen

macht das Feature-Engineering für einen sozusagen,

Jochen

und die Frage wäre halt, macht es das

Jochen

möglicherweise, ist es bei TAP-PFN

Jochen

auch so, dass ich da jetzt quasi

Jochen

...

Jochen

auch relativ rohe Daten

Jochen

irgendwie verwenden kann, oder muss ich das

Jochen

erstmal auch irgendwie in eine Struktur bringen,

Jochen

so ähnlich wie bei XGBoost?

Mira

Da fragst du eigentlich die falsche, ich glaube

Mira

aber, dass man da

Mira

nicht viel vorbereiten musste.

Mira

Aber da würde ich

Mira

tatsächlich auch

Mira

auf unsere Podcast-Folge mit dem Autor

Mira

von TAP-PFN verweisen.

Jochen

Muss ich mal anhören.

Mira

Klingt gut. Ja, also, genau, die ist dann

Mira

wahrscheinlich für dich die richtige.

Dominik

Ja, aber vielleicht noch mal

Dominik

zu dem Modelltraining. Wo trainiert

Dominik

ihr denn das, und wie macht ihr das?

Mira

Meistens

Mira

auf

Mira

...

Mira

also oft auf ABS-Maschinen

Mira

zum Beispiel. Wir haben auch

Mira

selbst ein paar

Mira

fette Server, die sind jetzt im Rechenzentrum

Mira

in Nürnberg. Seit neuestem haben sie dort

Mira

unter ihresgleichen. Vorher haben wir

Mira

so ein bisschen das Büro beheizt, damals wie

Mira

Winters. Jetzt haben wir ja einen besseren Ort

Mira

gefunden. Also, die benutzen wir auch manchmal, aber

Mira

viel läuft jetzt natürlich inzwischen in der Cloud,

Mira

und auch das ist dann auch kundenabhängig, also

Mira

zum Beispiel, ja, Azure,

Mira

was auch immer dann. Aber

Mira

das sind oft Sachen, die

Mira

dann doch lokal ein bisschen zu lang dauern

Mira

würden, und dann besser auf einer größeren Maschine

Dominik

laufen. Also,

Dominik

irgendwie, ja. Und

Mira

also, die klassischen Sachen sind halt

Mira

normalerweise einfach auf der

Mira

CPU natürlich, und wenn wir

Mira

dann aber zu LLMs kommen, dann

Mira

geht's natürlich in Richtung GPU, und

Mira

wir haben uns auch da was

Mira

zugelegt vor einigen Monaten, sodass wir uns

Mira

auch eine eigene GPU haben, und auch mal selbst

Mira

das aussetzen konnten auf einer eigenen

Mira

GPU, was natürlich auch

Mira

ganz spannend ist. Also habt ihr eine eigene Maschine

Dominik

hingestellt, oder habt ihr irgendwie bei Hetzner oder was gemietet, oder?

Mira

Die haben wir tatsächlich gekauft

Mira

physisch, die sitzt auch im Rechenzentrum,

Mira

und dann irgendwann

Mira

haben wir auch mal was ausprobiert, oder weil die dann

Mira

doch zu klein, da haben wir das dann über AWS gemacht.

Dominik

Okay.

Jochen

Ja, ist schwierig. Es ist auch schwierig, gerade welche zu

Jochen

kaufen, aber, und das ist sehr teuer. Ja, es ist teuer.

Dominik

Mieten ist auch sehr teuer.

Mira

Ja, das macht jetzt schon Sinn.

Mira

Wir kaufen die, aber ich glaube,

Mira

die war dann irgendwie zwei Monate später wieder

Mira

deutlich günstiger.

Dominik

Ich glaube, also, wenn man die mietet irgendwie, dann kostet die

Dominik

irgendwie so 1.000 Euro im Monat, oder sowas.

Jochen

Also, wenn du viel Hauptspeicher,

Jochen

wenn du zum Beispiel LLMs feintunen willst,

Jochen

dann zahlst du eher 1.000 Euro am Tag.

Dominik

Ja, das ist richtig teuer.

Dominik

Ja, okay, kommt auch wahrscheinlich darauf an, wie viel man braucht, ja.

Mira

Ich glaube, es hat auch ein paar

Mira

Leuten einfach Spaß gemacht, das Ding halt

Mira

auszuwählen und zu kaufen, und dann wirklich

Mira

selber sowas komplett aufzusetzen.

Mira

Ja, ja.

Jochen

Das macht auch Spaß, ja.

Mira

Ist ja auch gut, wenn man das dann mal kann.

Jochen

Kommt ja der Operator durch auch.

Mira

Ja, ich würde das auch machen.

Jochen

Braucht man einen Grund. Gib mir doch einen Grund dafür.

Mira

Also, vielleicht wollt ihr ein unbezahltes Praktikum.

Dominik

Wenn wir dann ganz viel große Hardware

Dominik

in die Hand nehmen, können wir nun mal nachdenken.

Mira

Ich denke,

Mira

das könnten wir mal nutzen.

Mira

Vielleicht nochmal zu der

Mira

Modellbewertung. Ich hätte ja schon gesagt,

Mira

dass man natürlich Kennzahlen ausbrechen kann

Mira

für die Modellgenauigkeit so insgesamt.

Mira

Wie viele Fälle werden

Mira

richtig vorher gesagt, oder wie weit sind wir

Mira

im Mittel daneben. Aber dann macht es halt

Mira

auch Sinn, diese Blackbox nochmal

Mira

aufzubrechen, wie ihr eben

Mira

erwähnt habt. Dass man guckt, was hat das Modell

Mira

eigentlich für Zusammenhänge gefunden.

Mira

Und das ist bei einer

Mira

linearen Regression natürlich leicht, weil man sich

Mira

einfach die Koeffizienten anguckt und guckt, wie hoch

Mira

die sind oder ob welche signifikant sind.

Mira

Aber das geht dann bei

Mira

XGBoost nicht mehr so leicht, sich irgendwelche

Mira

Splits anzugucken, wie das Modell gefunden hat.

Mira

Aber da gibt es ganz

Mira

tolle Methoden, die nennen sich SHAP

Mira

und die kann man

Mira

dann danach auf die, also man braucht

Mira

das Modell und auch nochmal einen Datensatz,

Mira

mit dem man Prognosen macht. Und wenn man das hat,

Mira

dann kann man diese Methoden darauf werfen

Mira

und kriegt dann ganz

Mira

praktische Visualisierung.

Mira

Also erstmal eine Feature Importance,

Mira

also wie viel wurde welches Feature

Mira

vom Modell eigentlich genutzt. Auch das

Mira

ist ja schon mein erster Plausibilitätscheck,

Mira

wenn da irgendwas ganz am Anfang steht, was sehr

Mira

überrascht ist, sollte man auch überlegen, was da los ist.

Mira

Und da kann man sich auch die Form der

Mira

Zusammenhänge angucken. Zum Beispiel,

Mira

ich glaube, da haben wir auch gesehen,

Mira

je windiger, desto weniger Schadstoff, aber irgendwo

Mira

gibt es dann so eine Sättigung, dann sind die Schadstoffe halt

Mira

irgendwie einfach so weggeweht, wie es nur geht.

Mira

Und

Mira

das, ich glaube,

Mira

es war sogar, nee, ich glaube, das

Mira

war das Interessante, irgendwann wurde es halt wieder schlechter,

Mira

weil dann der Staub

Mira

aufgewirbelt wird. Wenn es so wenig ist, dann hat man

Mira

immer nur den Staub in der Luft, dass es wieder schlechter wird.

Mira

Und da habe ich so, okay, was ist das für ein

Mira

komisches Muster? Und haben das mit Kunden angeguckt.

Mira

Die meinten so, ja, das haben wir auch schon beobachtet.

Mira

Wir denken, das liegt daran,

Mira

dass dann irgendwann, wenn es zu stark ist,

Dominik

der Abrief von der ganzen Straße,

Dominik

der kommt nochmal mit hoch.

Mira

Ist natürlich, wenn es regnet,

Mira

dann halt eben wieder nicht, weil dann wird

Mira

das eben weggespült. Und dann die Temperatur wieder.

Mira

Und solche Sachen kann man dann halt eben sich angucken

Mira

und überlegen, ob die plausibel sind.

Mira

Und man kann mit den Methoden sogar ganz

Mira

einzelne

Mira

Vorhersagen auch nochmal analysieren.

Mira

Und dann sagt die einem quasi so, okay, wir haben jetzt hier

Mira

3,5 mehr gesagt,

Mira

weil es ist Montag. Und dann haben wir aber nochmal

Mira

1,2 weniger gesagt, weil es ist

Mira

in den Ferien oder sowas.

Mira

Und das ist natürlich

Mira

auch sehr gut, um wirklich erklären zu können,

Mira

warum man genau diese Prognose

Mira

macht und was das Modell findet.

Mira

Und um sich sicher zu sein, dass man auch irgendwie

Mira

ein sinnvolles und gutes Modell gefunden hat.

Mira

Und das klingt jetzt alles so linear,

Mira

als würde man da so durchgehen. Aber das ist dann

Mira

auch manchmal ein Moment, wo man nochmal Ideen hat

Mira

und neue Features baut. Oder nochmal

Mira

Ideen hat und die Daten bereinigt, weil einem

Mira

irgendwas ganz komisches auffällt, irgendein Artefakt,

Mira

das man loswerden muss.

Mira

Egal wie toll man sich

Mira

die Daten vorher anguckt, manche Sachen, finde ich,

Mira

sieht man einfach erst nach der Modellierung und

Mira

muss dann irgendwie nochmal ein Stück zurückgehen. Das ist ja kein Problem.

Dominik

Okay.

Dominik

Das ist ja dieser jeweils Step, der dann

Dominik

guckt, ob das, was man da macht, auch

Dominik

dem entspricht, was man so möchte.

Dominik

Oder ja, es gibt

Dominik

ein Alert. Oh, irgendwas

Dominik

stimmt hier nicht. Aber das kann natürlich auch sein, dass in der Realität

Mira

irgendwas nicht stimmt. Das kommt erst später.

Mira

Ja.

Mira

Da haben wir noch gar kein Alerting-System.

Mira

Da haben wir irgendwie noch gar nichts.

Mira

Wir haben jetzt vielleicht eine Pipeline, die

Mira

die Tests laufen lässt, wenn wir was pushen.

Mira

Aber mehr ist in dem Moment normalerweise noch nicht

Mira

automatisiert.

Mira

Und ja, wir schreiben auch sehr gerne Tests.

Dominik

In was schreibt ihr Tests?

Mira

Ich glaube, es ist eigentlich immer

Mira

ein Pytest unterwegs.

Dominik

So. Wir lieben

Dominik

Pytests.

Mira

Wobei Tests mit Daten ja auch manchmal ganz witzig

Mira

sind, weil man

Mira

ja, braucht man sich dann

Mira

keinen Testdatensatz. Ist der dann

Mira

realistisch?

Mira

Macht man vielleicht sogar Tests gegen die

Mira

echten Daten? Die dürfen, die können natürlich

Mira

keine einzelnen Werte prüfen, aber man kann damit testen,

Mira

ob es überhaupt durchläuft. Also ja, das ist

Mira

ein ganz eigenes Thema.

Mira

Ja, es ist

Dominik

tatsächlich schon, ja, also ich würde auch

Dominik

dazu tendieren, irgendwie aus der Realität irgendwas rauszuschneiden

Dominik

und dann zu gucken, ob das dann so läuft.

Dominik

Weil also so Daten

Dominik

mocken ist immer so ein bisschen...

Dominik

Naja, gut, ja.

Dominik

Ja, es geht auch mal, aber...

Mira

Schwer. Ja, also in dem Moment

Mira

wäre man ja eigentlich nur bei einem POC,

Mira

bei einem Proof of Concept und so

Mira

ein richtiges Produkt oder ein MVP,

Mira

ein Minimum Viable Product,

Mira

kriegt man ja erst, wenn man dann das Ganze

Mira

auch deployt und automatisiert.

Mira

Und

Mira

wir, ja, wir stellen unsere

Mira

Prognosen oder Klassifikationen

Mira

oder was auch immer

Mira

oft über APIs zur Verfügung,

Mira

über Rest-APIs.

Mira

Oft machen wir aber auch noch mal

Mira

schon ein Frontend dazu,

Mira

also eine Web-App, wo die dann angezeigt

Mira

werden, wo zum Beispiel unser Kunde sich dann

Mira

die Alarme angucken kann

Mira

von irgendwelchen

Mira

Käufen, die irgendwie suspekt aussehen.

Mira

Mit was macht ihr

Dominik

eine Vent-App? Mit was macht ihr

Dominik

die Web-Apps?

Mira

Meistens mit Vue.js

Mira

und

Mira

historisch auch noch häufiger mit

Mira

Asshiny, aber das...

Mira

Da haben wir

Mira

ein Projekt, das ist eigentlich ganz cool, da haben wir

Mira

das, da geht es gar nicht mehr um irgendwelche

Mira

Prognosen zur Verfügung zu stellen, sondern

Mira

da haben wir Shiny-Apps gebaut, damit Leute

Mira

Modellierungsalgorithmen

Mira

anwenden können, ohne dass sie selbst

Mira

R-Code schreiben können müssen, weil das ist für

Mira

ganz viele Forschende, die

Mira

aber nicht gut selbst coden können und dann wäre

Mira

die Hürde natürlich total riesig, aber die brauchen

Mira

eigentlich diese ziemlich komplexen Methoden

Mira

und deswegen haben wir da für ein

Mira

Forschungsinstitut einige Apps gebaut, wo

Mira

die dann eben über eine Klick-Oberfläche

Mira

können sie ihre Daten hochladen und können dann

Mira

die Analyse fahren mit bestimmten Einstellungen und

Mira

kriegen dann Ergebnisse und Visualisierungen des

Mira

Dienstes, die natürlich auch sehr praktisch

Mira

und schreiben die dann mit ihre Doktorarbeiten.

Mira

Ja, aber

Mira

zurück zu

Mira

unseren Prognosergebnissen.

Mira

Genau, oft stellen wir die

Mira

über eine API zur Verfügung oder wir schreiben

Mira

sie irgendwo in eine Datenbank und der Kunde nutzt

Mira

sie dann halt so. Das ist tatsächlich auch was,

Mira

was man vorher wirklich klären muss. Reicht

Mira

das denen, wenn das eine API ist oder sitzen

Mira

da dann Leute, die damit

Mira

überhaupt nichts anfangen können und sagen, ja, was sind denn jetzt meine Zahlen?

Mira

Also,

Mira

genau, das muss man natürlich auch vorher

Mira

wirklich bis zum Ende denken.

Mira

Und unsere Erfahrung ist auch, dass

Mira

es, auch wenn

Mira

der Kunde dann irgendwie vorhat, doch

Mira

das selbst zu machen, sagt, ja, schreib das in die

Mira

Datenbank und dann benutzen wir es

Mira

einfach so weiter, dann trotzdem

Mira

lohnt es sich oft, dass wir das dann

Mira

doch mitdenken und zumindest irgendwie eine kleine Web-Anwendung

Mira

schreiben, weil sonst die Löhne doch

Mira

groß ist und dann hat der in IT halt eben auch

Mira

total viel zu tun und dann ist es richtig schade,

Mira

wenn das Projekt nachher in der Schublade landet

Mira

und fällt dann ja am Ende irgendwie

Mira

auch auf uns zurück. Also dann lieber

Mira

noch.

Mira

noch mal was Kleines bauen, damit

Mira

die dann doch was sehen können.

Dominik

Aber wenn die Farben dann auch richtig sind,

Dominik

das ist das Wichtigste an Flickung.

Dominik

Ja, das kann man auch durch

Mira

unterschätzen. Das sieht ja alles

Mira

sauhässlich aus.

Mira

Ja.

Jochen

Und

Mira

ja, üblicherweise, das hat man eben

Mira

schon gesagt, ein Modell muss man natürlich regelmäßig neu

Mira

trainieren, weil sich Zusammenhänge in der Regel

Mira

in allen Bereichen immer

Mira

mal wieder ändern. Das ist dann oft so

Mira

was wie einmal im Monat ab und

Mira

so sollte man sich das Modell sogar auch noch mal

Mira

ganz genau anschauen, zum Beispiel noch mal diese ganzen

Mira

Chefsachen berechnen und gucken, ist das eigentlich noch

Mira

plausibel? Das kann man

Mira

vielleicht einmal im Jahr machen und

Mira

die Prognoseerstellung

Mira

kommt halt darauf an, wie oft die benötigt wird und

Mira

auch wie schnell sich die Sachen ändern. Also in vielen Projekten

Mira

ist es, dass es einmal am Tag passiert, aber

Mira

manchmal ist es dann auch wirklich in Echtzeit, dass dann der

Mira

Anfall reinkommt und dann wird die

Mira

Prognose für diesen einen

Mira

ganz konkreten Fall erstellt und oft kann man

Mira

die auch noch nicht vorbereiten, weil man die Daten vielleicht dann

Mira

nicht hat, sondern kommen dann rein die Daten und

Mira

dann braucht man eine Prognose. Zum Beispiel

Mira

kommt ein neuer Kauf rein oder

Mira

eine Anfrage und man muss in dem Moment

Mira

entscheiden, ist das irgendwie

Mira

verdächtig? Könnte das

Mira

Betrug sein oder ist alles okay?

Mira

Und

Mira

man sollte das natürlich auch überhaupt nicht

Mira

unterschätzen, weil vom POC

Mira

zum MBP und das ist dann ja noch

Mira

ein simples Produkt, das ist oft nochmal

Mira

Faktor 10 vom Aufwand her. Ich glaube, das

Mira

ist halt total schwer, vor allem wenn man

Mira

am Anfang so ein bisschen geprototypt hat oder

Mira

vielleicht mit kleineren Daten gearbeitet hat und dann

Mira

muss man auf einmal vermitteln, ja, jetzt

Mira

brauchen wir aber nochmal ganz viel Zeit und ich denke so,

Mira

hey, ihr habt uns doch gerade die Ergebnisse gezeigt, die sind doch

Mira

da.

Mira

Ja, klar, das ist natürlich auch

Mira

schwer nachvollziehbar von außen, deswegen ist es einfach

Mira

wichtig, das richtig zu kommunizieren.

Dominik

Ja, ich wollte gerade sagen, schwer zu kommunizieren, das ist, finde ich,

Dominik

auch ein Hauptproblem, gerade bei so Kunden

Dominik

und Technologie.

Mira

Ich meine, kann man ja verstehen,

Mira

dass jemand sich dann ein bisschen an der Nase rumgeführt

Mira

fühlt oder einfach schlecht informiert

Mira

fühlt.

Dominik

Ja, schwierig.

Dominik

Ja.

Mira

Ja, und

Mira

dann gibt es natürlich

Mira

auch immer noch den Bereich Monitoring

Mira

und Wartung, also das, wo wir jetzt auch gerade

Mira

in dem Projekt mit der Senatsverwaltung drinstecken,

Mira

seit schon einigen

Mira

Monaten, da haben

Mira

wir natürlich Alerts, wenn irgendwo

Mira

ein Prozess abbricht, wenn es irgendwo einen Fehler

Mira

in einem Pod gibt, dann müssen wir das

Mira

natürlich wissen, aber es kann auch

Mira

sein, dass die durchlaufen ohne

Mira

Fehler, aber trotzdem irgendwas stimmt

Mira

und vielleicht nur für Halbbelly,

Mira

in Prognosen erstellt werden oder nur

Mira

für einen halben Tag und deswegen sind dann da auch

Mira

Alarme definiert, die gucken,

Mira

ist die Anzahl, entspricht die Anzahl

Mira

der Prognosen in der Datenbank auch tatsächlich

Mira

unserer Erwartung? Man kann auch

Mira

definieren, gibt es irgendwelche unerwarteten

Mira

Werte, extrem hohe Prognosen beispielsweise

Mira

oder gibt es unerwartete Werte

Mira

in den Input-Daten,

Mira

Werte, die vielleicht überhaupt nicht definiert sind

Mira

und dann auch wichtig

Mira

ist der Model-Drift

Mira

oder Data-Drift, das heißt, dass die

Mira

Daten so nach und

Mira

nach irgendwie in eine andere Richtung driften

Mira

und sich verändern oder das

Mira

Modell so nach und nach immer so ein bisschen

Mira

schlechter wird, aber irgendwann,

Mira

wenn es das lange genug gemacht hat, dann ist es halt

Mira

irgendwann nicht mehr gut genug und dann möchte man

Mira

das ja auch mitbekommen und zum Beispiel bei jedem

Mira

monatlichen Modell-Neutraining will man auch mal

Mira

die ganzen KPIs, also die ganzen

Mira

Gütemaße sehen und

Mira

oder vielleicht will man sie nicht angucken, sondern

Mira

möchte halt einfach informiert werden, ob die sich

Mira

nach einer Weile vielleicht zu stark

Mira

verschlechtert haben und dann muss man sich einfach nochmal angucken, was

Mira

los ist, was halt eben auch nochmal zeigt,

Mira

es ist halt nicht ganz fertig und dann kann man es für immer

Mira

benutzen, aber gut, das ist ja auch in der klassischen

Mira

Softwareentwicklung oft so,

Mira

dass das so ein bisschen unterschätzt wird,

Mira

wie viel dann doch noch gemacht werden muss, obwohl es doch fertig

Dominik

ist. Macht ihr denn eigene

Dominik

Monitoring-Tools oder nutzt ihr ja auch eins von den Sachen,

Dominik

die es da so gibt? Ja, also

Mira

ReDash benutzen wir in dem einen Projekt

Mira

ja ganz gerne und

Mira

sonst, ja, wie das,

Mira

was ich gerade dann

Mira

anbiete, die ich überlege gerade, was wir sonst

Mira

auch so haben, ja, es gibt ja normalerweise

Mira

dann Tools, die man da

Mira

benutzen kann und die man dann

Mira

zum Beispiel auch an Slack anschließen kann und kriegt dann da

Mira

Nachrichten.

Mira

Weiß ich gerade gar nicht so genau, was die

Mira

in anderen Projekten benutzen.

Dominik

Doch, doch, es gibt ganz viele.

Dominik

Ich versuche gerade meinen Discord anzubinden.

Jochen

Ah, okay, also was ich empfehlen kann für

Jochen

so Monitoring-Geschichten,

Jochen

ist Telegram, weil das halt sehr einfach ist,

Jochen

da irgendwie über die

Jochen

API Dinge zu verschicken.

Dominik

Telegram kriege ich auch Nachrichten für meine Server, falls da

Dominik

irgendwas passiert, was ich will, ja.

Mira

Ja, cool.

Mira

Zu wissen.

Mira

Ist ja auch immer mal so ein spannendes Thema,

Mira

weg von US-Diensten und so.

Jochen

Ja, wahrscheinlich, genau, das ist natürlich

Jochen

wenn ich über die Russen nehme.

Jochen

Weil Telegram irgendwie an der richtigen Adresse ist.

Mira

Man soll ja streuen.

Mira

Ja, ja, genau.

Dominik

Ja, das ist das eigene.

Dominik

Wir nehmen meistens immer so eigene Server oder sowas, aber wenn die halt

Dominik

dann wechseln, ist halt auch blöd, dann merkt man es halt sonst nicht.

Dominik

Ja, dann musst du halt irgendwo anders noch

Dominik

Dinge haben.

Jochen

Ja, aber ja, klar, es wird dann auch

Jochen

teurer. Monitoring ist ja zu ruhig,

Dominik

was passiert denn da jetzt, ne, genau.

Mira

Endlich sind alle Bugs

Mira

weg. Ja.

Mira

Eigentlich ist alles gut.

Dominik

Hat jemand den Nähenzuhörer mit in die Tasche gesteckt und drunter gemacht?

Dominik

Ja.

Mira

Ja, so, noch ein ganz

Mira

wichtiges Stichwort in dem Bereich ist natürlich

Mira

ML Ops, also Machine Learning

Mira

Operations, also Mischung aus DevOps

Mira

und Machine Learning ist das Wort.

Dominik

Der Kurzvortritt ist der Rathops,

Dominik

oder?

Dominik

Ja, genau.

Mira

Und, ja, es ist

Mira

im Prinzip DevOps, aber

Mira

Anpassung auf diesen, auf den Datencase,

Mira

auf die Arbeit mit Daten, das heißt

Mira

es kommen noch so ein paar Sachen dazu, wie zum Beispiel

Mira

dass man nicht nur Code versionieren muss,

Mira

sondern auch Modelle

Mira

oder vielleicht Experimente versionieren

Mira

und, ja,

Mira

es gibt halt nicht nur Code-Änderungen,

Mira

die dazu führen, dass die Ergebnisse anders sind,

Mira

sondern auch jeder neue Datenpunkt

Mira

kann, ja, die Ergebnisse

Mira

verändern, das heißt, da kommt dann

Mira

nochmal so eine zusätzliche Komplexität,

Jochen

ebene mit rein naja das ist auch ja also

Jochen

auch eine ganz wichtige Geschichte.

Dominik

Also ich finde das immer dann schwierig, wenn das halt so

Dominik

verteilte Systeme sind, die gleichzeitig irgendwie rechnen

Dominik

und dann die Sachen wieder zusammenführen müssen.

Dominik

Da steige ich auch nicht so genau

Dominik

durch, wie man das ordentlich machen will.

Dominik

Aber wenn das so

Dominik

distributed ist, was halt beim Machine Learning

Dominik

auch mal passieren kann, ja?

Jochen

Ja, also würde ich jetzt, also aus meiner Erfahrung,

Jochen

also bei mir ist das eigentlich,

Jochen

also das letzte Mal, dass

Jochen

ich den Fall hatte, dass

Jochen

wir irgendwie sowas verteilen

Jochen

mussten, dann war das wegen, weil

Jochen

die Maschinen 32 Bit waren

Jochen

und nicht mehr als 4 Gigabyte, wie man

Jochen

auf eine Maschine kriegte, und dann brauchte man

Jochen

mehrere Maschinen, aber danach ist das

Jochen

eigentlich, ehrlich gesagt, also mir nicht mehr

Jochen

passiert, weil...

Jochen

Ich hab meine Daten zu klein, das kann schon sein,

Jochen

aber

Jochen

man kriegt heute so große Maschinen, also...

Jochen

Ja,

Jochen

die Preise haben wir uns ja gerade unterhalten, ja.

Jochen

Ja, aber wenn man CPU,

Jochen

die meisten Sachen brauchen wir mal eher CPU,

Jochen

dann das ist nicht so toll.

Jochen

Okay.

Mira

Wenn du dann so eine ganz große Maschine hast und die ist teuer

Mira

und dann kannst du den Code so optimieren, dass es

Mira

viel, viel billiger wird, dann

Mira

ist das doch auch ein tolles Erfolg.

Mira

Ja.

Dominik

Ja, wo wir jetzt gerade schon mal

Dominik

optimieren sind, wie ist das denn mit

Dominik

Performance zum Beispiel? Ich glaube, das ist noch was

Dominik

gewesen, wo wir sprechen wollten.

Mira

Ja, also da könnte man natürlich auch eine ganz

Mira

separate Folge dazu machen, aber grundsätzlich

Mira

ist das auch natürlich ein spannendes

Mira

Thema. Also was

Mira

mir da immer mal wieder

Mira

auffällt, das ist das,

Mira

manchmal,

Mira

ja, wenn man eben die

Mira

Funktionen nicht kennt, die eigentlich

Mira

dafür da sind, mit Datensätzen zu arbeiten, dann

Mira

kann es etwas unperformant

Mira

werden, weil man zum Beispiel über den ganzen

Mira

Datensatz loopt, obwohl man Sachen auf die

Mira

ganze Spalte anwenden könnte. Und die sind dann in

Mira

NumPy und sind halt total optimiert.

Mira

Und

Mira

da gibt es eine Menge Sachen.

Mira

Also natürlich, ich glaube,

Mira

treffen alle

Mira

Sachen zu, die generell auf Softwareentwicklung zutreffen.

Mira

Die treffen natürlich auch bei Daten zu und dann

Mira

kommen noch ein paar Sachen dazu. Also zum

Mira

Beispiel Umgang mit großen Datensätzen.

Mira

Da hat man eben schon mal

Mira

angeschnitten, dass das natürlich Spark

Mira

gibt, aber es auch nicht unbedingt total schnell immer

Mira

ist. Und manchmal ist es

Mira

aber auch echt ausreichend, auf einem Sample zu

Mira

arbeiten, weil wenn ich eh schon

Mira

Millionen von Zeilen habe, dann werden die

Mira

weiteren zehn Millionen von Zeilen meistens auch

Mira

nur so viel zusätzliche Information

Mira

liefern. Und dann kann ich mein

Mira

Modell auch auf einem Sample trainieren. Ich kann ja

Mira

immer mal noch das checken, ob es

Mira

wirklich nicht immer viel besser wird.

Mira

Aber das ist so

Mira

sowas, was man

Mira

im Blick haben sollte.

Mira

Ich gucke mal gerade noch. Ich hätte da mal

Mira

so eine Liste.

Mira

Ja,

Mira

Polar ist eben auch schneller

Mira

als Pandas. Es gab auch vorher noch

Mira

ein, also es gibt auch immer noch

Mira

das Paket Data Table,

Mira

aber ich glaube, dass es einfach gar nicht mehr so

Mira

interessant ist, wo es Polar gibt.

Mira

Und dann, ja,

Mira

bei Datenbanken ist es auch manchmal ganz

Mira

interessant, weil die

Mira

sind oft eher darauf optimiert,

Mira

dass man eine kleine Menge von Daten abruft

Mira

oder hinschreibt. Und wenn man dann auf einmal mehrere

Mira

Millionen Zeilen hat, dann werden die so Stück für Stück

Mira

abgerufen und hingeschrieben,

Mira

wie hat der welchen Treiber man nutzt. Und da gibt es dann

Mira

auch Hacks, wie

Mira

zum Beispiel, dass man es erst in

Mira

ein Paket-File oder ein CSV

Mira

schreibt und dann das

Mira

im Batch hochlädt.

Mira

Das wird jetzt schon ziemlich

Dominik

detailliert. Ja, mit dem Paket-File, da wollten wir

Dominik

noch ein paar bisschen drüber reden, wie man das machen

Dominik

kann.

Jochen

Ja, aber genau, wenn wir bei Performance sind,

Jochen

so ein ganz generelles Ding, was ich häufig sehe,

Jochen

also gerade auch im Zusammenhang mit irgendwie

Jochen

Dinge verteilen oder so, was

Jochen

ich ganz oft sehe, ist, dass Leute halt grundsätzlich

Jochen

erstmal der Meinung sind, wenn man Dinge verteilt,

Jochen

dann wird es halt schneller.

Jochen

Ist aber oft

Jochen

nicht so.

Jochen

Weil ganz oft ist halt CPU

Jochen

möglicherweise gar nicht das Bottleneck. Also wenn man,

Jochen

bevor man sowas macht, wie Dinge dann

Jochen

verteilen oder so, sollte man vielleicht mal gucken, wo ist denn eigentlich

Jochen

das Bottleneck.

Jochen

Ich sehe das so oft,

Jochen

ich sehe das so oft, dass Leute sagen so, ja,

Jochen

das wird nicht schneller oder so und dann ist es halt

Jochen

I.O. Und dann

Jochen

ist es halt so, dass

Jochen

verteilen macht das alles noch schlimmer, weil

Jochen

irgendwie Netzwerk

Jochen

ist halt noch viel langsamer als irgendwie

Jochen

quasi lokale SSDs.

Jochen

Und wenn man halt

Jochen

die Daten in der richtigen Reihenfolge lädt,

Jochen

sozusagen, und nicht zufällig

Jochen

die ganze Zeit, wenn man sehr große Datenmengen hat,

Jochen

also so groß, dass sie nicht in den Hauptschleifer passen,

Jochen

wenn die dann sozusagen richtig,

Jochen

also sich jedes,

Jochen

alle Daten immer nur einmal anguckt, dann kann es sein,

Jochen

dass es super schnell ist. Während wenn man halt

Jochen

zufällig auf dem, auf dem, auf einem

Jochen

großen Paketpfeil beispielsweise

Jochen

dann irgendwie immer ein Stückchen hier liest, ein Stückchen

Jochen

da liest,

Jochen

die ganze Zeit random irgendwie

Jochen

zwei Gigabyte I.O. macht, dann

Jochen

ist das alles total langsam und sieht

Jochen

so aus, als ob es nicht schneller gehen würde.

Jochen

Und tatsächlich

Jochen

ist es aber, ist es aber

Jochen

eine ganz einfache Optimierung, die

Jochen

dazu führt, dass es halt

Jochen

schnell genug ist. Also ich würde mal sagen,

Jochen

wenn man, wenn man, wenn man so ein MacBook nimmt

Jochen

und das richtig benutzt, ist es sehr schwer,

Jochen

das mit einem Cluster zu schlagen. Wirklich, sehr schwer.

Jochen

Also, und das ist, glaube ich,

Jochen

auch vielen Leuten nicht so bewusst. Also,

Jochen

das ist halt oft, wird da mit Kanonen

Jochen

auf Spatzen geschossen. Und

Jochen

das eigentliche Problem gar nicht, wird

Jochen

gar nicht erkannt, sondern, ja.

Dominik

Jetzt wollte ich gerade mit IBIS anfangen, was ja auch

Dominik

so ein bisschen größer ist als ein Spatz, aber

Jochen

Ja, aber gut,

Jochen

das ist ja sozusagen,

Jochen

dass man halt quasi ein DataFrame-Interface

Jochen

hat für irgendwie

Jochen

Sachen, die hintendran SQL sprechen, oder?

Dominik

Ja, oder zum Beispiel verteilte Datenbanken oder

Dominik

sowas, ja. Ja.

Jochen

Äh, genau, also

Jochen

aber, genau, also

Jochen

oft, oft ist es dann halt so,

Jochen

wenn man dann halt irgendwie irgendwas

Jochen

benutzt, was halt SQL spricht, aber

Jochen

hintendran total verteilt ist,

Jochen

dass das dann halt sehr langsam ist

Jochen

und Leute nicht wissen, warum das langsam ist und sich

Jochen

dann irgendwie dran gewöhnen und dann halt,

Jochen

wenn sie ihre Jobs losschicken, halt dann Mittagessen

Jochen

gehen oder so, aber, und wenn

Jochen

sie sich vor die Daten irgendwie, äh,

Jochen

halt geholt hätten und hätten das auf dem Laptop

Jochen

in Pandas gemacht oder so, wäre es viel schneller gewesen.

Jochen

Naja, so, solche Sachen, äh,

Jochen

ja. Aber IBIS,

Jochen

ja, es ist grad, ähm,

Jochen

benutzt ihr das?

Mira

Nee, hab ich tatsächlich noch nie gehört.

Dominik

Okay, ich glaube, das ist auch von dem...

Mira

Was ich noch mal

Mira

wiederholen will, ist einfach dieses, ja, guck

Mira

dir erstmal an, was eigentlich gerade langsam ist,

Mira

wo ist eigentlich dein Bottleneck, weil da sind ja

Mira

manchmal die Annahmen einfach nicht richtig.

Mira

Ja. Ich hab, das ist so witzig,

Mira

dass du's sagst, ich hab gerade, ich glaub,

Mira

letzte Woche hab ich

Mira

gerade was parallelisiert und dadurch

Mira

sehr, sehr, sehr, sehr, sehr viel schneller gemacht.

Jochen

Ja gut, das geht schon auch, ne? Das kann natürlich

Mira

schon manchmal der Punkt sein, aber

Mira

eben das Beispiel war ja eben gerade,

Mira

dass es dann an der Kommunikation mit der Datenbank liegt

Mira

und wenn man dann...

Mira

Das ist, also eigentlich ist es trivial, dass man

Mira

erstmal profilen muss und gucken muss, was langsam

Mira

ist. Wenn man's mal gesagt hat, klingt's ja trivial,

Mira

aber ich glaube, wenn man's

Mira

zum ersten Mal macht, dann vergisst man es. Ich glaube auch, dass

Jochen

viele Leute halt nicht so bewusst ist, die profilen

Jochen

dann vielleicht auch und sehen dann vielleicht sogar

Jochen

noch irgendwie, wo Zeit verloren geht,

Jochen

aber gucken halt

Jochen

nicht auf sowas, wie ist denn jetzt eigentlich,

Jochen

wenn ich jetzt einfach mal

Jochen

ein paar CPUs nehme, krieg ich dann

Jochen

tatsächlich, wird's schneller oder nicht? Wenn's nicht

Jochen

schneller wird, okay, gibt's vielleicht irgendeine andere

Jochen

Komponente im System, die halt

Jochen

irgendwie, die halt dicht ist

Jochen

und dass es halt da Unterschiede

Jochen

gibt, dass halt nicht alles CPU ist, das ist

Jochen

oft, hab ich das Gefühl, nicht so

Jochen

keine weit verbreitete sozusagen

Jochen

Erkenntnis und ja,

Jochen

aber ja, genau, das ist ganz wichtig, dass man das

Jochen

halt sich einfach so

Jochen

im Gesamtsystem mal anguckt, ja.

Mira

Beim Modelltraining ist es dann tatsächlich

Mira

schon oft sinnvoll

Mira

zu parallelisieren, wenn das lang dauert

Mira

und das ist aber dann auch in den

Mira

meisten Paketen schon so eingebaut, dass man

Mira

dann nur irgendwie die Anzahl der Kerne

Mira

übergeben muss, die dieses nutzen soll und dann läuft das

Mira

einfach, das ist ganz praktisch. Genau, aber ich weiß

Jochen

jetzt nicht, also das war jedenfalls, ich hab das ja auch schon lange

Jochen

nicht mehr gemacht, aber das war

Jochen

zu der Zeit, wo ich solche Sachen gemacht hab, war das

Jochen

halt schwer, das auf mehrere Rechner zu verteilen, also auf

Jochen

einem Rechner, ja, genau, mehrere Kerne, kein Problem.

Jochen

Aber auf mehrere Maschinen, XY-Boost,

Jochen

ja, eher nicht.

Mira

Ja, die Frage ist, wie

Mira

sehr man das auch manuell machen

Mira

muss, weil man ja meistens dann

Mira

sich sein Cluster in Databricks oder so

Mira

hochfährt und muss sich darüber gar keine Gedanken

Mira

machen eigentlich. Ja.

Mira

Also zumindest als Data Scientist ist das

Mira

nicht das, was man irgendwie

Mira

das erwartet wird, dass

Mira

dann da verschiedene Rechner zusammenfließt.

Jochen

Ja, ja.

Mira

Und dann ist natürlich manchmal irgendwie

Mira

schon so, dass man doch wieder auf

Mira

andere Programmiersprachen

Mira

ausweichen muss, weil Python

Mira

und R nicht unbedingt dafür bekannt sind, dass

Mira

sie total schnell sind.

Mira

Aber ich glaube, also meiner Erfahrung

Mira

nach ist es schon oft so, dass man schon sehr

Mira

viel rausholen kann, wenn man sich den Python

Mira

oder R-Code nochmal genau anschaut, profilt

Mira

und dann vielleicht irgendwo

Mira

auch mal die Daten vorher

Mira

klug filtert oder

Mira

ein sinnvolles If-Statement

Mira

irgendwie so ein bisschen verschiebt, weil man auf einmal

Mira

merkt, oh Moment, oder in einem Loop irgendwas

Mira

rauszieht, was eigentlich nur einmal passieren muss,

Mira

das sind ja so Sachen, die dann doch

Mira

schnell passieren, wenn man den Code

Mira

irgendwann so geschrieben und ein paar Mal verändert hat,

Mira

dann ist da vielleicht irgendwas, was

Mira

man, also so eine Low-Hang-In-Food, was man

Mira

schon leicht optimieren kann.

Dominik

Python könnte man ja auch noch schneller kriegen, wenn man will, ja.

Jochen

Ja, wobei, also ich meine, das ist halt immer die Frage,

Jochen

wenn es halt schnell sein soll, dann nimmt man am besten

Jochen

was, was nicht halt,

Jochen

in Python sind halt, was halt langsam sind, halt Funktionsaufrufe,

Jochen

Schleifen, das ist halt

Jochen

extrem langsam, weil wenn man

Jochen

die Schleifen halt in NumPy,

Jochen

nicht als Schleife, sondern irgendwie vektorisiert,

Jochen

auf den Daten macht, dann ist es halt schnell.

Jochen

Und ob man das jetzt von Python aus aufruft oder nicht.

Mira

Das ist dann auch dieses Stichwort, dass

Mira

jemand, der das durchweist, eben über den Data-Frame

Mira

drüber loopst, das einfach so verfolgt ist.

Mira

Das ist dann schlecht, ja.

Dominik

Ja, aber

Dominik

deswegen ja genau, einfach dann eine Maske drauf

Dominik

und dann machst du es halt drunter

Dominik

in NumPy, ja.

Dominik

Ja, also warum ich

Dominik

Ibis eben sagte, weißt du auch von Wes McKinney,

Dominik

das ist halt dem Pandas-Menschen,

Dominik

der da war.

Jochen

Ja, der hat ja eine ganze Menge, der ist auch hinter dem,

Jochen

Arrow, das ist halt so seit einiger Zeit

Jochen

sein Hauptprojekt.

Dominik

Vielleicht nochmal, was macht Arrow, wenn wir

Jochen

schon dabei sind? Achso, ja, das ist eigentlich im Grunde

Jochen

so, die Grundidee dabei ist

Jochen

halt, dass man vielleicht aus

Jochen

unterschiedlichen, also das

Jochen

ist halt das Problem bei NumPy

Jochen

oder Pandas-Geschichten, also

Jochen

man hat das dann halt in

Jochen

Python, aber wenn man jetzt eine andere Programmiersprache

Jochen

hat und darauf zugreifen will, dann geht das halt

Jochen

nicht. Und die Idee

Jochen

bei Arrow ist halt, dass man

Jochen

das halt, dass man eine gemeinsame

Jochen

Daten-in-Hauptspeicher-

Jochen

Laden-Infrastruktur hat

Jochen

und dann halt Paket-Files

Jochen

quasi, oder was auch immer, man lässt

Jochen

halt einen Hauptspeicher und kann dann halt von

Jochen

unterschiedlichen Sprachen auch

Jochen

darauf zugreifen und das

Jochen

funktioniert dann halt.

Jochen

Genau, und ja,

Jochen

ist halt nicht an sowas wie NumPy gebunden, was es halt nur für

Jochen

Python gibt im Grunde. Und

Jochen

ja, das ist jetzt inzwischen, aber glaube ich, liegt das

Jochen

auch unter Pandas drunter und

Jochen

zu größeren

Jochen

Teilen. Ehrlich gesagt bin ich da,

Jochen

in letzter Zeit nicht so viel Interessanz gemacht.

Jochen

Ja.

Dominik

Genau, ja, also mit Ibis kann man

Dominik

zum Beispiel auch da PaceBug oder sowas dann berechnen,

Jochen

dass man dann... Ja, also alles, was

Jochen

irgendwie SQL spricht, kannst du da,

Jochen

soweit ich weiß, ist einfach nur ein Layer, wo du

Jochen

halt ein DataFrame-Interface

Jochen

hast nach außen hin, sodass du es benutzen kannst

Jochen

wie einen normalen DataFrame, aber nach hinten raus

Jochen

spricht es dann halt SQL.

Jochen

Was halt, ja,

Jochen

wenn du ein System hast, das das kann, dann ist es...

Dominik

Ja.

Dominik

Okay. Ja,

Dominik

ich glaube, wir haben schon viel

Dominik

über diesen Prozess zumindest gesprochen.

Dominik

In CRISP sind wir durch,

Mira

wenn wir das... Ja, eigentlich sind wir durch und dann kann man

Mira

ja wieder von Anfang an anfangen und sich den

Mira

nächsten, next best use case

Mira

oder das, was man schon

Mira

hat, halt nochmal erweitern,

Mira

überlegen, ob man es auch irgendwo anders anwenden kann

Mira

und so weiter. Also

Dominik

du würdest zum Beispiel sagen, aus deiner Perspektive, es gibt

Dominik

gar keinen großen Unterschied zwischen Data Science

Dominik

und Machine Learning Operations oder

Dominik

Engineering mehr

Dominik

heutzutage.

Mira

Oder so. Ja, also es sind halt alles

Mira

irgendwie so verschiedene Schwerpunkte.

Mira

Bei uns sind jetzt,

Mira

wir haben schon Leute, die eher

Mira

Data Science machen, die eher modellieren und andere

Mira

Leute, die eher

Mira

in dem DevOps, MLOps-Bereich

Mira

unterwegs sind oder auch Data Engineering

Mira

machen, die sich besser mit Datenbanken auskennen.

Mira

Aber wir haben bei uns jetzt

Mira

nicht so die klare Trennung, du musst das eine oder das andere machen.

Mira

Es gibt auch Leute, die machen beides, gehen dann halt eben

Mira

nicht ganz so krass in die Tiefe, aber

Mira

haben halt ein breiteres Profil und das ist

Mira

natürlich auch total wertvoll.

Mira

Ja, es gibt

Mira

diese Schwerpunkte, aber

Mira

greift ja auch alles ineinander.

Mira

Also es ist ja auch so, dass

Mira

es Sinn macht, so ein T-Shape-Profile

Mira

aufzubauen, also dass man in einer Sache

Mira

schon wirklich gut ist, aber von

Mira

vielen anderen Sachen auch Ahnung hat und da auch

Mira

was machen kann. Dann ist man eben auch flexibler, auch wenn

Mira

vielleicht ein Bereich auf einmal nicht mehr

Mira

so gefragt ist aus irgendwelchen Gründen,

Mira

ob das AI den überkommen hat oder

Dominik

weil wir alle ersetzt werden.

Mira

Genau.

Mira

Es macht natürlich auch Sinn, wenn ich als

Mira

Data Scientist jetzt mich

Mira

nicht weigere, mal das Jenkins-File

Mira

zu updaten.

Mira

Da macht es ja schon Sinn,

Mira

sich dann mit allem ein bisschen auszukennen.

Jochen

Ja, okay.

Jochen

Also aus meiner Perspektive ist das, ich meine, das mag

Jochen

jetzt etwas ketzerisch klingen oder ich weiß nicht, vielleicht

Jochen

so Hot-Take-Verwandlung.

Jochen

Ich bin gespannt. Ich würde sagen, das ist alles

Jochen

Programmieren. Oder sagen wir so,

Jochen

das, was praktisch oft

Jochen

sozusagen ein Bottleneck ist bei

Jochen

Leuten, die versuchen, irgendwas zu tun, ob es

Jochen

Produkt umsetzen, irgendwas analysieren oder

Jochen

Modelle bauen oder was auch immer ist, ist halt

Jochen

normalerweise das Programmieren.

Jochen

Das ist halt das Bottleneck aus

Jochen

sowas.

Jochen

Ein bisschen statistisches Grundverständnis schadet

Dominik

vielleicht auch nicht. Ja, aber du brauchst oft

Jochen

oder gut, das mag

Jochen

dann irgendwie, das mag

Jochen

daran liegen, dass ich das halt, dass ich

Jochen

die Feinheiten dann oft nicht so sehe,

Jochen

aber und dass man da vielleicht Feinheiten machen kann,

Jochen

aber oft scheitert es halt schon an so groben Dingen

Jochen

und dann kommt es auf die

Jochen

Feinheiten auch nicht mehr an.

Mira

Ich würde sagen, alle

Mira

bei uns können programmieren

Mira

und wenn man jetzt ein Projekt hat, wo alle

Mira

programmieren können, aber nur die Hälfte

Mira

hat Statistikverständnis, ist okay. Wenn aber

Mira

alle Statistik können und die Hälfte kann programmieren,

Mira

dann langweilt sich die eine Hälfte

Mira

der Leute, die halt nicht programmieren können, weil die können

Mira

dann ja immer nur Ergebnisse angucken und irgendwas dazu

Jochen

sagen. Oder genau, so kommt man jetzt auch aus,

Jochen

man ist halt hart davon abhängig,

Jochen

dass man, dass irgendwie dieses

Jochen

Programmierdings halt auch funktioniert, weil ansonsten

Jochen

kommt man mit den anderen Sachen, ist halt sozusagen

Jochen

die Infrastruktur, die man braucht für fast alles andere.

Mira

Ja, natürlich gibt es halt auch

Mira

so Programme wie SPSS, wo man

Mira

Statistikanalysen machen kann.

Mira

Das wollte ich ganz am Anfang sagen.

Jochen

Das hat ja auch

Mira

seine Daseinsberechtigung, weil wenn jemand nur

Mira

alle drei Monate mal eine Analyse fährt,

Mira

dann lohnt sich halt eben nicht.

Mira

Ja, aber auch da,

Dominik

da mache ich mir einen Notebook für halt dann, oder?

Mira

Nee, aber die Person macht

Mira

alle drei Monate irgendwas anderes.

Mira

Dann müssen sie alle drei Monate wieder

Mira

sich erinnern, wie man eigentlich

Mira

Variable zuweist.

Mira

Und dann lieber das

Dominik

angestaubte SPSS klicken.

Dominik

Also ja,

Mira

mich hat SPSS auch ziemlich schnell genervt,

Mira

aber ich kann,

Mira

also es hat schon seine Daseinsberechtigung für

Mira

bestimmte Dinge. Oder vielleicht das

Jochen

SPSS des kleinen Mannes, ich meine, das ist halt auch das,

Jochen

womit man täglich zu tun hat. Excel.

Jochen

Ja, ich meine, es gibt ganz viele Leute, die machen halt einen Großteil

Jochen

von dem Zeugs halt mit Excel.

Jochen

Alle Leute machen alles mit Excel, genau.

Jochen

Ja, natürlich. Man kommt auch

Jochen

ein gewisses Stück weit schon, das ist richtig,

Dominik

aber. Eine Million Zeit.

Mira

Ja, ich glaube, man hat als Data Scientist auch manchmal

Mira

so eine Arroganz, dass man Excel überhaupt gar nicht

Mira

öffnet.

Jochen

Ja, und bei manchen Sachen ist es vielleicht gar nicht so schlecht.

Dominik

Ja.

Dominik

Aha, jetzt hat jemand Excel gesagt.

Dominik

Jetzt kriege ich ein komisches Gefühl.

Dominik

Ich bin zu cool dafür.

Dominik

Es ist halt einfach fürchterlich.

Dominik

Es ist halt hässlich und dann wollen Leute auch noch,

Dominik

dass man dann in Excel Spalten dann färbt,

Dominik

weil man macht ja Data Science oder was mit Daten

Dominik

und dann soll das alles so aussehen wie vorher und

Dominik

Das geht alles, ich habe da kein Problem

Jochen

damit. Ich generiere auch Excel Output

Dominik

und ich lese auch Excel ein.

Jochen

Ja, also in schönen Output machst du das?

Jochen

Ich habe da eine Aufgabe für dich.

Jochen

Oh, ja, so.

Jochen

Okay, jetzt, wenn es dann so konkret wird,

Jochen

dann weiß ich nicht.

Mira

Ich glaube, wir haben sogar so ein Mini-Open-Source-Projekt

Mira

auf GitHub liegen

Mira

für Excel, also

Mira

um Excel-Files schön zu formatieren und

Mira

das hat man geschrieben.

Jochen

Sehr gut.

Jochen

Ja, schon.

Mira

Ja, das war tatsächlich ein Projekt, da wurden

Mira

halt die Reports, das war so ein Banking-Kontext

Mira

und die haben halt die Reports als Excel-File

Mira

gebraucht, um wahrscheinlich damit

Mira

die weiterzuschicken.

Dominik

Ja, weil die auch den ganzen Tag das halt schon kennen, ne?

Dominik

Die haben halt ihren Prozess, der ist immer schon so

Dominik

und dann ist es halt super, wenn dann die Sachen einfach

Dominik

dann neu sind oder Daten drin sind, aber es soll genauso

Dominik

aussehen mit Condition Formatting und so.

Mira

Ja, oder es sind halt Leute, die können halt

Mira

sich programmieren, das ist auch irgendwie völlig okay,

Mira

weil sie ganz andere Sachen machen, aber trotzdem

Mira

müssen wir denen irgendwie die Ergebnisse

Mira

liefern.

Dominik

Ja.

Dominik

Ich glaube, wir sind bei den Picks angekommen, oder?

Dominik

Ich glaube, Miriam, du hattest noch einen, wolltest

Dominik

was picken, was auch noch mit Data Science zu tun hat, vielleicht

Dominik

fangen wir damit doch direkt an.

Mira

Ja, also wir haben schon so ein bisschen angeschnitten, ich hatte ja eben erwähnt,

Mira

dass ich was parallelisiert habe und das war

Mira

total cool, weil

Mira

diese Prognosen,

Mira

also dieses Modelltraining und Prognosen

Mira

erstellen, das hat halt Stunden

Mira

gedauert und auch wahnsinnig hohe Kosten

Mira

verursacht, weil, anderes Thema,

Mira

Pandas haben hohe Rampe

Mira

gebraucht, das heißt, man braucht einen riesen Cluster

Mira

und dann ist es aber auch noch total lang gelaufen,

Mira

auf diesem riesigen Cluster, also total

Mira

teuer und dann habe ich festgestellt, dass

Mira

die Prognosen alle

Mira

nacheinander erstellt wurden und alles nur auf

Mira

dem Driver-Node lief, also diese ganzen

Mira

vielen Nodes auf diesem riesigen Cluster,

Mira

die wurden alle überhaupt gar nicht benutzt und

Mira

dann dürfte ich das parallelisieren,

Mira

in dem Fall

Mira

mit Pandas UDFs, Pandas

Mira

User-Defined Functions, also es ist dann eine Möglichkeit

Mira

eben, dass das, es läuft halt in

Mira

Pandas, weil es ist ein Light-GBM-Modell

Mira

und es kann im Moment noch keinen

Mira

High-Spark-Data-Frame oder Spark-Data-Frame

Mira

nehmen, deswegen muss man den

Mira

in Pandas geben oder wahrscheinlich

Mira

geht auch Polars, da sind wir jetzt gerade dran,

Mira

aber ja, und man kann

Mira

dann diese Prognosen in Pandas

Mira

auf diese Art und Weise parallelisieren und es war

Mira

einfach so schön und

Mira

so geil, weil es einfach so viel schneller

Mira

geworden ist und ich habe mich

Mira

sehr wie eine Heldin gefühlt.

Dominik

Ja, so ein Erfolgstor ist immer schön, ja.

Dominik

Dann komme ich auch direkt zu meiner

Dominik

Erfolgstor, ich hatte nämlich auch so einen

Dominik

Moment, ich habe nämlich Hinnicks neues Video gesehen

Dominik

und das ist

Dominik

Rustlove, also ich habe Just-Files für mich

Dominik

entdeckt, die hatte ich vorher

Dominik

nicht so auf dem Schirm, das ist so ein bisschen

Dominik

was ähnliches wie eine Make-File, nur dass man

Dominik

halt in einer Just-File, das ist auch ein Rust

Dominik

geschriebenes Tool, definiert, wie

Dominik

so die Projekt-Kommandos eigentlich

Dominik

alle sind und dann kann man

Dominik

das diesen wundervoll mit Variablen und so,

Dominik

es funktioniert toll, Hinnicks Video dazu zu

Dominik

gucken, glaube ich, ist sehr hilfreich und ich habe

Dominik

alles umgestellt bei mir, ich benutze fast meine Commands

Dominik

nicht mehr, also meine Commands-File noch ein bisschen selten,

Dominik

sondern einfach nur Just, Just Run

Dominik

und der Server läuft oder

Dominik

Just Run und der Server läuft oder

Dominik

Just Connect für Dev-Server oder

Dominik

sowas oder für auch Prod-Server,

Dominik

dann kann ich sagen Just Connect Production und

Dominik

dann noch den Pod-Namen oder sowas, falls ich öffnen

Dominik

Kubernetes muss oder ich kann sagen Just Lint

Dominik

oder Just Test

Dominik

und so, es ist toll, ich liebe es.

Mira

Das ist ja auch echt

Mira

eine gute Entscheidung für den Namen,

Mira

also richtig schlau, oder?

Dominik

Ja, voll gut, finde ich auch, deswegen Just Love.

Jochen

Okay, ja, ja, ich habe

Jochen

ja auch tatsächlich, nachdem ich das

Jochen

Video von Hinnicks gesehen habe, habe ich mir auch gedacht, so,

Jochen

vielleicht muss ich das auch mal ausprobieren,

Jochen

ja, ich,

Dominik

ich meine, das ist toll,

Dominik

du kannst auch nach dem Just Build und du, der macht mit

Dominik

UV, macht dein Direkt-Paket-Installation, Paket-Sync,

Dominik

du kannst Upgrade machen,

Dominik

alle Sachen mit den

Dominik

Kommandozeilen, die du sonst immer nutzt, reinschreiben

Dominik

und wenn du das über so eine Commands-File geregelt hättest oder sowas,

Dominik

musst du halt immer dann einen Subprozess spawnen

Dominik

und so, ah, ich weiß nicht, das

Dominik

war schon sehr schön. Ja, ne, was ich

Jochen

häufig mache in letzter Zeit ist halt einfach

Jochen

Entry Points im, weil

Jochen

meistens hat man ja ein Paket, das man installiert.

Jochen

Das würde ich jetzt nicht,

Jochen

das würde ich jetzt nicht so sehen. Ja, kommt drauf an,

Jochen

aber, also, ich habe das halt oft und dann kann ich

Jochen

halt auch irgendwie in PyProject

Jochen

halt unter Scripts halt

Jochen

andere Entry Points definieren und da habe ich halt Funktionen,

Jochen

dann habe ich es jetzt nicht in der Command-File, sondern

Jochen

ich schreibe dann halt einfach Python, aber ja,

Jochen

es gibt natürlich Dinge, wo man nicht einfach Python

Jochen

schreiben kann, wenn man Datenbank hoch und runter fährt oder

Jochen

solche Sachen, ja klar, dann muss man irgendwie das

Dominik

Anlass machen. Also, das DB zum Beispiel ist das andere oder

Dominik

eine Katakombe, also, ne,

Dominik

Shell-Skripte da reinschreiben, wenn du willst,

Dominik

die dann Sachen hintereinander machen

Dominik

und so oder Tests machen oder

Dominik

oder

Dominik

gucken, du kannst Environment-Variablen da reinladen oder

Dominik

spezifisch, wenn das irgendwie passt und

Dominik

du hast gerade eine Sache gesagt,

Dominik

Pakete, also, du könntest ja auch einfach aus der PyProject

Dominik

das PyScript dann ausfüllen lassen und bei mir ist zum Beispiel

Dominik

so, dass die Dinge

Dominik

im Python und im anderen Verzeichnis liegen als

Dominik

das Projekt und die Dokumentation

Dominik

oder sowas und trotzdem, wenn ich

Dominik

das Just benutze, benutze es halt dann auch den

Dominik

Kontext, du kannst Work in Directory setzen. Toll.

Jochen

Mhm. Ja, okay.

Jochen

Also, ich muss mir vielleicht auch nochmal

Jochen

angucken. Ja, mach das.

Dominik

Tracking. Wie Sockzeit.

Dominik

Mhm. Geht nicht mehr weg. Okay.

Jochen

Naja. Äh, ja,

Jochen

genau, was, ich hab grad überlegt, was ich picken könnte,

Jochen

hab mir grad keine Gedanken gemacht, aber ich bin ja

Jochen

jetzt in letzter Zeit so ein bisschen besessen von,

Jochen

ähm, nur ein bisschen.

Jochen

Du bist besessen oder das

Jochen

bist du besessen? Ja,

Jochen

ich mach ganz, einfach

Jochen

Cloud-Code und Dinge mit,

Jochen

ähm, mit LLMs

Dominik

irgendwie programmieren und

Dominik

Das ist schon verrückt, also, ich weiß nicht, ob

Dominik

du das auch noch, Mira, aber, ähm, die Kosten sind halt

Dominik

krass und wir, wir nutzen jetzt halt Max.

Dominik

Ja. Das ist halt das Abo,

Dominik

wie teuer ist das, 200 Euro? Ja.

Dominik

Ja, gut, es gibt auch eins für 100, aber. Ja,

Dominik

okay, aber das ist halt das 20, normalerweise musst du halt 3000,

Dominik

4000 Euro Tokenkosten zahlen

Dominik

im Monat dafür. Ja,

Jochen

so, aber das, genau,

Jochen

das würde ich jetzt dann picken, es gibt da ein,

Jochen

äh, ein NPM-Paket,

Jochen

äh, CC-Usage, äh,

Jochen

äh, nennt sich das, äh, kann man per MPX zum Beispiel

Jochen

installieren und dann sagt einem das

Jochen

quasi, wie viel, für wie viel Geld

Jochen

man Tokens verbraucht hat und,

Jochen

ähm, damit kann man sich sehr schön rationalisieren,

Jochen

dass das gar nicht so viel ist, wenn man 200 Euro,

Jochen

200 Dollar im Monat zahlt.

Jochen

Weil, äh, ja.

Jochen

Ähm. Wie viel hast du diesen Monat?

Jochen

Auf dem Rechner hier, 2000 Dollar

Dominik

Tokens, ja. Okay. Und ich hab aber auch

Jochen

noch andere Rechner auf denen auch. Ja.

Dominik

Und das ist der 17. heute, glaube ich, ne?

Dominik

Ja. Ja.

Dominik

Ha. Die, die sind

Dominik

gefährlich, die Dinger, die machen uns alle obsolet.

Dominik

Wir werden sehen.

Dominik

Ah, das glaub ich nicht. Ach, ja. Man sitzt dann

Dominik

am Strand und nimmt dann sein Schirmchen und redet

Dominik

dann mit seinem, keine Ahnung, kleinen

Dominik

Roboter neben einem herläuft, der nebenbei noch unterhält,

Dominik

dass man weiterentwickelt und unterhält

Dominik

sich dann wie im Podcast. Da haben wir ja schon mal gut geübt jetzt.

Jochen

Also, ja, man muss so ein bisschen, bisschen

Jochen

vorsichtig sein, weil natürlich wird man halt irgendwie so

Jochen

ein bisschen zu so, man, man schreibt dann halt nur noch so Anforderungen

Jochen

hin und so versucht das genau zu spezifizieren

Jochen

und das, man, man befördert sich selbst

Jochen

zu so einer Art Projektmanager. Ja.

Jochen

Und dann macht man einen ganz anderen Job

Jochen

und da muss man so ein bisschen aufpassen, dass das, weil

Jochen

dann nachher, weil eigentlich,

Jochen

also ich mach das mit der Familie nur, weil es Spaß macht.

Jochen

Ja. Genau. Und,

Jochen

ja, wenn es keinen Spaß mehr macht, weil,

Jochen

ja, es ist halt, dann hat man sich irgendwie

Dominik

doch was mit Holz machen. Ja.

Mira

Mein Freund nutzt tatsächlich, also

Mira

für die privaten Projekte auch viel Cursor

Mira

und er sagt so, ja, das, worauf ich Bock

Mira

hab, das schreibe ich da trotzdem selbst.

Jochen

Ja, das ist auf jeden Fall eine Art Idee wahrscheinlich.

Mira

Und sonst ist er halt, ja, der Projektmanager,

Mira

der seinen

Mira

Julia quasi immer

Mira

mal gucken muss, was der macht.

Dominik

Ja, also bei mir hat auch Cursor jetzt raus, Adventure

Dominik

von E verkauft, aber Cursor ist raus, nur noch

Dominik

Code, also nur noch Kommandoteile und ich bin wie

Dominik

jetzt Code und das ist super.

Dominik

Das, also, kann ich nur empfehlen.

Dominik

Ist verrückt. Ja.

Dominik

Ist grad verrückt, ja.

Mira

Es macht also viel schneller und

Mira

dann mache ich so nervige Sachen ab.

Mira

Aber ja, man wird irgendwie mehr zum

Mira

Projektmanager, Projektmanagerin und

Mira

ich glaube, das Thema Kommunikation wird halt

Mira

immer noch wichtig bleiben.

Dominik

Ich hoffe ja, dass das Ding über meine Stimme hat und dann bessere

Dominik

Kommunikation mit den anderen Leuten.

Jochen

Das wäre, genau, das habe ich ja auch mal gehofft, ne,

Jochen

dass ich irgendwie, warum ich, genau,

Jochen

während meine

Jochen

Cloud-Jobs halt laufen, kann ich dann

Jochen

halbwegs mehr Zeit, um irgendwie Meetings mit

Jochen

Kollegen irgendwie da, irgendwie Pläne zu

Jochen

besprechen, so. Das sollte umgekehrt sein.

Jochen

Das sollte, ich will lieber programmieren

Jochen

und dann kann irgendwie, weiß ich nicht,

Jochen

so ein Avatar in so einem Meeting auftauchen und immer

Jochen

sagen, das ist eine super Idee, voll

Jochen

gut. Genauso machen wir das.

Dominik

Kann auch Kluge Dinge sagen, Jo.

Dominik

Du kannst das Training, kannst dann unsere Podcast-Folgen

Dominik

eingeben dann. Ja, ja, okay.

Jochen

Muss man, ja, ist

Jochen

einiges umgekrempelt. Ja, wir haben unbedingt, so könnten

Mira

wir, wir haben halt manche Leute, die hätten wirklich,

Mira

das Spannende ist zu erzählen, aber trauen sich nicht so richtig

Mira

im Podcast, kann ich verstehen, ist okay.

Mira

Aber wenn man dann die Stimme einfach nehmen könnte,

Mira

dann können sie einen Text schreiben und dann könnte man

Mira

den Podcast einfach generieren. Ja, das geht,

Mira

das geht. Also das kann man ja eigentlich auch schon.

Dominik

Also die neuen Modelle von Gemini dazu, die ich gehört habe,

Dominik

ich glaube, es gibt noch andere, die

Dominik

Wisp-LS ersetzen, das ist verrückt, wie gut

Dominik

die sind und wie natürlich die auf einmal klingen, ja,

Jochen

das ist schon crazy. Ja, also Stimme, LMLabs hat da super

Jochen

Modelle, aber fürs Generieren

Jochen

von Podcasts, Notebook-LLM,

Jochen

das, ja, da kann, da geht einiges.

Dominik

Das ist crazy, ja. Danke, Mira,

Dominik

dass du da warst. Ja, sehr gerne,

Jochen

hat Spaß gemacht. Also

Dominik

denk dran, Hörertreffen am 20.

Dominik

September.

Dominik

Ja, Hörertreffen.

Dominik

Ja.

Dominik

Und

Dominik

ja, kommt vorbei, hört uns, hallo at

Dominik

peißenpodcast.de, alles Feedback, alles und so weiter.

Dominik

Ja, vielen Dank, bis bald.

Mira

Alles klar. Und hört auch gerne meine

Mira

Datasign-Steepdive rein. Auf jeden Fall,

Dominik

große Empfehlung. Bis bald.

Dominik

Tschüss. Tschüss.