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.

Mira

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 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 drangehä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,

Mira

damit halt auch wirklich klar ist, was eigentlich gemeint ist.

Mira

so erinnert sich die Begriffe ein bisschen und ist natürlich

Mira

über die Zeit auch total viel dazugekommen,

Mira

Machine Learning, was ja

Mira

vor einigen Jahren eben noch nicht so

Mira

da war. Vor einigen Jahren haben wir noch

Mira

ganz viel mit R gemacht, am Anfang,

Mira

inzwischen ist eigentlich fast alles

Mira

in Python, bis auch so ein paar einzelne

Mira

Projekte, vor allem im Forschungsbereich,

Mira

da sind die Leute ein bisschen mehr mit R unterwegs.

Mira

Und ja, ich kann gerne

Mira

auch ganz kurz was über mein Unternehmen sagen,

Mira

wir sind eine Data Science Beratung,

Mira

haben also sehr viele wechselnde Projekte,

Mira

sind 17 Leute,

Mira

in Berlin. Das heißt,

Mira

zum Hörertreffen wird es dann wahrscheinlich auch

Mira

nichts für mich, weil es ein bisschen zu weit ist,

Mira

um mal kurz vorbeizukommen.

Dominik

Und die Deutsche Bahn hatte ich letztes Wochenende wieder von Berlin hierher.

Dominik

Das war wieder hervorragend.

Mira

Ja, sollte man sich einfach

Mira

ein paar gute Podcasts vorher mitnehmen.

Mira

Wir haben ja noch ein paar.

Dominik

Vielleicht habt ihr noch nicht alle gehört.

Mira

Ja, da kann man

Mira

dann schon noch ein bisschen länger Bahn fahren.

Mira

Ja, und

Mira

aktuell bin ich

Mira

witzigerweise, also ich habe

Mira

erst viel Data Science gemacht, bin dann immer mehr

Mira

auch in die Projektleitung gegangen und da

Mira

passt es dann ja auch wieder mit der Psychologie

Mira

und jetzt bin ich aber witzigerweise

Mira

so ein bisschen back to the roots, bin im

Mira

Kundenprojekt drin, so Body Leasing mäßig

Mira

dort mit im Team und

Mira

bin dann klassisch als Data Scientist im Team

Mira

drin und das macht mir auch ganz großen Spaß.

Mira

Wir haben teilweise länger

Mira

laufende Projekte, aber auch manchmal Einzelprojekte,

Mira

die nur ein paar Monate sind und das ist natürlich auch total spannend,

Mira

weil man dann sehr viel Abwechslung

Mira

hat und in verschiedene Themen

Mira

reinkommt und

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 noch immer zuhören bin,

Mira

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, 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,

Mira

dass man auch Dinge vorher sagt und dass man teilweise sogar Entscheidungen dann trifft,

Mira

entweder noch manuell oder sogar automatisiert auf Basis von Daten.

Mira

Oder anders gesagt, man will halt aus großen und oft komplexen Datensätzen Muster erkennen,

Mira

die man jetzt mit bloßem Auge überhaupt nicht erkennen könnte, nur erkennt, wenn man eine Analyse macht.

Dominik

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

Mira

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

Dominik

Ja, klar.

Mira

Man sagt ja auch oft, man braucht so drei Bereiche. Das eine ist die fachliche Expertise.

Mira

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

Also manche sind mehr mit Bilddaten unterwegs, mit Text, mit tabularen Daten.

Mira

Da bin ich vor allem unterwegs.

Mira

Und das Dritte ist, dass man natürlich auch Coding-Kenntnisse braucht.

Mira

Also das, was aus der Informatik kommt, 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 Statistiken und Maschinen bin

Mira

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, 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 in neue Themen reinfinden, trotzdem brauchen wir in einem neuen Projekt natürlich ganz viel Kommunikation mit unseren KundInnen, die uns auch ihre Fachexpertise dann mitgeben, wenn 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. Ich bin aber mehr im Data Science-Bereich unterwegs. Und wir haben eben ja auch zunehmend das Thema Body Leasing. Das war früher irgendwie kaum, weil früher hatten viele Unternehmen auch selbst keine Data Science-Abteilung.

Mira

Und da gab es eine Zeit, da waren die halt alle irgendwie ganz verzweifelt und waren dann total froh, dass es jemand für sie macht. Und inzwischen ist es eher so, dass die Unternehmen, die groß sind und die überhaupt von der Kultur her in Richtung datenbasiertes Unternehmen gehen, 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? Habt ihr da viel mit sophisticated Methoden noch zu tun, die ihr jetzt aus der Uni oder so noch kennt? Oder ist das meistens dann schon einfaches Zeugs, weil einfach die Datenprobleme andere sind, als jetzt gute Methoden auszusuchen?

Mira

Es ist tatsächlich oft ziemlich anspruchsvoll. Ich glaube, das sind aber auch so die Projekte, die wir uns rauspicken oder für die wir dann auch weiter empfohlen werden. 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 Statistical Code auch ganz schön Spaß.

Mira

Manchmal sind die Sachen halt noch ein bisschen simpler, 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? Du hast gesagt, du hast Psychologie studiert und dann fandst du Statistik spannend. Ich habe vorher auch Wirtschaftslehre studiert und da fand ich auch Statistik eigentlich spannend. Es hat bei mir noch ein bisschen Umweg gebraucht, aber ich glaube auch da hätte man direkt den Weg Richtung Data Science finden können.

Mira

Ja, auf jeden Fall. Also das ist auch so ein typischer Hintergrund. Ich habe ja in dem Statistikmaß, da waren viele, die vorher Mathe gemacht haben, aber auch viele mit ganz anderen Hintergründen, viel Wirtschaftswissenschaften. Ich habe auch KollegInnen mit Soziologie-Hintergrund oder Physik. Ich glaube, das ist sogar so ein bisschen ein Klassiker, dass die Physiker sich irgendwie dann in die Statistik- und Machine Learning-Welt verirren.

Mira

Und wir haben noch gar nicht so lang, haben wir auch jemanden mit Informatik-Hintergrund. Das klingt irgendwie witzig, aber tatsächlich habe ich vorher 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

Und ich glaube, es ist aber ein bisschen schwieriger geworden, quer einzusteigen, weil es inzwischen ja sehr viele tatsächlich Data Science Studiengänge gibt oder Informatik mit ganz starkem Machine Learning Schwerpunkt.

Mira

Und wenn man dann sagt, ja, ich habe BWL studiert und ich finde Statistik gut und habe ein paar Kurse gemacht, 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

Ja, aber 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. 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. Das habe ich auf jeden Fall, auf jeden Fall in den Data Science Projekten, in denen ich so unterwegs war, halt auch irgendwie immer wieder gesehen, dass halt oft die Leute, also ich weiß nicht, wie das bei euch ist, ob ihr, weil normalerweise Softwareentwicklungsgeschichten, die ich so mache,

Jochen

Da habe ich dann halt eben mit Abteilungen

Jochen

zu tun, die halt irgendwie Softwareentwicklung machen

Jochen

oder so, aber bei den Data Science-Geschichten

Jochen

ist es immer sowas wie Business Intelligence

Jochen

oder so. Und das sind andere Leute,

Jochen

das sind ein bisschen so, die sind so ähnlich,

Jochen

also das sind oft irgendwie Leute, die was Naturwissenschaftliches

Jochen

studiert haben oder so, dann da promoviert haben.

Jochen

Genau, ganz oft

Jochen

aus der Ecke eher.

Jochen

Und die eher so, ja,

Jochen

Analysten

Jochen

Dinge tun, oft viel

Jochen

SQL schreiben und so.

Jochen

Und das ist irgendwie ein bisschen anders

Jochen

als bei den Softwareentwicklern.

Jochen

Und die haben auch meistens oft so ein bisschen so,

Jochen

ja, Produkte entwickeln oder so,

Jochen

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

Jochen

zwischen Softwareentwicklung und eben in diesem ganzen...

Dominik

Und da wolltest du ja auch noch mal was zu sagen,

Dominik

wie du das so findest,

Dominik

mit so Softwareentwicklern zusammenzuarbeiten.

Mira

Aber vielleicht noch erst dazu,

Mira

ich glaube, wir sind da irgendwie so dazwischen,

Mira

weil wir eben ja schon Datenprodukte bauen wollen.

Mira

Also es gibt auch mal ein POC oder irgendwie so eine einzelne Analyse,

Mira

wo wir dann sagen, so und das sind die Ergebnisse

Mira

und hier sind die Zusammenhänge, aber normalerweise

Mira

sind das dann schon, also

Mira

schreiben wir auch Software,

Mira

aber wir schreiben Software, die was mit Daten macht.

Mira

Also dann

Mira

sind zwei Sachen zusammen

Mira

und BI-Abteilungen

Mira

sind, glaube ich, auch noch mal mehr,

Mira

ja, die sind halt besonders gut darin,

Mira

dann auch ganz viel visuell

Mira

zu analysieren und fokussieren

Mira

sich sehr stark darauf.

Mira

Und ich glaube, die sind auch noch mal so ein bisschen,

Mira

vielleicht noch ein bisschen weniger nerdig,

Mira

hätte ich jetzt so gedacht.

Mira

so Mitte.

Dominik

Das klingt, als wäre es kein Kompliment.

Jochen

Ich weiß nicht, ich dachte eben, ne.

Jochen

Das ist das, ohne Wertung zu sagen.

Jochen

Oh, ja.

Mira

Ja, aber, was du eben

Mira

gefragt hattest, so,

Mira

das ist auch jetzt ganz spannend, ich bin jetzt im

Mira

Team, wo eigentlich relativ klar

Mira

zugeordnet ist, wer ist Data Scientist und wer

Mira

ist Software Engineer

Mira

und natürlich arbeiten wir alle an dem

Mira

Code, aber

Mira

es gibt

Mira

irgendwie so ein paar Klischees oder so Dinge,

Mira

die man vielleicht beobachtet, wenn

Mira

jemand, der vor allem einen

Mira

Softwareentwicklungshintergrund hat, jetzt zum ersten

Mira

Mal versucht, Daten zu analysieren

Mira

und Data Science zu machen.

Mira

Wir haben auch mal ein Projekt übernommen, wo

Mira

wir entsprechenden Code

Mira

dann, tatsächlich sollte man ja refactoren

Mira

und wir haben auch viel refactored, aber da haben wir

Mira

einen Teil wirklich neu geschrieben.

Mira

Und

Mira

das, also

Mira

am Coding-Stil hat man schon gesehen, dass der einfach

Mira

gar nicht wusste, dass man mit Datensätzen

Mira

Sachen machen kann. Der hat halt immer ganz

Mira

viel gedubt über Zeilen und Spalten

Mira

und so, weil er halt einfach diese ganzen

Mira

Sachen nicht kannte, die man mit Datensätzen

Mira

machen kann, vor allem mit Pandas.

Mira

Und was sonst auch, wenn man zusammenarbeitet

Mira

halt oft passiert, ist,

Mira

dass jemand, der nicht viel mit Daten gearbeitet

Mira

hat, die Ergebnisse halt so nimmt, wie sie

Mira

sind und da irgendwie ganz unkritisch ist

Mira

und gar nicht sieht, wenn

Mira

irgendwelche Zahlen ganz komisch aussehen.

Mira

Und manchmal ist ja vielleicht

Mira

der Code gar nicht falsch, aber

Mira

irgendwo ein Denkfehler drin, also der Code

Mira

macht, was er soll, nur das, was er soll, ist halt vielleicht

Mira

gar nicht so korrekt oder man hat

Mira

ein Missverständnis zu den Daten, man hat

Mira

irgendeine Annahme, aber in Wirklichkeit

Mira

ist es ein bisschen anders

Mira

und das ist was, was

Mira

dann, glaube ich, schwer fällt, also ich glaube,

Mira

das fällt einem als Data Scientist auch schon

Mira

manchmal schwer, so richtig dieses

Mira

Business Understanding aufzubauen,

Mira

aber ja, also

Mira

wenn man so reine Softwareentwicklung macht, ist es, glaube ich,

Mira

nochmal schwieriger, in den Daten drin zu sein

Mira

und die zu interpretieren und zu sagen, Moment mal,

Mira

also die Kurve sieht auch echt komisch aus.

Mira

Aber also eigentlich mag ich es

Mira

total gerne, wenn das Team gemischt ist,

Mira

weil

Mira

auch nicht alle Data Scientists so richtig

Mira

auf guten Code achten. Also es ist

Mira

uns sehr wichtig und wenn jemand

Mira

halt noch nicht so gut programmieren kann

Mira

und aus dem Stream kommt und bald einsteigt, dann ist

Mira

das das, was die Person dann lernt, so wie ich damals.

Mira

Aber ich glaube, das ist auch nicht überall so

Mira

verbreitet, weil manche haben dann eher einen Schwerpunkt auf

Mira

so Datenanalysen, sind viel Notebooks unterwegs

Mira

und wenn sie dann fertig sind, dann wird das Notebook

Mira

in irgendeinen Job eingebunden und das ist

Mira

dann die Automatisierung und das

Mira

kann manchmal funktionieren, aber oft ist

Mira

es auch ziemlich wackelig.

Jochen

Ja,

Jochen

interessant. Also da ist auf jeden Fall

Jochen

oft so ein bisschen

Jochen

ein Graben zwischen den

Jochen

Welten. Also wenn ich

Dominik

das immer sehe, was so Data Scientists schreiben,

Dominik

dann stag ich immer die Hände über dem Kopf.

Dominik

Es gibt natürlich Unterschiede,

Dominik

aber das ist immer so im Vergleich eher

Dominik

anders

Dominik

als ich das machen würde wahrscheinlich.

Dominik

Also man schreibt als Data Science oft so die ganzen Prozesse

Dominik

untereinander und muss erst mal lernen,

Dominik

die Methoden zu definieren und so, ja.

Mira

Und warum soll man denn, also wenn man

Mira

das nur einmal macht, warum soll man denn eine Funktion schreiben?

Mira

Und man kann es ja Zeit für Zeit ausführen

Mira

und die Funktion braucht man ja nur, wenn man

Mira

zweimal dasselbe macht.

Mira

So ist dann, glaube ich, manchmal die Denkweise, wenn man

Mira

eben mehr aus der Analyse kommt

Mira

und da so quer einsteigt.

Mira

Ich finde das immer einfach, wenn Leute schon promoviert

Mira

haben und das ist, die haben

Mira

total krasse Sachen gemacht, aber können dann halt

Mira

auch keinen guten Code schreiben, weil es für die

Mira

Doktorarbeit eben ganz andere Anforderungen hat.

Jochen

Ja, da ist auch oft, also

Jochen

gerade Physiker, die sind

Jochen

da ja oft eher so verdorben, die haben dann irgendwie

Jochen

Vortragen geschrieben oder sowas.

Jochen

Oder C++, ist auch nicht

Jochen

viel besser. Und dann, ja genau,

Jochen

bringen sie da so schlechte Gewohnheiten mit.

Jochen

Das ist natürlich ja oft

Jochen

irgendwie so ein bisschen, ja, aber

Jochen

ja, ja. Aber das ist auch so ein bisschen, man lernt

Jochen

das ja auch nirgendwo, außer wenn man jetzt irgendwie

Jochen

quasi bei einer Firma anfängt, die das halt

Jochen

auch irgendwie täglich macht oder so. Bei den meisten

Jochen

Firmen gibt es ja da gar keine Kultur und

Jochen

ja, also es ist irgendwie

Jochen

ja, es ist irgendwie, also dieses

Jochen

Handwerkszeug ist ein Problem oft, das denke

Dominik

ich auch. Was nervt dich denn an Leuten, die

Dominik

Softwareentwicklung gemacht haben und jetzt Data Scientist

Jochen

sind? Ja, das ist auch interessant.

Mira

Also ja, also die Sachen, die ich gerade

Mira

genannt habe, also es ist oft so,

Mira

die Ergebnisse so unkritisch beurteilt werden,

Mira

dass man eigentlich nur guckt, ob der Code richtig

Mira

läuft und das

Mira

macht, was man implementieren wollte.

Mira

Und dass eben, ja, man dann nicht unbedingt erkennt, dass die Ergebnisse eigentlich unplausibel sind, zum Beispiel, dass das Modell viel zu gut ist 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, dass die Höhe dann 245 im Minus ist. Und wenn man das dann einfach so übernimmt und daran glaubt.

Mira

Ja, genau. Das ist natürlich ein gutes Beispiel. Und manchmal habe ich auch den Eindruck, dass dann wiederum, wenn man sehr stolz auf seine Software-Entwicklungskills ist, dass dann auch unnötig komplizierte Patterns auf irgendwelche Sachen geworfen werden und das dann auch wieder so pragmatisch ist und sehr schwer wartbar.

Jochen

Ja klar, weil die Leute, die das dann letztlich irgendwie ja benutzen müssen, müssen das ja auch lesen und verstehen können und so. Und wenn man dann irgendwas in einem Elfenbeinturm baut, dann war das vielleicht auch einfach am Ziel vorbei.

Dominik

Wenn man auch neue Pattern gelernt hat, muss man die auch erstmal überall anwenden, ja.

Dominik

Ja klar, das sollte ich auch machen.

Mira

Ja, aber grundsätzlich macht mir das eigentlich total Spaß, mit Mitarbeiterentwicklern zusammenzuarbeiten.

Dominik

Du hast gesagt, er visualisiert Sachen zwar nicht so oft, nicht so gerne, aber er macht das. Wie denn? Also ich kenne irgendwie so eine coole Seite, die wollte ich irgendwie nochmal senden, das ist irgendwie datatowiss.com oder sowas. Die benutze ich immer, wenn ich nicht weiß.

Mira

Das sagen sie so gerne.

Mira

Aber man macht es sich die ganze Zeit.

Mira

Aber es ist an verschiedenen Stellen eigentlich total wichtig.

Mira

Also zuerst mal, wenn man die Daten reinbekommt,

Mira

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

Mira

Aber ich kann da, da wollen wir zwar noch drüber sprechen,

Mira

aber ich kann da gerne mal vorgreifen.

Mira

Also wenn die Daten reinkommen und man gucken will,

Mira

ob die sinnvoll sind, wenn man die Daten kennenlernen will,

Mira

Zusammenhänge prüfen und so,

Mira

dann ist natürlich Visualisierung einfach das Allerbeste.

Mira

Klar ist auch ganz nett, so Mittelwerte und Ausgleichsabmessungen

Mira

Minimum zu sich anzugucken.

Mira

Zum Beispiel, ob der kleinste Kirchturm auch wirklich

Mira

größer als 0 Meter ist. Aber es macht natürlich

Mira

auch total Sinn, sich da die Verteilung mal zu

Mira

plotten und Zusammenhänge. Und das sind auch die Sachen,

Mira

die wir dann oft mit unseren Kunden wiederum anschauen

Mira

und sagen, guck mal hier, die Verteilung, macht die Sinn?

Mira

Und merken dann vielleicht, dass

Mira

da irgendwas in den Daten unsauber ist, was

Mira

halt oft vorkommt, womit man dann aber

Mira

irgendwie umgehen muss. Und

Mira

natürlich auch dann später, wenn wir

Mira

zum Beispiel ein Modell gebaut haben und

Mira

die Ergebnisse untersuchen wollen, wie

Mira

sind unsere Prognosen verteilt, welche

Mira

Zusammenhänge hat das Modell gefunden, auch da

Mira

ist dann natürlich die Visualisierung total

Mira

wichtig 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,

Mira

es ist irgendwie ganz witzig,

Mira

weil ich in

Mira

Python noch nie so richtig,

Mira

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

Mira

wir haben früher sehr viel

Mira

als doch, da waren auch weniger

Mira

mit Dashboards und so weiter, da war es auch noch so, dass wir

Mira

so einen Datendump bekommen haben und haben damit dann was

Mira

gemacht und da waren wir noch in R unterwegs und haben

Mira

für ggplot2 benutzt

Mira

und

Mira

inzwischen sind wir dann meistens

Mira

in einem Dashboard-System

Mira

unterwegs, das halt beim Kunden

Mira

einfach genutzt wird, sodass wir dann

Mira

in dem Tool, was der

Mira

benutzt, das implementieren,

Mira

weil das jetzt in AWS oder Azure oder was

Mira

auch immer nutzen und wir machen dann da

Mira

das, was da in dem System gewünscht ist.

Mira

Wir haben auch

Mira

ein paar Dashboards mal gebaut in

Mira

ähm, wie heißt das denn jetzt noch?

Mira

Ich hab den Namen lange vergessen.

Mira

Not Lead Dash oder Detail.

Mira

ReDash, genau. ReDash ist ein Open Source

Mira

Tool. Das

Mira

benutzen wir dann auch ganz gerne. Da kann man

Mira

dann auch gerade praktischerweise noch Alarme dazu

Mira

definieren, um seine Daten zu überwachen.

Mira

Das nutzen wir auch sehr gerne.

Dominik

Okay.

Dominik

Und wie läuft denn so ein

Dominik

Prozess bei euch ab? Ihr habt jetzt irgendwie

Dominik

Daten, ich glaube, du wolltest auch nochmal drauf eingehen.

Dominik

Ja, gerne. Und so einen Auftrag und dann?

Mira

Also klar, manchmal

Mira

steigen wir auch mittendrin ein, aber ich fange jetzt

Mira

trotzdem mal vorne an, oft sind wir auch vorne

Mira

dabei. Das ist jetzt vor allem aus meiner

Mira

Sicht als Beraterin, das fühlt sich natürlich ein bisschen

Mira

anders an, wenn man im Unternehmen als Data Science

Mira

die ganze Zeit ist, aber für mich als

Mira

Beraterin sind das so

Mira

ja eigentlich so sieben Schritte. Erstmal

Mira

das Problemverständnis, dann die

Mira

Daten einzusammeln

Mira

und zu verstehen, dann Datenaufbereitung,

Mira

dann kommt die Modellierung. Man merkt schon, es ist nur

Mira

ein Schritt, diese Modellierung. 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

Mira

ja auch noch eine Automatisierung und

Mira

Monitoring und Wartung, wobei die letzten

Mira

zwei Schritte natürlich vom Aufwand her nochmal

Mira

einen sehr, sehr großen Teil einnehmen.

Mira

Das ist auch jetzt angelehnt

Mira

an den CRISP-DM, wenn man das

Mira

was sagt. Das ist der Cross-Industry

Mira

Standard Process for Data Mining.

Mira

Data Mining klingt so ein bisschen angestaubt.

Mira

Aber man könnte es halt einfach Datenprojekte nennen.

Mira

Und ja, am Anfang ist es bei uns dann tatsächlich auch so, dass KundInnen zu uns kommen und schon was haben, was sie brauchen.

Mira

Das geht dann auch in die richtige Richtung.

Mira

Manchmal macht es aber trotzdem Sinn, sich das nochmal genauer anzuschauen und zu verstehen, warum sie das brauchen und was sie wirklich brauchen.

Mira

Und vielleicht ist es dann doch so ein bisschen anders.

Mira

Und ich meine, 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 es meistens dann schon eher so,

Mira

dass da schon Ideen da sind.

Mira

Wir aber das auch alles nochmal so ein bisschen challengen

Mira

und einen Kick-Off haben, wo wir mit dem Kunden sprechen,

Mira

um das Geschäftsmodell zu verstehen,

Mira

um genau zu verstehen, wer das eigentlich nutzen wird, was die genau machen wollen.

Mira

Es ist natürlich total wichtig, dass wir eben prüfen, was brauchen die wirklich genau

Mira

und brauchen die zum Beispiel vielleicht was in Echtzeit, dann ist es natürlich ganz anders,

Mira

als wenn das ausreicht, dass man jeden Morgen einmal aktuelle Werte berechnet.

Mira

Und wer sitzt da und wo benutzen die das genau?

Mira

Ist das irgendwo an einem Counter oder ist es am Telefon oder ist es irgendwo, wo es kein gutes Internet gibt und so.

Mira

Und all das muss man natürlich wissen, um auch rauszufinden, was die brauchen.

Mira

Und dann ist der nächste Schritt, 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 und den sollte man sich unterschätzen.

Dominik

Besorgt ihr die dann auch?

Dominik

Also baut ihr irgendwo neue Sensoren ein oder sowas

Dominik

und kümmert euch darum, dass sie in irgendwelchen Datenbanken landen,

Dominik

die ihr dann zur Auswertung mit benutzt?

Dominik

Oder geht ihr davon aus, dass das Business alles mit besorgt?

Mira

Es ist normalerweise so, 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 nicht so, dass sie sagen,

Mira

wir wollen hier dieses super komplexe Modell,

Mira

aber wir haben noch gar keine Daten, wir müssen die erstmal sammeln.

Mira

Normalerweise sind die da schon relativ weit oben

Mira

auf der datenreifen Skala.

Mira

Und selbst wenn nicht, sind die Daten meistens schon da,

Mira

weil ganz viele Daten ja einfach automatisch mitgesammelt werden.

Mira

Zum Beispiel im Online-Shop 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, 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

Vielleicht ist mal ein richtiges Data Warehouse da

Mira

oder man kann die nochmal zusammenführen.

Mira

dann ist es noch ein weiterer Bit, bis wir da tatsächlich loslegen können.

Dominik

Wie würdest du denn so ein neues Unternehmen strukturieren,

Dominik

wenn du darauf achten würdest, dass du ordentliche Daten irgendwann brauchst?

Dominik

Würdest du direkt hingehen und das alles vom Scratch implementieren,

Dominik

mit dem, was du am besten hältst,

Dominik

oder würdest du das erstmal egal, das wachsen lassen und dann irgendwie zusammenflanschen?

Mira

Also ich glaube, das kommt darauf an, wie sehr das Geschäftsmodell von Daten abhängt.

Mira

Also wenn das ein Unternehmen ist, das irgendwelche Gegenstände produziert,

Mira

dann denke ich, ist es nicht ganz so wichtig, dass man ganz viele Daten sammelt.

Mira

Da kann man sich erst mal darauf konzentrieren und dann nach und nach einsteigen.

Mira

Aber es gibt ja auch Geschäftsmodelle, die eigentlich nur so gut funktionieren,

Mira

weil mit Daten gearbeitet wird und dann muss es wahrscheinlich von Anfang an auch berücksichtigt werden.

Mira

Ich habe ja noch nie ein Unternehmen gegründet.

Mira

Ich bin ja geschickt erst eingestiegen, als das Unternehmen schon da war.

Mira

Aber ich vermute, wenn man sowas wie Amazon oder so,

Mira

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, also wer schon mal mit Pandas

Mira

und größeren 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 ganz, das ist natürlich toll, weil es ganz verteilt ist.

Mira

Wobei es nicht unbedingt schnell ist, aber es kann halt eben mit großen Datensätzen umgehen.

Mira

Und man hat erstmal dieses Arbeitsspeicherproblem gelöst, was man eben mit Pandas irgendwann eigentlich gar nicht mehr lösen kann.

Mira

Und dann gibt es jetzt natürlich noch seit...

Jochen

Aber ich meine, eine Erfahrung, die ich oft mache, ist, dass man die, bei vielen so kategorialen Variablen oder so,

Jochen

die kann man dann halt auf irgendwie ein kleineres,

Jochen

äh, einen kleineren Datentyp irgendwie

Jochen

runter, äh, komprimieren oder

Jochen

halt oft hat man dann halt

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.

Jochen

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 wird es irgendwie schwierig

Mira

und dann ist das Verteidige schon gut.

Mira

Und dann gibt es halt noch Polars,

Mira

womit man dann auch oft schneller ist

Mira

und halt auch weniger Arbeitsspeicher braucht.

Dominik

Also wenn du das nicht kennst,

Dominik

Polars ist ein Rust-nachgeschrieben-Tag-gleichen-API,

Dominik

so ein bisschen wie Pandas.

Jochen

Ja, es hat eine sehr viel saubere, also kleinere,

Jochen

es hat weniger Funktionen,

Jochen

aber es ist halt auch ein bisschen konsistenter,

Jochen

weil Pandas ist halt auch irgendwie sehr stark

Jochen

so historisch gewachsen

Jochen

und man wusste noch nicht genau, wo man hin will und dann

Jochen

teilweise inkonsistent und ja.

Jochen

Ja, Pandas

Jochen

ist halt, ja. Wie das halt so ist.

Jochen

Genau, wie das halt so ist.

Mira

Ich habe noch gar nicht so viel mit Polars gearbeitet.

Mira

Ich weiß gar nicht, ob die eigentlich schon

Mira

das Ziel haben, da die meisten Funktionen

Mira

aus Pandas auch zu implementieren

Mira

oder ob die vielleicht sogar sagen, es soll schlanker bleiben.

Jochen

Genau, ich meine,

Jochen

absichtlich wollen sie nicht komplett

Jochen

irgendwie alles machen, was Pandas

Jochen

halt kann, sondern ja

Jochen

quasi bei den Basisgeschichten so

Jochen

schnell sein, dass man halt daraus alles

Jochen

bauen kann, aber dann halt nicht so

Jochen

eine Spezialsyntax dafür hat.

Jochen

Benutzt ihr auch dann zwischendurch noch

Dominik

Pure NumPy oder?

Mira

Ja, immer mal so für kleine Sachen,

Mira

wo es gerade Sinn macht.

Mira

Oft ist man

Mira

mit Datensätzen unterwegs und dann

Mira

passiert es halt meistens ein paar anders.

Dominik

Vielleicht hast du

Dominik

eben gesagt, man muss erst mal wissen, was ein Datensatz

Dominik

ist, bevor man jetzt drüber redet. Du meinst jetzt irgendwie,

Dominik

Du hast eine Maske auf, mit der du guckst oder was ist ein Datensatz in Pandas?

Mira

Ist das jetzt eine Wissensfrage?

Dominik

Ja doch, du müsst ja vielleicht schon erklären, wie das funktioniert.

Mira

Ja, um die Daten anzugucken, würde ich, na gut, es ist irgendwie schön, wenn man einmal so ein bisschen den Head anzeigt, also die ersten paar Zeilen und sieht, was da eigentlich so grundsätzlich, was das für Spalten sind, welche Namen die haben und welche Zahlen da so ungefähr drinstehen.

Mira

Und dann würde ich aber relativ schnell in eine deskriptive Analyse gehen und mir beispielsweise von jeder Spalte dann Summary Statistics, also Minimum, Maximum, Mittelwert, Median, vielleicht Quantile anschauen oder eben auch Verteilungen plotten, sodass man das sieht oder Kategorien anzeigen, je nachdem, was das so ist.

Mira

Sonst, ja, die ganze Tabelle, also man hat natürlich eine Tabelle als Pandas DataFrame, die könnte man theoretisch ja auch irgendwie als CSV speichern oder als Excel und da angucken. Das ist auch ganz praktisch, um sich die mal anzugucken, wenn die Daten klein genug sind.

Mira

Manchmal ist es sogar wirklich ganz nett, um mal einfache Analysen zu machen, zum Ausprobieren, um gespürt zu bekommen. Aber es ist dann eher so ein manueller Schritt und um wirklich Insights zu haben und die Daten zu verstehen, muss man dann, wenn der Datensatz groß genug ist, natürlich in die Summary-Statistics gehen.

Mira

Und es ist auch oft, also selbst wenn man jetzt nach dieser ersten Datenanalyse aufhören würde, ist es oft an sich schon ganz interessant und oft haben unsere KundInnen ja genau diese Analyse auch noch nicht gemacht und lernen dabei auch noch was Neues.

Mira

Einmal hatten wir aber sogar auch den Fall, dass wir, ja, dass sie dann gemerkt haben, dass da irgendwo ein Fehler im Data Warehouse ist und da war irgendwie so ein riesiger Strukturbruch, der da eigentlich gar nicht sein sollte und dann haben sie sich erstmal nochmal ein paar Monate zurückgezogen und haben das alles repariert und danach konnten wir das Projekt dann tatsächlich machen, aber das wussten sie vorher nicht und haben es dann gesehen durch unsere Datenvalidierung, dass da irgendwo ein Problem ist beim Zusammenführen.

Dominik

Ja, spannend. Also manchmal sagen sie mir das. Ich habe einmal den Fall gehabt, dann waren die ganze Zeit irgendwelche so Irregularitäten irgendwie in so einem Datenflur, die da gar nicht hingehörten. Man hat irgendwie was bewundert, was ist denn das? Und irgendwann ist jemand auf die Decke gekommen, ist dann zum Förderbank gegangen, hat in die Decke geguckt und da war oben ein Fenster auf. Und dann war dann die Temperatur immer anders, weil dann das Fenster aufgelassen worden ist und so. Das war spannend, ja.

Mira

Gut ist natürlich auch, wenn man dann sieht, ah ja, hier gehen die Sales hoch, da war unsere riesige Werbekampagne und das macht alles Sinn und das ist natürlich auch schön, wenn es einfach funktioniert und man das in den Daten sieht.

Jochen

Ja, auf jeden Fall.

Jochen

Was mich noch interessieren würde,

Jochen

wenn ihr tatsächlich so

Jochen

Produkte baut

Jochen

mit Modellen drin

Jochen

und so und die vielleicht

Jochen

Echtzeit irgendwas, wie begleitet ihr eigentlich

Jochen

eure Modelle dann

Jochen

oder habt ihr da Präferenzen oder

Jochen

weil das ist immer so ein bisschen,

Jochen

das machen Leute unterschiedlich und

Jochen

ich weiß nicht, ob es da jetzt irgendwie so

Jochen

ein Standardding gibt, was man machen kann, aber

Jochen

ja, das ist auf jeden Fall immer irgendwie

Jochen

nicht so ganz einfach gewesen.

Mira

Also grundsätzlich gilt da natürlich, wir machen das, was die Kunden wollen.

Mira

Ja, klar.

Mira

Aber tatsächlich, wir sind ja dann oft in der Infrastruktur von den Kunden unterwegs,

Mira

aber nicht immer, weil manche, zum Beispiel hatten wir ein Projekt,

Mira

da darf ich zum Glück auch drüber reden, darf man ja nicht bei jedem Kunden,

Mira

das war für die Berliner Senatsverwaltung, eine Luftschadstoffprognose,

Mira

also die läuft auch noch, aber das machen wir jetzt nur noch Wartung,

Mira

das ist soweit beschlossen.

Mira

Und die haben keine Vorgaben gemacht zur Infrastruktur,

Mira

die haben halt kein ABS oder Azure und da konnten wir es halt so machen,

Mira

wie wir wollten und ich gucke mir gerade

Mira

nebenbei in unseren Blogartikel

Mira

rein dazu, weil

Mira

da kann ich mich alles nochmal

Mira

wieder nachgucken, wie wir es gemacht haben.

Mira

Da haben wir,

Mira

konnten wir ganz

Mira

frei entscheiden, was wir haben wollen

Mira

und haben dann

Mira

mit Kubernetes

Mira

gearbeitet, das ist auch alles

Mira

schön selbst aufgesetzt und da laufen

Mira

dann automatisierte Jobs drin

Mira

und wir haben,

Mira

na gut, das ist jetzt weniger mit

Mira

Deployment zu tun haben. Wir haben da dann

Mira

eine Clickhouse-Datenbank, die ist ganz cool für

Mira

große Datenmengen und

Mira

haben dann

Mira

Docker-Container, in denen unsere Prozesse

Mira

dann laufen. Da haben wir auch

Mira

Releash benutzt, wie ich erwähnt habe. Das benutzen wir

Mira

dann auch für die Alerts, um zu gucken, sind

Mira

alle Input-Daten da, sind alle Prognosen

Mira

so erstellt worden, wie wir wollen, sind so viele

Mira

Prognosen in der Tabelle, wie wir erwarten

Mira

würden und so weiter.

Mira

Und in dem Projekt ist tatsächlich

Mira

nur, im Hintern haben wir Releash für die

Mira

Visualisierung benutzt, nach außen gehen,

Mira

die Daten tatsächlich, unsere Prognosen

Mira

gehen einfach über eine Rest-API raus

Mira

und werden dann im Tool

Mira

visualisiert, dass diese Natsverwaltung schon hatte

Mira

oder die API ist frei verfügbar,

Mira

könnte auch jeder abrufen, haben auch schon ein paar andere

Mira

dann mal gemacht. Genau, mit

Mira

Kubernetes ist es natürlich immer ganz schön, ansonsten

Mira

bei einigen

Mira

Kunden läuft dann viel mit den

Mira

Diensten von AWS. Jetzt bei dem

Mira

Kunden, wo ich bin, sind wir im

Mira

Azure-Universum, wobei

Mira

ich da mit dem Deployment nichts zu tun

Mira

habe, weil das machen dann halt andere.

Mira

Deshalb bin ich auch immer nur so am Rande

Mira

natürlich dabei, also kann irgendwie in die

Mira

Kubernetes-Codes mal reingucken, aber ich

Mira

kann die nicht,

Mira

kann das nicht aufsetzen oder

Mira

mache dann nicht die Deployments.

Jochen

Ja, was mich da mal, oder das Problem,

Jochen

das ich da mal hatte, ist halt,

Jochen

dass wenn jetzt Leute quasi in Notebooks

Jochen

irgendwas modellieren oder so, wie kriegen sie denn dann,

Jochen

wenn sie jetzt rauskriegen, ah, wenn ich dieses

Jochen

Modell so parametrisiere oder so,

Jochen

oder, ja, man hat dann normalerweise

Jochen

eine ganze Pipeline von Datenkomponenten,

Jochen

rein, dann werden sie irgendwie transformiert und

Jochen

dann hat man halt hinterher irgendwie

Jochen

Predictions oder so.

Jochen

Wie kriege ich das Ding denn jetzt

Jochen

quasi in das Produktionssystem

Jochen

integriert? Und das,

Jochen

was wir dann gemacht hatten, war halt

Jochen

quasi aus dem

Jochen

Notebook direkt

Jochen

sozusagen ein Konterpaket zu bauen,

Jochen

das hochzuladen, in Django

Jochen

Filefield zu speichern und dann auch über eine

Jochen

JSON-API dann die Ergebnisse wieder zurückzugeben.

Jochen

Aber das fühlte sich so ein bisschen

Jochen

falsch an oder so auf jeden Fall nach

Jochen

gibt es da nicht irgendeine einfache Möglichkeit, wie man

Jochen

das machen kann? Ich weiß nicht, ob es einfacher

Mira

ist, aber wir sind auch

Mira

ganz wenig eigentlich nur in Jupyter-Notebooks

Mira

unterwegs,

Mira

sondern ja, entweder, wenn

Mira

wir was schnell visualisieren wollen, geht das tatsächlich

Mira

ja mit so einem Tool wie Redash auch schneller, als wenn man

Mira

dann anfängt,

Mira

mal Plot-Lib-Code zu schreiben.

Mira

Dann ist Clicky-Bunty

Mira

manchmal gar nicht so blöd und schlecht,

Mira

wie es klingt.

Mira

Und dann, wenn wir dann die

Mira

Code-Free-Modellierung haben, 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

Mira

in den Main-Branch,

Mira

wenn die Versionsnummer 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

Mira

Repository 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.

Dominik

Ja, aber dann brauchen wir einfach runtergeladen

Dominik

auf den Pott. Ja, aber dann brauchen ja

Jochen

die Leute, die quasi modellieren, Zugriff

Jochen

auf das Produktionssystem

Jochen

quasi oder können halt,

Jochen

es muss halt dann, die müssen den Code verändern, die müssen

Jochen

committen können. Ja.

Mira

Also die committen von

Mira

morgens bis abends.

Mira

Also das ist tatsächlich

Mira

bei uns überhaupt nicht so, dass da irgendwie

Mira

jemand 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 hier 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

Mira

in Funktionen und Klassen verpackt. Das kann

Mira

schon sein, aber grundsätzlich

Mira

ist es halt

Mira

eine Software und

Mira

sind 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 API.

Dominik

Und wenn

Dominik

ihr 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

Ich verliere gerade. Also tatsächlich, im Kundenprojekt benutzen wir MLflow und ich weiß nicht, ob, also ich hatte das vorher tatsächlich noch nicht benutzt, wo wir die Objekte dann abgelegt. Ich glaube, es gibt, das ist ganz witzig, ja, es gibt tatsächlich, das war jetzt ein Projekt mit XGBoost, weiß ich nur, da haben wir, kann man die Projekte tatsächlich in Form eines Strings speichern und da haben wir die in der Datenbank gespeichert.

Mira

Das funktioniert ganz gut, man kann aber natürlich auch das Modellobjekt irgendwo in deinem Modellrepository dann ablegen.

Dominik

Also eigenes Modellrepo mit Branches oder irgendwie Tags oder sowas hier.

Mira

Ja, oder irgendwelche Tags muss man natürlich schon haben, damit man die dann nachher wieder identifizieren kann.

Mira

Also gut, wenn jetzt die Modellierung total schnell geht, dann kann man natürlich auch das Modell einmal im Monat neu berechnen.

Mira

Einmal im Tag neu berechnen, sofort die Prognosen machen und das Modellobjekt überhaupt nicht speichern.

Mira

Aber das ist, glaube ich, eher so ein seltener Fall.

Mira

Normalerweise muss man es ja schon speichern und wiederverwenden.

Mira

Also wir können uns auch gerne nochmal an dem Ablauf

Mira

ein bisschen weiter entlanghangeln.

Jochen

Ja, gerne.

Mira

Weil wir jetzt schon vorgegriffen haben.

Mira

Also wenn wir das Problem verstanden haben,

Mira

die Daten verstanden haben und die sehen soweit gut aus,

Mira

dass wir und unser Kunde gemeinsam sagen,

Mira

okay, damit können wir jetzt wirklich starten.

Mira

Da ist kein Problem drin.

Mira

Dann passiert natürlich erstmal ganz viel Datenaufbereitung

Mira

und Bereinigung.

Mira

Oft muss man verschiedene Datensätze zusammenführen.

Mira

Da haben wir dann natürlich vorher schon geprüft,

Mira

ob es auch eine gemeinsame ID gibt, um die zusammenzuführen.

Mira

Sonst wird es schwierig.

Mira

Oft muss man auch Sachen aggregieren.

Mira

Zum Beispiel hat man vielleicht einzelne Zeilen für jedes Produkt,

Mira

das gekauft wurde von einem Kunden.

Mira

Wir wollen aber eigentlich nur eine Zeile pro Kunde.

Mira

Da muss man sich was überlegen, wie man das voll aufaggregieren kann.

Mira

Manchmal macht man Transformationen oder berechnet eine neue Spalte aus anderen Spalten.

Mira

Also das, was man immer als Feature Engineering kennt.

Mira

Wir bauen also Features, die ja einfach sinnvolle Inhalte haben,

Mira

mit denen das Modell dann später gut umgehen kann.

Dominik

Macht ihr das dann immer live in Pandas

Dominik

oder schreibt ihr das auch in eine Datenbank rein?

Mira

Es kommt drauf an,

Mira

aber meistens haben wir dann schon eigentlich ein separates Modul,

Mira

das die Features berechnet und irgendwo hinschreibt,

Mira

weil das meistens dann einfach schöner ist,

Mira

das zu modularisieren, weil es sonst ein bisschen zu viel wird.

Mira

Was ist da eure Lieblingsdatenbank für?

Mira

Ich überlege gerade, wir waren früher

Mira

viel auf MariaDB unterwegs, jetzt sind

Mira

wir, ja,

Mira

viel in ClickHouse, also ClickHouse

Mira

teilweise verhält es sich unerwartet, finde ich.

Mira

Aber es ist halt

Mira

schon sehr cool mit großen Datenmengen,

Mira

da kannst du einfach die...

Mira

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 habe ich auch schon

Jochen

ein gutes Wort gehört.

Mira

Ja, also da haben wir am Anfang dieses Projekts überlegt, okay, machen wir das jetzt. Wir hatten einmal was damit ausprobiert und wir wussten, wenn es jetzt nicht gut funktioniert, dann müssen wir natürlich irgendwie auf eigene Kappe nochmal ein paar Tage investieren, um das umzustellen. Aber es war so eine gute Entscheidung, weil wir gemerkt haben, mit den Datenmengen würde in anderen Datenbanken überhaupt nicht gehen.

Mira

Ja, und wenn wir dann so Features haben und die stehen dann vielleicht auch in der Clickhouse-Datenbank oder vielleicht stehen sie auch in der Postgres- oder Redshift-Datenbank, dann geht es dann erst mit der Modellierung los und zum Glück haben die meisten Leute von uns auch Spaß an den anderen Sachen, weil wie gesagt, die Modellierung meistens wirklich nur ein kleiner Teil ist.

Mira

Man muss sich natürlich genau überlegen, was ist überhaupt das passende Modell. Im Moment, wenn man Prognosen machen will, ist immer noch G-Boost einfach sehr, sehr gut. Das ist ein bombasiertes Modell. Aber es kommen gerade Sachen, zum Beispiel gibt es da P-F-Enders.

Jochen

Ja, das klingt auch sehr interessant, ja.

Mira

Es ist ein Transformer-Modell und das ist irgendwie total verrückt, weil dieses Modell hat, also ich finde es immer noch total beeindruckend, es ist irgendwie so Magic, also das hat gelernt, wie Datensätze, wie die Zusammenhänge in Datensätzen normalerweise so sind.

Mira

Und dann gibt man dem nochmal so ähnlich wie so ein Feintuning den Datensatz, den man halt da selbst hat, der einen interessiert. Und dann kann man damit total gute Prognosen machen, auch wenn der Datensatz nicht besonders groß ist. Und das Verrückte ist, diese Datensätze, anhand derer das gelernt wird, das sind künstliche Daten. Also es sind nicht mal echte Daten, weil es ja gar nicht so viele im Netz verfügt.

Mira

weil es ja anders ist, wenn man ein Sprachmodell trainieren will,

Mira

das ganze Internet besteht aus Sprache.

Mira

Aber es funktioniert trotzdem, es ist richtig beeindruckend.

Mira

Also ich glaube, das ist sowas, was sich

Mira

gerade so anfühlt wie, okay, da passiert

Mira

jetzt wirklich mal wieder was Neues

Mira

in der Bereich-Prognose.

Jochen

Jaja, auch diese ganzen Pre-Trends,

Jochen

das gibt es ja im LLM-Bereich, gibt es das ja alles

Jochen

oder halt auch bei so Vision-

Jochen

Modellen, wo dann alles auf ImageNet

Jochen

oder so trainiert ist, aber bei tabularen Daten

Jochen

hätte ich jetzt überhaupt gar nicht gedacht, dass das überhaupt

Jochen

möglich ist oder dass das irgendwie,

Jochen

Und ja, das hat mich auch total gewundert.

Dominik

Ihr müsst ja vielleicht jetzt noch ein bisschen kurz noch mal erklären, bitte, so die Grundlagen.

Dominik

Ich glaube, das war ein bisschen komplex vielleicht für einen Einstieg.

Dominik

Also Tab-DFN hast du gesagt und XGBoost, also Gradient Boosting.

Mira

Ja, XGBoost ist ein Gradient Boosting und das ist halt eigentlich einfach dazu da,

Mira

um eine Tabelle von Daten zu nehmen und die Zusammenhänge zu lernen, die in diesen Daten vorkommen.

Mira

Zum Beispiel will ich vielleicht vorher sagen, wie viel verkauft wird an einem bestimmten Tag

Mira

Und in den Daten hätte ich zum Beispiel die Info, welcher Wochentag ist das eigentlich und ist dann vielleicht davor oder danach ein Feiertag und um welches Produkt geht es und so weiter. Wie ist das Wetter? Vielleicht verkaufe ich ja bei Hitze mehr Wassermelonen. Und das ist so der Klassiker, das würde man auch mit einer linearen Regression machen können. Die ist aber weniger flexibel und normalerweise dann auch weniger genau. Und XGBoost ist da halt deutlich komplexer.

Dominik

Und XGBoost macht das dann quasi über die Backpropagation-Mechanismen?

Dominik

Nee, das ist eine Art Decision Tree.

Jochen

Das ist eine grundsätzlich andere Art von Modell.

Mira

Das ist im Prinzip so eine Kombination aus ganz, ganz vielen

Mira

kleinen, nicht besonders schlauen Entscheidungsbäumen.

Mira

Aber dadurch, dass die alle hintereinander geschaltet werden,

Mira

ergänzen sie sich ja gut.

Mira

Und dann wird es am Ende auch ziemlich gut.

Mira

Und das heißt, über Jahre eigentlich für jedes typische

Mira

Predictive-Projekt

Mira

oder für jede Predictive-Fragestellung

Mira

war XGBoost. Es war schon fast langweilig.

Mira

Ja, es gibt da noch so ein paar Varianten.

Mira

Es gibt zum Beispiel Catboost, das es so ähnlich hat,

Mira

aber halt schon irgendwie ganz schlaue

Mira

Mechanismen implementiert, um mit

Mira

kategorialen Variablen umzugehen und manchmal

Mira

das eine oder das andere dann so ein bisschen besser oder performanter,

Mira

aber das ist kein Riesenunterschied.

Jochen

Da gab es ja nicht auch noch irgendwas für Microsoft Lightboost

Jochen

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

Jochen

Oder LightGBM, genau. Ich weiß gar nicht, was da rausgeworden ist.

Jochen

Ich habe nur irgendwann...

Mira

Benutzen wir auch gerade in dem Projekt.

Mira

Und ja, witzigerweise,

Mira

wir haben auch schon, gerade vor einem Jahr

Mira

oder so, haben wir gedacht, kann man eigentlich auch

Mira

LLMs zur Prognose benutzen? Ich möchte dem LLM ja

Mira

sagen, guck mal hier, das und das und das sind

Mira

meine Daten, was denkst du, wie

Mira

teuer ist dieser Gebrauchtwagen?

Mira

Und wir haben da einen Datensatz bekommen von

Mira

einem Unternehmen,

Mira

die genau solche

Mira

Daten eben aus dem Internet crawlen

Mira

und die, das

Mira

sagen wir natürlich so ein bisschen

Mira

Informationen mitgeben und das hat

Mira

aber schon funktioniert. Also wir haben da

Mira

ja, da weiß

Mira

ich jetzt die Details natürlich nicht alle auswendig,

Mira

aber wir haben sowohl mit

Mira

GPT-Modellen

Mira

als auch mit Open-Source-Modellen das ausprobiert.

Mira

Es macht schon Sinn, die zu freintunen

Mira

und dann kann man aber

Mira

relativ gut sagen, mein Auto oder

Mira

das Auto, das ist die Marke, das hat so

Mira

viele Kilometer, das ist so und so alt

Mira

und hier ist noch der Freitext mit der Beschreibung

Mira

dazu. Da steht dann

Mira

vielleicht irgendwas Spannendes drin,

Mira

wie das hat eine Beule, vielleicht steht aber auch nichts Spannendes

Mira

drin. Und dann fragt man, wie

Mira

teuer ist das Auto?

Mira

Bitte antworte mich nur in einer Zahl,

Mira

in Euro oder irgendwie sowas. Und das

Mira

funktioniert schon erstaunlich gut, vor allem, wenn man

Mira

nicht so viele Trainingsdaten hat. Weil ich glaube,

Mira

dann kann das halt die Stärke ausspielen, dass

Mira

das Sprachmodell eben

Mira

schon Vorwissen hat zu Autopreisen,

Mira

weil es das Internet kennt. Also Transformers

Dominik

meinst du jetzt tatsächlich, also die großen LLMs

Dominik

und nicht nur Transformers selbst? Genau. Weil ich hätte

Dominik

mich halt gefragt, ob das in dem Transformers-Modell

Dominik

durch das, weiß ich nicht, dadurch, dass es

Dominik

halt Nodes sind und Canisian Trees,

Dominik

dass es da irgendeine andere Art gibt,

Dominik

dass Daten aus den tabularischen Daten rausziehen.

Mira

Ja, das hier ist jetzt so,

Mira

dass die klassischen

Mira

LLMs, die man so kennt, und dann kam

Mira

eben jetzt dieses neue mit TabPFN,

Mira

das ist ein Transformer, das halt wie speziell

Mira

für tabulare Daten wieder gemacht ist, weil wir haben

Mira

ja die LLMs eigentlich so ein bisschen zweckentfremdet,

Mira

indem wir die dann da nach dieser Probe-Modul gesagt haben.

Dominik

Was meintest du denn da überhaupt mit Feintuning?

Dominik

Was habt ihr denn da gemacht?

Mira

Also ich weiß nicht, wie das eigentlich im Detail dort funktioniert, aber es ist so, dass das Modell ja eben schon ganz viel weiß von den Sprachdaten, die es aus dem Netz kennt und wir haben ihm dann nochmal, ja gut, das beschreibt es wahrscheinlich ab dann schon komplett, wir haben dem dann nochmal, wir haben einen Trainingsdatensatz, wir ganz viele Gebrauchtwagen schon drin haben mit dem Preis und den ganzen Eigenschaften.

Mira

Und dann haben wir ihm ganz viele Texte gegeben, zu jedem Auto ein Text. Das Auto ist so und so alt, sieht so und so aus, ist die Marke und es kostet das. Und das nächste Auto ist so und so und so und kostet das. Und das ist dann nochmal ein zusätzlicher Text und damit trainiert man das Modell nochmal spezifisch auf diesen einen Task.

Mira

Also wie das jetzt im Hintergrund genau passiert, kann ich tatsächlich euch gerade gar nicht erklären, weil ich in dem Thema weniger drin bin als in so etwas wie XGBoost. Aber ja, dadurch ist das Modell dann nochmal, kriegt nochmal so eine Spezialausbildung quasi für das Thema Auto-Gebrauchtwagenpreise. Und dann wird es nochmal besser, wenn man ihm dann so eine Frage später stellt.

Jochen

Ja, man trainiert es quasi nochmal ein Stückchen weiter, gibt es unterschiedliche Ansätze, wie man das dann macht, ob man nur Layer einfriert, bestimmte Gewichte halt nicht neu setzt und dann vielleicht nur die letzten irgendwie anpasst oder ob man so Low-Rank-Adaption-Geschichten macht oder da gibt es ganz unterschiedliche.

Dominik

Ich komme mir an die Gewichte gar nicht dran von den großen NLMs zum Beispiel.

Jochen

Nee, das kannst du auch nicht mit, das kannst du natürlich dann nur, also du kannst mit den OpenAI-Modellen und so auch machen über deren APIs, aber wenn du das auf einem quasi, wenn du das selber machen willst, dann musst du ein Modell nehmen, wo du Gewichte hast.

Jochen

Ja, genau, das natürlich.

Mira

Ich glaube, wir haben da beides

Mira

gemacht. Also einmal über OpenAI, da kann man einfach

Mira

über die Abdesign-Dienst mit Fine-Tuning-Datensatz

Mira

machen, aber auch mit

Mira

den Open-Source-Modellen,

Mira

wo wir dann nochmal ein Fine-Tuning

Mira

drangehängt haben, damit die eben speziell

Dominik

auf Autopreise...

Mira

Bei Tuning

Mira

und Autos fällt mir jetzt erst auf, dass das

Mira

echt total gut passt.

Dominik

Ja.

Dominik

Okay, das ist also Tab-DFN.

Dominik

Ja.

Mira

Wobei, das ist jetzt noch relativ

Mira

neu und da

Mira

ja nicht jede Woche neue Projekte losgehen,

Mira

sondern die meisten Projekte schon länger laufen,

Mira

sind die meisten Projekte, die wir haben,

Mira

dann auch mit sowas wie XGBoost oder teilweise

Mira

auch mit irgendwelchen ausgefeilten

Mira

statistischen Ansätzen

Mira

oder Kombinationen, je nachdem,

Dominik

was man macht. Ja, das finde ich dann spannend. Wie viel kann denn

Dominik

jemand, der richtig gute Statistik oder in klassischer

Dominik

Statistik ist, rausholen im Vergleich zu diesen

Dominik

ich beschieße das einfach mit so einem Modell?

Mira

Ich würde sagen, es

Mira

kommt auf die Fragestellung an. Bei so einem

Mira

relativ klassischen Tasks

Mira

wie

Mira

Verkaufszahlen geht es, glaube

Mira

ich, auch mit einem Modell

Mira

ganz gut,

Mira

wenn man es natürlich richtig macht und

Mira

zum Beispiel noch,

Mira

es gibt da ja eine Menge Hyperparameter, die

Mira

bestimmen, wie flexibel ist das Modell und

Mira

wenn man das Modell zu flexibel sein lässt, dann

Mira

lernst du auch die kleinsten

Mira

Wackler auf den Trainingsdaten und auf neuen Daten

Mira

erzählst du dann nur Mist.

Mira

Das heißt, dann hat man Overfitting

Mira

und das muss man verhindern. Es gibt natürlich schon

Mira

ein paar Sachen, die man falsch machen könnte,

Mira

aber wenn man da alles

Mira

nach State of the Art macht, kommt man bei so

Mira

einfachen Aufgaben mit einem XG Boost

Mira

meistens ziemlich weit, aber

Mira

ja, zum Beispiel

Mira

im Sportwettenbereich gibt es ja

Mira

manchmal dann wirklich komplizierte Sachen, also wenn

Mira

ich jetzt vorher sagen will, wie

Mira

die Tore sich verteilen,

Mira

dann

Mira

kommt man da dann schon nochmal weiter, wenn man wirklich

Mira

darüber nachdenkt, theoretisch, was ist denn das

Mira

jetzt eigentlich für eine Verteilung, das sind

Mira

Anzahlen, also es ist eine

Mira

Brosson-Verteilung, aber die ist ja irgendwie

Mira

bivariat, weil es sind ja zwei

Mira

Mannschaften und zwei Teams, die Tore

Mira

machen und da weiß ich, dass

Mira

meine Kolleginnen und Kollegen

Mira

sich schon einige ziemlich verrückte Sachen

Mira

ausgehört haben. Und dann umgekehrt, manchmal ist es am Ende

Mira

auch irgendwie doch nur eine einfache Heuristik,

Mira

die einen ziemlich weit bringt.

Dominik

Ihr habt also nicht die Ernährung der Spieler am Morgen

Dominik

zuvor mit einfließen lassen können in sowas?

Mira

Das weiß ich nicht, ich müsste mal fragen, ob sie das

Mira

in der Feature drin haben.

Dominik

Es gibt auf jeden Fall spannende Sachen.

Dominik

Ja, also ich würde mich halt tatsächlich interessieren, was man aus Statistik irgendwie daraus lernen kann, weil ich verstehe nicht genau, wie jetzt in so einem Transformers-Modell die einzelnen Gewichte bei den Neuronen zustande kommen, also ich stelle mir das so vor, der muss versuchen, diese Features rauszufinden und die irgendwie so linear unabhängig wie möglich voneinander zu gestalten, dass er irgendwie den Erklärungsgrad dann da rausfindet, der dann halt gut ist, damit er halt gute Prognosen hinkriegt, aber so richtig klar wird das nicht.

Jochen

Ja, neuronale Liste sind deutlich eher Blackbox, aber das ist Extribus auch. Natürlich, du kriegst bei beiden auch so ein bisschen raus, was da der Grund ist, warum das jetzt irgendwie so oder so entschieden oder vorhergesagt hat, aber es ist schon eher so Blackbox-Modelle.

Mira

Ja, man kann jetzt nachträglich dann.

Dominik

Also das wäre jetzt vielleicht für mich auch nochmal einer der Punkte, der für dieses Data Cleansing spricht. Ja, also wenn ich jetzt die Daten da einfach so reinkippe oder am Anfang schon so aufteile, dass ich jetzt Cluster bilde oder Kategorien bilde oder sowas und die halt nochmal damit annotiere oder so, ob das halt eine deutliche Verbesserung bringt, also weil die ein bisschen reiner sind vielleicht oder halt, ne, oder schon mal irgendwie die Daten wie eine Zusammenfassung oder eine Summe oder sowas da schon drin steht mit, ja, in irgendeiner extra Spalte, dass das dann halt das Ergebnis zum Beispiel nochmal deutlich verbessert.

Dominik

bessere Güte kriegt.

Dominik

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

Jochen

Ja, vielleicht.

Mira

Also zum Beispiel,

Mira

viele Modelle sind ja auch dazu in der Lage,

Mira

Interaktionen zu erkennen. Also beispielsweise,

Mira

weißt du,

Mira

vielleicht mal gerade

Mira

ein gutes Beispiel. Ah ja, vielleicht aus der

Mira

Luftschallstoff-Prognose überlege ich gerade

Mira

irgendwie was.

Mira

Ja, also mittags ist die

Mira

Luft schlechter, weil mehr Autos rumfahren,

Mira

aber nur, wenn wir keinen Wind haben. Wenn wir viel Wind

Mira

haben, wird nämlich wenig Schallstoff halt weggepustet.

Mira

Das ist halt die Interaktion, also die Effekt, mittags ist es schlechter, der ist nur da, wenn die Windstärke gering ist.

Mira

Und so eine Interaktion können die Modelle auch lernen, aber manchmal sind die Interaktionen ja vielleicht auch nochmal komplexer von drei oder vier Sachen.

Mira

Und wenn man da schon so eine Idee hat, sag ich logisch, dann macht man es dem Modell halt schon deutlich 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 das... Ja, also dann hat man quasi

Dominik

tatsächlich schon das Wissen, was man aus den

Dominik

Daten ziehen kann, so ein bisschen annotiert, reingegeben,

Dominik

dass das Modell dann damit besser arbeiten

Dominik

kann, also als eigene Funktion irgendwie so, ja.

Jochen

Ja, und oft musst du auch... Ich würde sagen, eigentlich

Jochen

ja, du erst. Oh, sorry.

Jochen

Ja, oft musst du auch Daten

Jochen

erstmal transformieren, damit die überhaupt

Jochen

von dem Modell verwendet werden können. Also wenn du zum Beispiel Text hast,

Jochen

kannst du den nicht einfach so

Jochen

bei XGBoost sozusagen rein

Jochen

kippen, weil das kann halt bloß

Jochen

irgendwie eine fixe Anzahl von

Jochen

Spalten und dann muss man das irgendwie

Jochen

erstmal den Text runterprojizieren mit

Jochen

Singular Value Decomposition oder so

Jochen

auf, weiß ich nicht, ein paar hundert Dimensionen oder so

Jochen

und das kann man in XGBoost reinpacken.

Jochen

Sozusagen solche Sachen hat man halt

Jochen

auch immer, ja.

Mira

Ja, das war

Mira

tatsächlich so ein Grund, weshalb wir

Mira

das auch mal ausprobieren wollten mit den LLMs

Mira

zur Vorhersage, weil wie du sagst, wenn wir einen Text

Mira

haben und wollen aber XGBoost machen,

Mira

wie in dieser Freitext mit der Autobeschreibung,

Mira

da muss man sich ja erstmal irgendwie was überlegen,

Mira

wie man den dann in ein sinnvolles

Mira

Format bringst du das ins G-Boost. Das kennt halt

Mira

eigentlich nur spaltende Zahlen.

Mira

Kategorien kann man ja im Prinzip auch noch in Zahlen

Mira

überführen und ein Text,

Mira

naja, ist halt erstmal nicht so einfach.

Mira

Was man jetzt natürlich auch noch machen kann,

Mira

ist, dass man das LLM benutzt, um Features

Mira

zu generieren, indem man sagt, hier ist der Text,

Mira

hat das Auto einen Schaden? Ja, nein.

Jochen

Ja.

Mira

Also es ist dann auch nochmal so eine

Mira

Hybridlösung, die, glaube ich, gar nicht so

Mira

dumm ist. Und halt auch,

Mira

man kann natürlich auch, je nachdem,

Mira

wie genau man das machen will, Leute hinsetzen

Mira

die dann wirklich viel Zeit damit verbringen,

Mira

die Texte durchzugucken und das zu labeln,

Mira

dann ist das bestimmt noch mal ein bisschen genauer.

Mira

Das ist halt die Frage, ob es sich lohnt.

Mira

Das muss man sich mal überlegen.

Dominik

Ja, gut, aber

Dominik

dadurch kann man schon viel rausholen, durch diese Modellierung

Dominik

dann und so.

Dominik

Dann sind wir in diesen Datenprozessen. Wie nennt man diese

Dominik

Datenprozesse? ETIL?

Dominik

Da gibt es ja verschiedene Art und Weisen.

Dominik

Ach, du meinst jetzt

Jochen

Extract, Transform, Load?

Jochen

Das ist, glaube ich, aber nicht unbedingt was mit

Dominik

oder...

Dominik

Ja, aber wir sind jetzt da irgendwo in diesem

Dominik

Workflow, also es ging ja um

Dominik

dieses CRISP, ne? Achso.

Mira

Ja, also ich glaube ja,

Mira

also die ETL, Extract, Transform,

Mira

Load, ist ja, beschreibt

Mira

ja einfach den Prozess, dass man

Mira

Daten irgendwo rauszieht, dann

Mira

irgendwas damit macht, also sie transformiert und sie dann

Mira

irgendwo hinlädt, obwohl man sagt, Daten laden

Mira

für Daten kriegen, in dem Fall ist aber Daten laden

Mira

sie irgendwo hinladen, das ist auch ein bisschen

Mira

verwirrend, auch im Naming finde ich,

Mira

in den

Mira

Code dann, wenn man irgendwann überall

Mira

Load stehen hat, egal ob man Daten zieht oder Daten

Mira

wegschiebt.

Mira

Ja, das ist, so hängt das

Mira

im Prinzip zusammen, aber oft benutzt

Mira

man ja den Begriff ETL

Mira

auch einfach für jeden Prozess,

Mira

der irgendwie Daten nimmt, verarbeitet und

Mira

so durch so eine Strecke schiebt.

Dominik

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

Dominik

Ja, also jeder Business-Prozess, den man irgendwie

Dominik

halt automatisieren kann.

Mira

Aber ich glaube, es ist schon oft so, dass man

Mira

auch sagen würde nachher in einem fertigen

Mira

Datenprodukt, okay, hier ist der ETL,

Mira

Erst kommt der ETL und dann kommt der Teil mit dem Modell.

Mira

Also oft nutzt man den Begriff eigentlich auch,

Mira

um das voneinander abzugrenzen.

Dominik

Okay.

Dominik

Also ich verstehe jetzt, wir haben okay verstanden,

Dominik

was das Geschäft macht und was wir da lösen wollen für Daten.

Dominik

Und dann haben wir verstanden, welche Daten wir denn haben

Dominik

und was wir damit machen wollen.

Dominik

Dann haben wir die so transformiert und umgebaut,

Dominik

dass wir die in ein Modell kippen können,

Dominik

was wir uns dann ausdenken oder ausgedacht haben.

Dominik

Und was machen wir dann?

Dominik

Dann gucken wir uns an, was dabei rauskommt.

Mira

Ja, dann haben wir ein Modell und dann machen wir Prognosen und gucken, wie gut die sind.

Mira

Und da muss man natürlich verschiedene Sachen beachten.

Mira

Also wenn ich die Prognosen auf denselben Daten mache, die ich für das Modelltraining benutzt habe,

Mira

dann ist das natürlich für das Modell relativ einfach.

Mira

Und deswegen ist es wichtig, dass ich mir vorher einen Teil der Daten weglege

Mira

und nur die übrigen Daten kriegt das Modell zum Lernen.

Mira

Und dann habe ich auf diesen weggelegten Daten die Prognosen.

Mira

Und dann gucke ich, was tatsächlich die Werte waren und vergleiche die mit den Prognosen von dem Modell.

Mira

Und das Modell ist halt ja natürlich in dem Moment blind, das kriegt halt nur die ganzen Features,

Mira

aber es kriegt nicht die Zielvariable, es muss dann seine Prognosen blind machen

Mira

und wir können dann gucken und sagen, ja, wir kennen die Warnwerte aber schon und vergleichen das jetzt.

Mira

Da gibt es dann verschiedene Kennwerte, die man berechnen kann, kommt es halt total auf die Fragestellung an.

Mira

Man könnte zum Beispiel eine mittlere prozentuale Abweichung berechnen,

Mira

man kann einen Bias berechnen, liegen Mittel drüber oder drunter,

Mira

Man kann einen erklärten Varianzanteil berechnen.

Mira

Man kann, 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 false positive, false negative und so weiter habe ich.

Mira

Das kommt stark auf den Use Case an.

Mira

Auf jeden Fall kann ich das dann berechnen.

Mira

Schön out of sample, also mit diesem separaten Datensatz.

Mira

Und das ist natürlich besonders gut, wenn man zwei Modelle vergleichen will.

Mira

Wenn man nur eins hat, dann ist es, glaube ich, auch gar nicht so leicht zu sagen,

Mira

was ist denn jetzt ein guter Wert?

Mira

Will ich irgendwie 20, 50 oder 90 Prozent erklärte Varianz?

Mira

Das kommt auch stark auf die Fragestellung an.

Mira

Wenn ich zum Beispiel individuelles Verhalten von Menschen erklären will,

Mira

dann kann ich das natürlich nicht so genau vorhersagen

Mira

wie aggregierte Verkaufszahlen,

Mira

weil da einfach so viele andere Einflüsse sind.

Mira

Und nochmal zu diesem Split,

Mira

zu den Trainingsdaten und den Testdaten.

Mira

In den allermeisten Fällen haben unsere Daten

Mira

ja eigentlich eine zeitliche Struktur.

Mira

Man kann jetzt natürlich die Testdaten zufällig rausziehen und zur Seite legen.

Mira

Aber am besten ist es, wenn man immer die zeitlich, die nimmt, die zeitlich am Ende liegen.

Mira

Weil manchmal ändern sich eben Zusammenhänge und das eigentlich passiert ständig, dass sich Zusammenhänge ändern.

Mira

Und deswegen ist es halt sinnvoll, so ein Szenario zu bauen, wo das Modell quasi auf der Vergangenheit lernt

Mira

und dann auf Daten, die danach passiert sind, auch tatsächlich evaluiert wird.

Mira

Sonst kann es halt passieren, dass man sich da verschätzt und dann denkt, das Modell wäre besser, als es tatsächlich ist.

Mira

Und nachher im Betrieb, dann muss es ja tatsächlich Prognosen für die Zukunft machen und dann ist die Enttäuschung dann irgendwie da, wenn es dann doch schlechter funktioniert, als man dachte.

Dominik

Aber man muss natürlich auch immer auffassen, dass man dann halt die neuen Zusammenhänge nach den Änderungen dann irgendwie auch trotzdem mit reinkriegt, ne?

Mira

Ja, das ist natürlich regelmäßiges Neutraining, ja.

Mira

Also das ist dann auch total wichtig, dass man das Modell nicht einmal trainiert und dann fünf Jahre lang benutzt.

Mira

Trotzdem, solange die Zusammenhänge noch nicht da sind, die neuen, wenn man die noch nicht kennt, muss man halt zumindest mit dem leben, was man bis dahin hat.

Dominik

Also man könnte ja vielleicht auch diese Zusammenhänge irgendwie als, ich sag mal, Liste dem Geschäft zurückgeben, hey, hier, das sind unsere Annahmen, guckt doch mal bitte, dass die noch stimmen und wenn ihr merkt, irgendwie da ändert sich irgendwas an den Annahmen, dann müssen wir halt da nochmal was auch anpassen.

Mira

Ja, also zumindest, ich glaube, so direkt geht es gar nicht so gut, weil das ist ja was, was das Modell findet und wo die dann eher auch sagen, ah ja, cool, ja, das passt so ungefähr zu dem, was wir erwartet haben, aber die können sich wirklich sagen, oh, das ändert sich jetzt, weil jetzt ist, keine Ahnung, zum Beispiel der Zusammenhang von Autoanzahl zu Stickoxiden, der wird schwächer, weil mehr E-Autos unterwegs sind und die stoßen keine Stickoxide aus.

Mira

Ja, okay, aber wie viel schwächer der jetzt wird, das kann uns diese NAS-Verwaltung hier für Umwelt und so weiter ja auch nicht sagen. Also sie können uns sagen, ja, das wird wahrscheinlich schwächer mit der Zeit. Also klar, solltet ihr das Modell regelmäßig neu trainieren, aber die können uns nicht sagen, so und jetzt ist es aber so viel schwächer geworden, jetzt müsst ihr mal neu trainieren. Das kann die auch gar nicht sehen.

Mira

Aber deswegen ist es halt meistens so, dass man einfach sagt, wir trainieren unser Modell zum Beispiel einmal im Monat neu und dann wissen wir, dass wir halt eigentlich immer neue Zusammenhänge abgedeckt haben. Deswegen ist es auch manchmal gar nicht so nützlich, ganz, ganz viel Datenhistorie zu haben, weil vielleicht das vor allem jetzt, wo auch noch Corona war, dass die Zusammenhänge und die Muster während Corona in irgendwelchen Verkaufszahlen oder menschlichem Verhalten, die sind natürlich jetzt halt anders.

Dominik

Wäre mein nächster Punkt gewesen. Also wenn ich jetzt Statistik nehme oder von Statistik irgendwo abhängige Modelle, um Prognosen zu machen für die Zukunft, dann bin ich ja immer nur auf den Normalfall trainiert oder den Alltag. Und diese ganzen Schock-Situationen, die kann ich ja immer ganz schlecht abbilden, weil ich ja dafür auch keine Beispiele gehabt habe.

Mira

Wenn der Schock gerade erst passiert ist, dann ist es echt schwierig. Man kann vergangene Schocks kann man halt noch mit reinnehmen und sagen, okay, hier war ein Strukturbruch, da hat sich jetzt irgendwie was geändert. Das nehmen wir als Feature mit rein. Geht manchmal, geht auch nicht immer.

Mira

Also ich glaube, wir haben tatsächlich in dem Luftverschmutzungsprojekt, haben wir, glaube ich, einfach die Zeiträume definiert. Hier war Lockdown, hier war kein Lockdown. Damit das Modell zumindest weiß, ah, deswegen war hier so viel weniger Luftverschmutzung.

Dominik

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

Jochen

Aber ich habe nochmal, ich würde mal ganz kurz einen Schritt zurückgehen, weil ich habe eine Frage, die mich noch jetzt schon interessieren würde, weil ich jetzt auch gar nicht so wirklich Ahnung von diesem Tab-PFN oder so habe, weil in den anderen Bereichen haben ja die, also normalerweise hat man neuronale Netze für solche tabularischen Daten, das hat nicht, das funktioniert auch, aber halt nicht so gut wie die anderen Arten von Modellen oft.

Jochen

Und die Frage wäre jetzt, was einem ja die Transformer beziehungsweise überhaupt irgendwie das ganze Deep Learning, die ganze Deep Learning Geschichte oder so in anderen Bereichen gebracht hat, ist ja, dass man nicht mehr so viel Feature Engineering machen musste oder eigentlich ist man ja am Feature Engineering mehr oder weniger vorher gescheitert und dann jetzt kann man halt inzwischen einfach die Rohdaten da so, naja, mehr oder weniger reinkippen und das neuronale Netz macht das Feature Engineering für einen sozusagen.

Jochen

Und die Frage wäre halt, macht es das möglicherweise, ist es bei TAP-Hilfe auch so, dass ich da jetzt quasi auch relativ rohe Daten irgendwie verwenden kann oder muss ich das erstmal auch irgendwie in eine Struktur bringen, so ähnlich wie bei XGBoost?

Mira

Da fragst du eigentlich die falsche. Ich glaube aber, dass man da nicht viel vorbereiten musste. Aber da würde ich tatsächlich auch auf unsere Podcast-Folge mit dem Autor von Tapping FM verweisen.

Jochen

Muss ich mal anhören. Klingt gut.

Mira

Ja, also genau, die ist dann wahrscheinlich für dich die richtige.

Dominik

Ja. Aber vielleicht nochmal zu dem Modelltraining. Wo trainiert ihr denn das und wie macht ihr das?

Mira

auf

Mira

also oft auf

Mira

ABS-Maschinen zum Beispiel.

Mira

Wir haben auch selbst ein paar

Mira

fette Server, die sind

Mira

jetzt im Rechenzentrum in Nürnberg. Seit neuestem

Mira

haben sie dort unter ihresgleichen.

Mira

Vorher haben sie so ein bisschen das Büro beheizt,

Mira

sag mal, es gewinnt das. Jetzt haben

Mira

sie einen besseren Ort gefunden. Also die benutzen wir auch

Mira

manchmal, aber viel läuft jetzt natürlich

Mira

inzwischen in der Cloud und auch das ist dann auch

Mira

kundenabhängig. Also zum Beispiel

Mira

Azure, was auch immer dann.

Mira

Aber das sind

Mira

auf Sachen, die dann doch lokal

Mira

ein bisschen zu lang dauern würden und dann besser

Mira

auf einer größeren Maschine laufen.

Dominik

Also irgendwie, ja.

Mira

Und also die klassischen

Mira

Sachen sind halt normalerweise

Mira

einfach auf der CPU natürlich

Mira

und wenn wir dann aber zu

Mira

LLMs kommen, dann geht es natürlich in Richtung

Mira

GPU und wir haben uns auch da

Mira

was zugelegt vor einigen

Mira

Monaten, sodass wir unsere eigene GPU haben

Mira

und auch mal selbst das

Mira

aussetzen konnten auf einer eigenen GPU,

Mira

was natürlich auch

Dominik

ganz spannend ist. Also habt ihr eine eigene Maschine gestellt oder habt ihr

Dominik

irgendwie bei Hetzner oder was gemietet?

Mira

Die haben wir tatsächlich gekauft physisch,

Mira

die sitzt auch im Rechenzentrum

Mira

und dann irgendwann, wir haben ja auch

Mira

mal was ausprobiert, war die dann doch zu klein,

Mira

da haben wir das dann über Abyss gemacht.

Dominik

Okay.

Jochen

Das ist auch schwierig, gerade welche zu kaufen,

Jochen

und das ist sehr teuer.

Dominik

Ja, es ist teuer.

Mira

Ja, komm, das macht jetzt schon Sinn.

Mira

Wir kaufen die, aber

Mira

ich glaube, sie war dann irgendwie zwei Monate

Mira

später wieder deutlich günstiger.

Dominik

Ich glaube, wenn man die mietet, dann kostet die

Dominik

irgendwie so 1.000 Euro im Monat oder sowas.

Jochen

Also mit 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 wahrscheinlich darauf an, wie viel man braucht.

Mira

Ich glaube, es hat auch

Mira

ein paar Leuten einfach Spaß gemacht, das Ding halt

Mira

auszuwählen und zu kaufen und dann

Mira

wirklich selber sowas komplett aufzusetzen.

Jochen

Ja, das macht auch Spaß.

Mira

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

Jochen

Dann kommt ja der Operator durch auch.

Mira

Ja, ich würde das auch machen.

Jochen

Ich brauche nur einen Grund. Gib mir doch einen Grund dafür.

Mira

Also vielleicht wollt ihr ein unbezahltes

Mira

Praktikum.

Dominik

Wenn wir dann ganz viel

Dominik

große Hardware in die Hand nehmen, können wir nur mal nachdenken.

Mira

Richtig.

Mira

Das könnten wir mal nutzen.

Mira

Aber ja.

Mira

Vielleicht noch mal zu

Mira

der Modellbewertung. Ich hatte ja schon

Mira

gesagt, dass man natürlich Kennzahlen ausbechern kann

Mira

für die Modellgenauigkeit so

Mira

insgesamt. Wie viele

Mira

Fälle werden richtig vorher gesagt, oder wie weit sind wir

Mira

im Mittel daneben. Aber dann

Mira

macht es halt auch Sinn, diese Blackbox

Mira

nochmal aufzubrechen, wie ihr

Mira

eben erwähnt habt. Dass man guckt, was hat

Mira

das Modell eigentlich für Zusammenhänge gefunden.

Mira

Und das ist

Mira

bei einer linearen Regression natürlich leicht,

Mira

weil man sich einfach die Koeffizienten anguckt,

Mira

wie hoch die sind und hat noch welche signifikant sind.

Mira

Aber das geht dann

Mira

bei XGBoost nicht mehr so leicht,

Mira

irgendwelche Splits anzugucken, wie das Modell gefunden hat.

Mira

Aber da gibt es

Mira

ganz tolle Methoden, die nennen sich

Mira

Shep und die

Mira

kann man dann danach auf die,

Mira

also man braucht das Modell und auch nochmal

Mira

einen Datensatz, mit dem man Prognosen macht und

Mira

wenn man das hat, dann kann man diese Methoden

Mira

darauf werfen und

Mira

kriegt dann ganz praktische

Mira

Visualisierung auch. Also erstmal eine

Mira

Feature Importance, also wie viel

Mira

wurde welches Feature vom Modell eigentlich genutzt.

Mira

Auch das ist ja schon mein erster

Mira

Plausibilitätscheck, wenn da irgendwas ganz am Anfang

Mira

steht, was dir überrascht ist, sollte man auch überlegen,

Mira

was da los ist. Und dann kann man sich

Mira

auch die Form der Zusammenhänge angucken. Zum Beispiel

Mira

Beispiel, ich glaube, da haben wir auch gesehen, je windiger, desto weniger Schadstoff, aber irgendwo gibt es dann so eine Sättigung, dann sind die Schadstoffe halt irgendwie einfach so weggeweht, wie es nur geht. Und das, ich glaube, es war sogar, nee, ich glaube, das war das Interessante, irgendwann wurde es halt wieder schlechter, weil dann der Staub aufgewirbelt wird. Wenn es so wenig ist, dann hat man immer nur den Staub in der Luft, dass es wieder schlechter wird.

Mira

Und da dachte ich so, okay, was ist das für ein komisches Muster? Und haben das mit Kunden angeguckt. Die meinten so, ja, das haben wir auch schon beobachtet. Wir denken, das liegt daran, dass dann irgendwann der Wind zu stark ist, dass das halt stoppt.

Dominik

Der Abrief von der ganzen Straße, der kommt nochmal mit hoch.

Mira

Ja, ist natürlich, wenn es regnet, dann halt eben wieder das, wenn dann wird das eben weggespült. Und solche Sachen kann man dann halt eben sich angucken und überlegen, ob die plausibel sind. Und man kann mit den Methoden sogar ganz einzelne Vorhersagen auch nochmal analysieren.

Mira

Und dann sagt die einem quasi so, okay, wir haben jetzt hier 3,5 mehr gesagt, weil es ist Montag und dann haben wir aber nochmal 1,2 weniger gesagt, weil es ist in den Ferien oder sowas. Und das ist natürlich auch sehr gut, um wirklich erklären zu können, warum man genau diese Prognose macht und was das Modell findet und um sich sicher zu sein, dass man auch irgendwie ein sinnvolles und gutes Modell gefunden hat.

Mira

und das klingt jetzt alles so

Mira

lineal, es soll nur mal da so durchgehen, aber

Mira

das ist dann auch manchmal ein Moment, wo man noch mal

Mira

Ideen hat und neue Features baut

Mira

oder noch mal Ideen hat und die Daten bereinigt,

Mira

weil einem irgendwas ganz komisches auffällt, irgendein

Mira

Artefakt, das man loswerden muss,

Mira

dass egal wie toll

Mira

man sich die Daten vorher anguckt, manche Sachen

Mira

finde ich, sieht man einfach erst nach der Modellierung

Mira

und muss dann irgendwie noch mal ein Stück zurückgehen,

Mira

das ist ja kein Problem.

Dominik

Das ist ja dieser Eval-Step dann,

Dominik

der dann guckt, ob das, was man da macht,

Dominik

auch dem entspricht, was man so

Dominik

möchte. Oder ja,

Dominik

es gibt ein Alert.

Dominik

Irgendwas stimmt hier nicht. Aber das kann natürlich auch sein, dass

Mira

in der Realität irgendwas nicht stimmt. Das kommt erst später.

Mira

In dem Moment haben wir noch gar kein

Mira

Alerting-System.

Mira

Wir haben jetzt

Mira

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,

Mira

es sind eigentlich immer ein paar Tests unterwegs.

Dominik

Ja, wir lieben

Dominik

FI-Tests.

Mira

Wobei Tests mit Daten ja auch manchmal ganz witzig

Mira

sind, weil man

Mira

ja, braucht man sich

Mira

dann einen kleinen Testdatensatz, ist der

Mira

dann realistisch,

Mira

macht man vielleicht sogar Tests gegen die

Mira

echten Daten, die können natürlich

Mira

keine einzelnen Werte prüfen, aber man kann damit

Mira

testen, ob es überhaupt durchläuft, also ja,

Mira

das ist ein ganz eigenes Thema, Tests mit Daten.

Dominik

Ja, es ist

Dominik

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

Dominik

auch 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

Dominik

schwer. Ja, also in dem Moment

Mira

wäre man ja eigentlich nur beim POC,

Mira

beim Proof of Concept und

Mira

so ein richtiges Produkt oder

Mira

MVP, Minimum Viable

Mira

Product, kriegt man ja erst, wenn man dann

Mira

das Ganze auch deployt und automatisiert.

Mira

Und

Mira

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 nochmal

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

R-Shiny.

Mira

Da haben wir

Mira

ein Projekt, das ist eigentlich ganz cool.

Mira

Da geht es gar nicht darum,

Mira

irgendwelche Prognosen zur Verfügung zu stellen, sondern

Mira

da haben wir Shiny-Apps gebaut, damit

Mira

Leute Modellierungsalgorithmen

Mira

anwenden können, ohne dass sie selbst

Mira

R-Code schreiben können müssen.

Mira

Das ist für ganz viele Forschende, die

Mira

aber nicht gut selbst coden können.

Mira

Dann wäre die Hürde natürlich total riesig.

Mira

Aber die brauchen eigentlich diese ziemlich komplexen Methoden und deswegen haben wir da für ein Forschungsinstitut einige Apps gebaut, wo die dann eben über eine Klick-Oberfläche, können sie ihre Daten hochladen und können dann die Analyse fahren mit bestimmten Einstellungen und kriegen dann Ergebnisse und Visualisierungen.

Mira

Das ist natürlich auch sehr praktisch und schreiben die dann mit ihre Doktorarbeiten.

Mira

Ja, aber zurück zu unseren Prognoseergebnissen.

Mira

Genau, oft stellen wir die über eine API zur Verfügung

Mira

oder wir schreiben sie irgendwo in eine Datenbank

Mira

und der Kunde nutzt sie dann halt so.

Mira

Das ist tatsächlich auch was, was man vorher wirklich klären muss.

Mira

Reicht das denen, wenn das eine API ist?

Mira

Oder sitzen da dann Leute, die damit überhaupt nichts anfangen können

Mira

und sagen, ja, was sind denn jetzt meine Zahlen?

Mira

Also genau, das muss man natürlich auch vorher wirklich bis zum Ende denken.

Mira

Und unsere Erfahrung ist auch, dass es,

Mira

auch wenn der Kunde dann irgendwie vorhat,

Mira

doch das selbst zu machen,

Mira

sagt, ja, schreib das in die Datenbank

Mira

und dann benutzen wir es einfach so weiter,

Mira

dann trotzdem lohnt es sich oft,

Mira

dass wir das dann doch mitdenken

Mira

und zumindest irgendwie eine kleine Web-Anwendung schreiben,

Mira

weil sonst die Löhne doch groß ist

Mira

und dann hat der in IT halt eben auch total viel zu tun

Mira

und dann ist es richtig schade,

Mira

wenn das Projekt nachher in der Schublade landet

Mira

und fällt dann ja am Ende irgendwie auch auf uns zurück.

Mira

Also dann lieber nochmal was Kleines bauen,

Mira

damit die dann doch was sehen können.

Dominik

Aber wenn die Farben dann auch richtig sind,

Dominik

ist das das Wichtigste an der Flickung.

Dominik

Ja, irgendwie schon.

Dominik

Das kann man auch durch unterschätzen.

Mira

Man sieht ja alles, ja, das ist sauhässig.

Jochen

Ja, ja, ja.

Mira

Und ja, üblicherweise, das hat man eben schon gesagt,

Mira

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

Mira

weil sich Zusammenhänge in der Regel

Mira

in allen Bereichen immer mal wieder ändern.

Mira

Das ist dann oft sowas wie einmal im Monat.

Mira

Ab und zu sollte man sich das Modell

Mira

sogar auch noch mal ganz genau anschauen,

Mira

zum Beispiel nochmal diese ganzen CHAP-Sorten berechnen und gucken,

Mira

ist das eigentlich noch plausibel?

Mira

Das kann man vielleicht einmal im Jahr machen.

Mira

Und die Prognoseerstellung kommt halt darauf an,

Mira

wie oft die benötigt wird und auch wie schnell sich die Sachen ändern.

Mira

Also in vielen Projekten ist es, dass das einmal am Tag passiert,

Mira

aber manchmal ist es dann auch wirklich in Echtzeit,

Mira

dass dann der Anfall reinkommt und dann wird die Prognose

Mira

für diesen einen ganz konkreten Fall erstellt.

Mira

Und oft kann man die auch noch nicht vorbereiten,

Mira

weil man die Daten vielleicht dann auch noch nicht hat,

Mira

sondern kommen dann rein die Daten und dann braucht man eine Prognose.

Mira

Zum Beispiel kommt ein neuer Kauf rein oder eine Anfrage und man muss in dem Moment entscheiden, ist das irgendwie verdächtig, könnte das Betrug sein oder ist alles okay.

Mira

Und man sollte das natürlich auch überhaupt nicht unterschätzen, weil vom POC zum MVP und das ist dann ja noch ein simples Produkt, das ist oft nochmal Faktor 10 vom Aufwand her.

Mira

Ich glaube, das ist halt total schwer erkennbar, vor allem wenn man am Anfang so ein bisschen geprototypt hat oder vielleicht mit kleineren Daten gearbeitet hat.

Mira

Und dann muss man auf einmal vermitteln,

Mira

ja, jetzt brauchen wir aber noch mal ganz viel Zeit.

Mira

Und die denken so, hey, wir hatten es doch gerade,

Mira

die Ergebnisse gezeigt, die sind doch da.

Mira

Ja, klar, das ist natürlich auch schwer nachvollziehbar von außen.

Mira

Deswegen ist es einfach wichtig, das richtig zu kommunizieren.

Dominik

Ja, ich wollte gerade sagen, schwer zu kommunizieren,

Dominik

das ist, finde ich, auch ein Hauptproblem,

Dominik

gerade bei so Kunden und Technologie.

Mira

Das sollte man natürlich auch vorher sagen und dann danach.

Mira

Ich meine, kann man ja verstehen,

Mira

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

Mira

oder einfach schlecht informiert fühlt.

Dominik

Ja, schwierig.

Mira

Ja, und dann gibt es natürlich auch immer noch den Bereich Monitoring und Wartung.

Mira

Also das, wo wir jetzt auch gerade in dem Projekt mit der Senatsverwaltung drinstecken, seit schon einigen Monaten, da haben wir natürlich Alerts, wenn irgendwo ein Prozess abbricht, wenn es irgendwo einen Fehler in einem Pod gibt, dann müssen wir das natürlich wissen.

Mira

Aber es kann auch sein, dass die durchlaufen ohne Fehler, aber trotzdem irgendwas stimmt und vielleicht nur für halb Berlin Prognosen erstellt werden oder nur für einen halben Tag und deswegen sind dann da auch Alarme definiert, die gucken, ist die Anzahl, entspricht die Anzahl der Prognosen in der Datenbank auch tatsächlich unserer Erwartung?

Mira

Man kann auch definieren, gibt es irgendwelche unerwarteten Werte, extrem hohe Prognosen beispielsweise oder gibt es unerwartete Werte in den Input-Daten, Werte, die vielleicht überhaupt nicht definiert sind. Und dann auch wichtig ist der Model-Drift oder Data-Drift.

Mira

Das heißt, dass die Daten so nach und nach irgendwie in eine andere Richtung driften und sich verändern oder das Modell so nach und nach immer so ein bisschen schlechter wird. Aber irgendwann, wenn es das lange genug gemacht hat, dann ist es halt irgendwann nicht mehr gut genug und dann möchte man das ja auch mitbekommen.

Mira

Und zum Beispiel bei jedem monatlichen Modellneutraining will man auch mal die ganzen KPIs, also die ganzen Gütemaße sehen. Oder vielleicht will man sie nicht angucken, sondern möchte halt einfach informiert werden, ob die sich nach einer Weile vielleicht zu stark verschlechtert haben. Und dann muss man sich einfach nochmal angucken, was los ist. Was halt eben auch nochmal zeigt, das ist halt nicht ganz fertig und dann kann man es für immer benutzen. Aber gut, das ist ja auch in der klassischen Softwareentwicklung oft so, dass das so ein bisschen unterschätzt wird, wie viel dann doch noch gemacht werden muss, obwohl es doch fertig ist.

Dominik

Macht ihr dann eigene Monitoring-Tools

Dominik

oder nutzt ihr da auch eins von den Sachen, die es da so gibt?

Mira

Ja, also

Mira

Redash benutzen wir in einem Projekt

Mira

ja ganz gerne und

Mira

sonst, ja, wie das, was ich

Mira

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 zum Beispiel

Mira

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

Jochen

für so Monitoring-Geschichten

Jochen

ist Telegram, weil das halt sehr einfach

Jochen

ist, da irgendwie

Jochen

über die API Dinge zu verschicken.

Dominik

Also Telegram kriege ich auch Nachrichten für meine Server,

Dominik

falls da irgendwas passiert, was ich will, ja.

Mira

Ja, cool.

Mira

Wollte wissen.

Mira

Ist ja auch immer mal so ein spannendes Thema,

Mira

weg von US-Diensten und so.

Jochen

Ja, wahrscheinlich, genau.

Jochen

Das ist natürlich...

Jochen

weil das Ende-Kram irgendwie an der richtigen Adresse ist.

Mira

Man soll ja streuen.

Mira

Ja, ja, genau.

Dominik

Wir nehmen meistens immer so eigene Server oder sowas,

Dominik

aber wenn die halt dann wechseln, ist halt auch blöd,

Dominik

dann merkt man es halt sonst nicht.

Dominik

Ja, dann musst du halt irgendwo anders noch Dinge haben.

Dominik

Ja, man braucht irgendwie so ein Workaround, ja.

Jochen

Aber ja, klar, es wird dann auch teurer.

Jochen

Ein Monitoring ist jetzt so ruhig.

Dominik

Was passiert denn da jetzt?

Mira

Endlich sind alle Bugs weg.

Mira

Eigentlich ist alles gut.

Dominik

Hat jemand den Nameserver mit in die Tasche gesteckt

Mira

Ja, das ist auch noch ein ganz wichtiges Stichwort in dem Bereich ist natürlich ML Ops, also Machine Learning Operations, also Mischung aus DevOps und Machine Learning ist das Wort.

Dominik

Der Kurzvortritt Ceratops, oder?

Dominik

Ja, genau.

Mira

Und ja, es ist eher im Prinzip DevOps, aber Anpassung auf den Datencase, auf die Arbeit mit Daten.

Mira

Das heißt, es kommen noch so ein paar Sachen dazu, wie zum Beispiel, dass man nicht nur Code versionieren muss, sondern auch Modelle oder vielleicht Experimente versionieren.

Mira

Und ja, es gibt halt nicht nur Code-Änderungen, die dazu führen, dass die Ergebnisse anders sind, sondern auch jeder neue Datenpunkt kann die Ergebnisse verändern.

Mira

Das heißt, da kommt dann nochmal so eine zusätzliche Komplexitätsebene mit rein.

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 und

Jochen

nicht mehr als 4 Gigabyte, wie man auf eine

Jochen

Maschine kriegte. Und dann brauchte man mehrere

Jochen

Maschinen. Aber danach ist das eigentlich

Jochen

ehrlich gesagt, also mir nicht mehr passiert,

Jochen

weil... Du hast einfach viel zu kleine

Jochen

Elemente. Meine Daten sind zu klein, das kann schon sein.

Jochen

Aber ich meine, man kriegt

Jochen

heute so große Maschinen, also...

Jochen

Ja, über die Preise haben wir uns ja gerade

Jochen

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

Und wenn du dann so eine ganz große Maschine hast und die ist teuer und dann kannst du den Code so optimieren, dass es viel, viel billiger wird, dann ist das doch auch ein tolles Erfolg.

Dominik

Ja, wo wir gerade schon mal optimieren sind, wie ist das denn mit Performance zum Beispiel? Ich glaube, das ist noch was gewesen, wo wir sprechen wollten.

Mira

Ja, also da könnte man natürlich auch eine ganz separate Folge dazu machen, aber grundsätzlich ist das auch natürlich ein spannendes Thema.

Mira

Also was mir da immer mal wieder auffällt, ist, dass manchmal, wenn man eben die Funktionen nicht kennt, die eigentlich dafür da sind, mit Datensätzen zu arbeiten, dann kann es etwas unperformant werden, weil man zum Beispiel über den ganzen Datensatz loopt, obwohl man Sachen auf die ganze Spalte anwenden könnte.

Mira

und die sind dann in NumPy und sind halt total optimiert.

Mira

Und es gibt eine Menge Sachen.

Mira

Also natürlich, ich glaube, treffen alle Sachen zu,

Mira

die generell auf Softwareentwicklung zutreffen.

Mira

Die treffen natürlich auch bei Daten zu.

Mira

Und dann kommen noch ein paar Sachen dazu,

Mira

also zum Beispiel Umgang mit großen Datensätzen.

Mira

Da hat man eben schon mal angeschnitten,

Mira

dass das natürlich Spark gibt,

Mira

aber es auch nicht unbedingt total schnell immer ist.

Mira

Und manchmal ist es aber auch echt ausreichend,

Mira

auf einem Sample zu arbeiten,

Mira

weil wenn ich eh schon Millionen von Zeilen habe,

Mira

dann werden die weiteren zehn Millionen von Zeilen

Mira

meistens auch nur so viel zusätzliche Informationen liefern.

Mira

Und dann kann ich mein Modell auch auf einem Sample trainieren.

Mira

Ich kann ja immer mal noch checken,

Mira

ob es wirklich nicht immer viel besser wird.

Mira

Das ist so was, was man im Blick haben sollte.

Mira

Ich gucke mal gerade noch.

Mira

Ich hätte da mal so eine Liste.

Mira

Ja, Polar ist eben auch schneller als Pandas.

Mira

Es gab auch vorher noch das Paket-Data-Table,

Mira

aber ich glaube, das ist einfach gar nicht mehr so interessant jetzt, wo es Pollers gibt.

Mira

Dann, ja, bei Datenbanken ist es auch manchmal ganz interessant,

Mira

weil die sind oft eher darauf optimiert, dass man eine kleine Menge von Daten abruft oder hinschreibt.

Mira

Und wenn man dann auf einmal mehrere Millionen Zeilen hat,

Mira

dann werden die so Stück für Stück abgerufen und hingeschrieben,

Mira

wie man den welchen Treiber nutzt.

Mira

Und da gibt es dann auch Hacks, wie zum Beispiel, dass man es erst in ein Paket-File oder ein CSV schreibt und dann das im Batch hochlädt.

Mira

Da gibt es, das wird jetzt schon ziemlich detailliert.

Dominik

Ja, mit dem Paket-File, da wollten wir noch ein paar bisschen drüber reden, wie man das machen kann und auch aktivieren kann.

Jochen

Ja, aber genau, wenn wir bei Performance sind, so ein ganz generelles Ding, was ich häufig sehe, also gerade auch im Zusammenhang mit irgendwie Dinge verteilen oder so.

Jochen

Was ich ganz oft sehe, ist, dass Leute halt

Jochen

grundsätzlich erstmal der Meinung sind, wenn man Dinge

Jochen

verteilt, dann wird es halt schneller.

Jochen

Ist aber

Jochen

oft nicht so.

Jochen

Weil ganz oft ist halt

Jochen

CPU möglicherweise gar nicht das Bottleneck.

Jochen

Bevor man sowas macht, wie Dinge

Jochen

dann verteilen oder so, sollte man vielleicht mal gucken, wo ist

Jochen

eigentlich das Bottleneck.

Jochen

Ich sehe das so oft,

Jochen

dass Leute sagen,

Jochen

das wird nicht schneller oder so und dann ist es

Jochen

halt I.O.

Jochen

Und dann ist es halt so,

Jochen

verteilen macht das alles noch schlimmer, weil

Jochen

irgendwie Netzwerk

Jochen

ist halt noch viel langsamer als irgendwie

Jochen

quasi lokale SSDs und

Jochen

wenn man halt die Daten

Jochen

in der richtigen Reihenfolge lädt sozusagen

Jochen

und nicht zufällig die ganze

Jochen

Zeit, wenn man sehr große Datenmengen hat, also

Jochen

so groß, dass sie nicht in den Hauptschlechter passen,

Jochen

wenn man die dann sozusagen richtig, also

Jochen

sich jedes, alle Daten

Jochen

immer nur einmal anguckt, dann kann es sein, dass

Jochen

es super schnell ist, während wenn man halt

Jochen

zufällig auf einem großen

Jochen

Paketfile beispielsweise dann irgendwie

Jochen

immer ein Stückchen hier liest, ein Stückchen da liest,

Jochen

die ganze Zeit random

Jochen

irgendwie zwei Gigabyte I.O.

Jochen

macht, dann ist das alles total langsam

Jochen

und sieht so aus, als ob es nicht schneller

Jochen

gehen würde und

Jochen

tatsächlich ist es

Jochen

aber eine ganz einfache Optimierung,

Jochen

die dazu führt, dass es halt

Jochen

schnell genug ist.

Jochen

Also ich würde mal sagen, wenn man

Jochen

so ein MacBook nimmt und das richtig benutzt,

Jochen

sehr schwer, das mit einem Cluster zu schlagen.

Jochen

Wirklich, sehr schwer.

Jochen

und das ist, glaube ich, auch vielen Leuten

Jochen

nicht so bewusst, also das ist halt

Jochen

oft, wird da mit Kanonen auf Spatzen

Jochen

geschossen, und das eigentlich

Jochen

Problem wird gar nicht erkannt,

Jochen

sondern, ja. Jetzt wollte ich gerade

Dominik

mit IBIS anfangen, was ja auch so

Dominik

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

Jochen

Ja, aber gut, das ist ja

Jochen

sozusagen, dass man halt

Jochen

quasi ein DataFrame-Interface hat

Jochen

für irgendwie Sachen, die

Jochen

hintendran SQL sprechen, oder? Ja, oder

Dominik

zum Beispiel verteilte Datenbanken oder sowas, ja.

Jochen

Ja.

Jochen

Und genau, also oft ist es dann halt so, wenn man dann halt irgendwie irgendwas benutzt, was halt SQL spricht, aber hinten dran total verteilt ist, dass das dann halt sehr langsam ist und Leute nicht wissen, warum das langsam ist und sich dann irgendwie dran gewöhnen und dann halt, wenn sie ihre Jobs losschicken, halt dann Mittagessen gehen oder so.

Jochen

Und wenn sie sich vorher die Daten

Jochen

irgendwie halt geholt hätten

Jochen

und hätten das auf dem Laptop in Pandas gemacht,

Jochen

wäre es viel schneller gewesen.

Jochen

Naja, solche Sachen.

Jochen

Aber IWIS, ja.

Jochen

Benutzt ihr das?

Mira

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

Dominik

Okay.

Mira

Aber was ich

Mira

nochmal wiederholen will,

Mira

ist einfach dieses, ja, guck dir erstmal an,

Mira

was eigentlich gerade langsam ist.

Mira

Wo ist eigentlich dein Bottleneck?

Mira

Weil da sind ja manchmal die Annahmen einfach

Mira

nicht richtig.

Mira

Das ist so witzig, dass du es sagst. Ich glaube, letzte Woche habe ich gerade was parallelisiert und dadurch sehr, sehr, sehr, sehr viel schneller gemacht.

Jochen

Ja gut, das geht schon auch.

Mira

Das kann natürlich schon manchmal der Punkt sein. Aber eben das Beispiel war ja eben gerade, dass es dann an der Kommunikation mit der Datenbank liegt.

Mira

Also eigentlich ist es trivial, dass man erstmal profilen muss und gucken muss, was langsam ist. Wenn man es mal gesagt hat, klingt es ja trivial. Aber ich glaube, wenn man es zum ersten Mal macht, dann vergisst man es.

Jochen

Ich glaube auch, dass viele Leute halt nicht so bewusst sind.

Jochen

Die profilen dann vielleicht auch und sehen dann vielleicht

Jochen

sogar noch irgendwie, wo Zeit verloren geht.

Jochen

Aber gucken

Jochen

halt nicht auf sowas, wie ist denn jetzt

Jochen

eigentlich, wenn ich jetzt einfach mal

Jochen

ein paar CPUs nehme, kriege ich

Jochen

dann tatsächlich, wird es schneller oder nicht?

Jochen

Wenn es nicht schneller wird, okay, gibt es 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.

Jochen

Oft habe ich das Gefühl, nicht so

Jochen

keine weit verbreitete

Jochen

sozusagen Erkenntnis und

Jochen

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

Jochen

dass man das halt sich einfach

Jochen

so im Gesamtsystem mal anguckt.

Mira

Beim Modelltraining ist es dann

Mira

tatsächlich schon oft sinnvoll

Mira

zu parallelisieren, wenn das lang

Mira

dauert und das ist aber dann

Mira

auch in den meisten Paketen schon so eingebaut,

Mira

dass man dann nur irgendwie die Anzahl der

Mira

Kerne übergeben muss, die dieses nutzen soll und dann

Mira

läuft das einfach, das ist ganz praktisch.

Jochen

Genau, aber ich weiß jetzt nicht, also das war jedenfalls,

Jochen

ich habe das auch schon lange nicht mehr gemacht, aber

Jochen

zu der Zeit, wo ich solche Sachen gemacht habe,

Jochen

war das halt schwer, das auf mehrere Rechner zu verteilen.

Jochen

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

Jochen

Aber auf mehrere Maschinen,

Jochen

ja, eher nicht.

Mira

Ja, die Frage ist,

Mira

wie sehr man das auch manuell

Mira

machen muss, weil man ja meistens dann

Mira

sich seinen Class-Data-Breaks oder so

Mira

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

Mira

machen eigentlich.

Mira

Also zumindest als Data-Scientist ist das

Mira

nicht das, was man irgendwie

Mira

erwartet wird, dass

Mira

dass dann da verschiedene Rechner zusammenfließt.

Jochen

Ja, ja.

Mira

Und dann ist es natürlich manchmal irgendwie schon so,

Mira

dass man doch wieder auf andere Programmiersprachen ausweichen muss,

Mira

weil Python und R nicht unbedingt dafür bekannt sind,

Mira

dass sie total schnell sind.

Mira

Aber ich glaube, also meiner Erfahrung nach ist es schon oft so,

Mira

dass man schon sehr viel rausholen kann,

Mira

wenn man sich den Python oder R-Code nochmal genau anschaut, profilt

Mira

und dann vielleicht irgendwo auch mal die Daten vorher klug filtert

Mira

oder ein sinnvolles

Mira

If-Statement irgendwie so ein bisschen verschiebt,

Mira

weil man auf einmal merkt, oh Moment,

Mira

oder in einem Loop irgendwas rauszieht, was eigentlich nur einmal

Mira

passieren muss. Das sind ja so Sachen, die

Mira

dann doch schnell passieren,

Mira

wenn man den Code irgendwann so geschrieben und ein paar Mal

Mira

verändert hat, dann ist da vielleicht irgendwas,

Mira

was man, also so eine Low-Hanging-Foot,

Mira

was man schon leicht optimieren kann.

Dominik

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

Jochen

Ja, wobei, sieht man das halt

Jochen

immer die Frage, wenn es halt schnell sein soll,

Jochen

dann nimmt man am besten was, was nicht halt,

Jochen

In Python sind halt, was halt langsam ist,

Jochen

Funktionsaufrufe, Schleifen,

Jochen

das ist halt extrem langsam.

Jochen

Aber wenn man die Schleifen halt in NumPy

Jochen

nicht als Schleife, sondern irgendwie

Jochen

vektorisiert 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,

Mira

dass jemand, der das durchweist, eben über den

Mira

DataFrame drüber loopt.

Mira

Das ist dann schlecht, ja.

Dominik

Vektorisiert und schlecht.

Dominik

Ja, aber deswegen ja genau, einfach dann eine Maske

Dominik

drauf und dann machst du es halt

Dominik

drunter in NumPy, ja.

Dominik

Ja, also

Dominik

warum ich Ibis eben sagte, von Wes McKinney

Dominik

ist halt dem Pandas

Dominik

Menschen der. Ja, der hat

Jochen

ja eine ganze Menge, der ist auch hinter dem

Jochen

Arrow, das ist halt so seit

Jochen

einiger Zeit so sein Hauptprojekt.

Dominik

Vielleicht nochmal, was macht Arrow,

Jochen

wenn wir schon dabei sind? Achso, ja, das ist eigentlich

Jochen

im Grunde so, die Grundidee

Jochen

dabei ist halt, dass man

Jochen

vielleicht aus unterschiedlichen,

Jochen

also das ist halt das Problem bei NumPy

Jochen

oder Pandas Geschichten, also

Jochen

man hat das dann halt

Jochen

in Python, aber wenn man jetzt eine andere

Jochen

Programmiersprache hat und darauf zugreifen will, dann geht das

Jochen

halt nicht. Und die

Jochen

Idee bei Arrow ist halt,

Jochen

dass man das halt, dass man eine gemeinsame

Jochen

Daten-In-Hauptspeicher-

Jochen

Laden-Infrastruktur hat

Jochen

und dann halt

Jochen

Paketfiles quasi, oder was auch immer,

Jochen

man lässt halt einen Hauptspeicher und kann dann halt von

Jochen

unterschiedlichen Sprachen

Jochen

auch darauf zugreifen und

Jochen

das funktioniert dann halt.

Jochen

Genau, und

Jochen

ja, ist halt nicht an sowas wie NumPy

Jochen

gebunden, was es halt nur für Python gibt im Grunde.

Jochen

Und ja, das ist jetzt inzwischen,

Jochen

aber glaube ich, liegt das auch unter Pandas

Jochen

drunter und

Jochen

zu größeren Teilen.

Jochen

Ehrlich gesagt bin ich da in letzter Zeit nicht so viel

Jochen

Interessanz gemacht.

Jochen

Ja.

Dominik

Mit Ibis kann man zum Beispiel auch da

Dominik

PySpark oder sowas damit berechnen, dass man dann...

Jochen

Ja, also alles, was irgendwie SQL spricht,

Jochen

kannst du da, soweit ich weiß, ist einfach nur

Jochen

ein Layer, wo du halt ein DataFrame

Jochen

Interface hast nach außen hin,

Jochen

sodass du es benutzen kannst wie einen normalen DataFrame,

Jochen

aber nach hinten raus spricht es dann halt SQL.

Jochen

Was halt,

Jochen

ja, wenn du ein System hast, das das kann,

Jochen

dann ist es, ja.

Dominik

Ja.

Dominik

Ja, ich glaube,

Dominik

wir haben schon viel über diesen

Dominik

Prozess gesprochen. In Crisp sind wir durch.

Mira

Ja, eigentlich sind wir durch

Mira

und dann kann man ja wieder von Anfang an anfangen

Mira

und sich den nächsten, next best use case

Mira

schlagen.

Mira

Oder das, was man schon hat, halt nochmal.

Mira

Arbeitern überlegen, ob man es

Mira

auch anders anwenden kann und so weiter.

Dominik

Also du würdest zum Beispiel

Dominik

sagen aus deiner Perspektive, es gibt gar keinen großen Unterschied

Dominik

zwischen Data Science und Machine Learning

Dominik

Operations oder Engineering

Dominik

mehr

Dominik

heutzutage oder so.

Mira

Ja, also es sind halt alles irgendwie so verschiedene

Mira

Schwerpunkte. Bei uns sind

Mira

jetzt, wir haben schon Leute, die

Mira

eher Data Science machen, die eher

Mira

modellieren und andere Leute, die

Mira

eher in dem DevOps,

Mira

MLOps Bereich unterwegs sind oder auch

Mira

Data Engineering machen, die sich besser mit

Mira

Datenbanken auskennen, aber

Mira

wir haben bei uns jetzt nicht so die klare Trennung,

Mira

du musst das eine oder das andere machen. Es gibt auch Leute, die machen

Mira

beides, gehen dann halt eben nicht ganz so krass

Mira

in die Tiefe, aber haben halt ein breiteres

Mira

Profil und das ist halt natürlich auch total

Mira

wertvoll.

Mira

Es gibt diese Schwerpunkte,

Mira

aber greift ja auch alles

Mira

ineinander und es ist

Mira

ja auch so, dass es halt Sinn macht, so

Mira

einen T-Shape-Profile aufzubauen,

Mira

also dass man in einer Sache schon wirklich gut ist,

Mira

aber viele von vielen anderen Sachen

Mira

auch Ahnung hat und da auch was machen kann,

Mira

dann ist man eben auch flexibler, auch wenn vielleicht ein Bereich

Mira

auf einmal nicht mehr so gefragt ist

Mira

aus irgendwelchen Gründen, ob das AI

Dominik

den überkommen hat oder so was, genau.

Dominik

Und so

Mira

macht es natürlich auch Sinn,

Mira

wenn ich als Data Scientist

Mira

jetzt mich nicht weigere,

Mira

mal das Jenkins-File zu updaten.

Mira

Da

Mira

macht es ja schon Sinn, sich dann mit einem

Mira

ein bisschen auszukennen.

Jochen

Ja, so aus meiner Perspektive ist das, ich meine, das mag jetzt etwas ketzerisch klingen oder vielleicht so Hot Take. Ich würde sagen, das ist alles Programmieren. Oder sagen wir mal so, das, was praktisch oft das sozusagen Bottleneck ist bei Leuten, die versuchen, irgendwas zu tun, ob es Produkt umsetzen, irgendwas analysieren oder Modelle bauen oder was auch immer ist, ist halt normalerweise das Programmieren.

Jochen

ist halt das Bordelneck aus so

Jochen

was.

Dominik

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,

Mira

alle bei uns können programmieren

Mira

und wenn man jetzt ein Projekt hat,

Mira

wo alle programmieren können, aber nur die Hälfte

Mira

hat Statistikverständnis, ist okay.

Mira

Wenn aber alle Statistik können und die Hälfte kann

Mira

programmieren, dann langweilt sich die eine Hälfte

Mira

der Leute, die halt nicht programmieren können,

Mira

weil die können dann ja immer nur Ergebnisse angucken und

Jochen

irgendwas dazu sagen. Oder genau, so kommt man

Jochen

es auch aus, man ist halt hart

Jochen

davon abhängig, dass man, dass irgendwie

Jochen

dieses Programmier-Dings halt auch funktioniert, weil

Jochen

ansonsten kommt man mit den anderen Sachen, ist halt

Jochen

sozusagen die Infrastruktur, die man braucht für fast

Mira

alles andere, ja. Ja, natürlich

Mira

gibt es halt auch so Programme wie SPSS,

Mira

womit man Statistikanalysen machen kann.

Mira

Das wollte ich ganz am Anfang sagen.

Mira

Das hat ja auch seine Daseinsberechtigung,

Mira

weil wenn jemand nur alle drei Monate mal eine Analyse fährt,

Mira

dann lohnt sich halt eben nicht.

Dominik

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

Und dann müssen sie alle drei Monate wieder

Mira

sich erinnern, wie man eigentlich

Mira

Variable zuweist.

Mira

Und das

Mira

dann lieber das angestaubte SPSS klicken.

Mira

Also ja, mich hat SPSS auch ziemlich schnell genervt, aber es hat schon seine Daseinsberechtigung für bestimmte Dinge.

Jochen

Oder vielleicht das SPSS des kleinen Mannes. Ich meine, das ist halt auch das, womit man täglich zu tun hat. Excel. Ja, ich meine, es gibt ganz viele Leute, die machen halt einen Großteil von dem Zeugs halt mit Excel.

Dominik

Eigentlich machen alle Leute nur in Excel.

Jochen

Alle Leute machen alles mit Excel, genau. Ja, natürlich. Man kommt auch ein gewisses Stück weit schon. Das ist so richtig, aber.

Dominik

Eine Million Zeit.

Mira

Ja, ich glaube, man hat als Data Scientist

Mira

auch manchmal so eine Arroganz, dass man Excel

Mira

überhaupt gar nicht öffnet.

Jochen

Ja, und für manche Sachen ist es vielleicht gar nicht so schlecht.

Dominik

P.D. Rietze ist heuer.

Jochen

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

Dominik

auch noch, dass man dann in Excel Spalten

Dominik

färbt, weil man macht ja Data Science für was mit Daten

Dominik

und dann soll das alles so aussehen wie vorher.

Dominik

Das geht alles.

Jochen

Ich habe da kein Problem mit. Ich generiere auch Excel-Output

Dominik

und ich lese auch Excel ein.

Jochen

Ja, also einen schönen Output machst du.

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,

Mira

also um Excel-Files schön zu formatieren.

Mira

Ah, sehr gut.

Jochen

Ja, schon.

Mira

Ja, das war tatsächlich ein Projekt,

Mira

wurden halt die Reports, das war so

Mira

ein Banking-Kontext und die haben halt die Reports

Mira

als Excel-File gebraucht, um wahrscheinlich

Mira

damit die weiterzuschicken.

Dominik

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

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

Mira

halt solche programmieren, das ist auch irgendwie völlig okay,

Mira

weil sie ganz andere Sachen machen, aber trotzdem müssen

Mira

die irgendwie die Ergebnisse

Mira

liefern.

Dominik

Ja.

Dominik

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

Dominik

Ich glaube, Miriam, du wolltest was picken,

Dominik

was auch noch mit Data Science zu tun hat.

Dominik

Vielleicht fangen wir damit doch direkt an.

Mira

Ja, also wir haben es schon so ein bisschen angestellt.

Mira

Ich hatte ja eben erwähnt, dass ich was parallelisiert habe.

Mira

Und das war total cool, weil diese Prognosen,

Mira

also dieses Modelltraining und Prognosen erstellen,

Mira

das hat halt Stunden gedauert

Mira

und auch wahnsinnig hohe Kosten verursacht,

Mira

weil anderes Thema, Pandas haben hohe Rampe gebraucht.

Mira

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 teuer.

Mira

Und dann habe ich festgestellt, dass die Prognosen alle nacheinander erstellt wurden

Mira

und alles nur auf dem Driver-Node lief.

Mira

Also diese ganzen vielen Nodes auf diesem riesigen Cluster,

Mira

die wurden alle überhaupt gar nicht benutzt.

Mira

Und dann dürfte ich das parallelisieren, in dem Fall mit Pandas UDFs,

Mira

Pandas User-Defined Functions.

Mira

Also es ist dann eine Möglichkeit, es läuft halt in Pandas,

Mira

weil es ist ein Light-GBM-Modell und es kann im Moment

Mira

noch keinen High-Spark-Data-Frame

Mira

oder Spark-Data-Frame nehmen, deswegen

Mira

muss man den in Pandas geben

Mira

oder wahrscheinlich geht auch Polars, da sind wir

Mira

jetzt gerade dran, aber ja

Mira

und man kann dann diese Prognosen

Mira

in Pandas auf diese Art und Weise

Mira

parallelisieren und es war einfach so

Mira

schön und so geil, weil es einfach

Mira

so viel schneller geworden ist und

Mira

ich habe mich sehr wie eine Heldin gefühlt.

Dominik

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

Dominik

Dann komme ich

Dominik

auch direkt zu meiner Erfolgstor, ich hatte nämlich auch so

Dominik

einen Moment, ich habe nämlich Hynix

Dominik

neues Video gesehen und

Dominik

das ist Just Love. Also ich habe

Dominik

Just Files für mich entdeckt, die hatte ich

Dominik

vorher nicht so auf dem Schirm,

Dominik

dass das so ein bisschen was ähnliches wie eine

Dominik

Makefile nur, dass man halt in einer Just File,

Dominik

das ist auch ein Rust geschriebenes Tool,

Dominik

definiert, wie so die Projektkommandos

Dominik

eigentlich alle sind und dann kann man

Dominik

das diesen wundervollen mit Variablen

Dominik

und so, es funktioniert toll, Hennings Video

Dominik

dazu zu gucken, glaube ich, ist sehr hilfreich und

Dominik

ich habe alles umgestellt bei mir, ich benutze fast meine

Dominik

Commands nicht mehr, also meine Commands bei mir noch ein bisschen

Dominik

selten, sondern einfach nur just, just run

Dominik

und der Server läuft oder

Dominik

just connect für Dev-Server

Dominik

oder sowas oder für auch Prod-Server,

Dominik

dann kann ich sagen just connect production

Dominik

und dann noch den Pod-Namen oder sowas, was ich

Dominik

übernichten muss oder ich kann sagen just lint

Dominik

oder just test

Dominik

und so. Es ist toll.

Dominik

Ich liebe es.

Mira

Das ist ja auch echt eine gute Entscheidung für den Namen.

Mira

Also richtig schlau, oder?

Dominik

Ja, voll gut. Finde ich auch. Deswegen just love.

Jochen

Okay.

Jochen

Ja, ja, ich habe ja auch tatsächlich, nachdem ich das

Jochen

Video schon gesehen habe, habe ich mir auch gedacht,

Jochen

vielleicht muss ich das auch mal ausprobieren.

Dominik

Ja, ich

Dominik

meine...

Dominik

Das ist toll, du kannst auch nach dem Just Build und du machst mit

Dominik

UV, machst dein Direktpaket-Installation, Paket-Sync,

Dominik

kannst Upgrade machen,

Dominik

alle Sachen mit den

Dominik

Kommandozeilen, die du sonst immer nutzt, reinschreiben

Dominik

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

Dominik

musst du halt immer dann einen Subprozess spawnen

Dominik

und so. Ah, ich weiß nicht.

Dominik

Das war schon sehr schön.

Jochen

Was ich häufig mache in letzter Zeit

Jochen

ist halt einfach Entry Points

Jochen

im, weil meistens hat man ja

Jochen

ein Paket, das man installiert.

Jochen

Das würde ich jetzt nicht so sehen.

Jochen

Ja, kommt drauf an, aber also ich

Jochen

hab das halt oft und dann kann ich halt auch

Jochen

irgendwie in PyProject, Project Terminal

Jochen

halt unter Scripts halt andere Entry Points

Jochen

definieren und dann hab ich halt Funktionen. Dann hab ich's

Jochen

jetzt nicht in der Command-Fuhrrei, sondern

Jochen

ich schreib dann halt einfach Python. Aber ja, es gibt natürlich

Jochen

Dinge, wo man nicht einfach Python schreiben kann,

Jochen

wenn man Datenbalken runterfährt oder solche Sachen.

Jochen

Ja klar, dann muss man irgendwie das

Dominik

anmachen. Also das DB zum Beispiel ist das andere oder

Dominik

Also Shell-Skripte da reinschreiben,

Dominik

wenn du willst, die dann Sachen

Dominik

hintereinander machen und so. Oder Tests

Dominik

machen oder gucken.

Dominik

Du kannst Environment-Variablen da reinladen oder spezifisch,

Dominik

wenn das da irgendwie passt. Und

Dominik

du hast gerade eine Sache gesagt, Pakete.

Dominik

Also du könntest ja auch einfach aus der Pipe-Produktur mal das

Dominik

Pipe-Skript dann ausfüllen lassen. Und bei mir ist es zum Beispiel so,

Dominik

dass die Dinge im Python

Dominik

und im anderen Verzeichnis liegen als das Projekt

Dominik

und die Dokumentation oder sowas.

Dominik

Und trotzdem, wenn ich das Just benutze,

Dominik

benutzt es halt dann auch den Kontext.

Dominik

Du kannst Work in Directory setzen. Toll.

Jochen

Ja, okay.

Jochen

Also ich muss es mir vielleicht auch nochmal

Jochen

angucken. Ja, mach das.

Dominik

Breaking.

Dominik

Wie Sockzeit. Geht nicht mehr weg.

Jochen

Okay. Naja.

Jochen

Ja, genau.

Jochen

Ich habe gerade überlegt, was ich picken könnte.

Jochen

Ich habe mir gar keine Gedanken gemacht, aber ich bin ja

Jochen

in letzter Zeit so ein bisschen besessen von

Jochen

nur ein bisschen.

Dominik

Du bist besessen oder das

Jochen

bist du besessen?

Jochen

Ich mache ganz einfach

Jochen

Cloud Code.

Jochen

und Dinge mit

Jochen

LLMs irgendwie

Dominik

programmieren. Das ist schon

Dominik

verrückt, also ich weiß nicht, ob du das auch

Dominik

sagst, Mira, aber die Kosten sind halt krass

Dominik

und wir nutzen jetzt halt Max,

Dominik

das ist halt das Abo,

Dominik

wie teuer ist das, 200 Euro? Ja,

Dominik

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

Dominik

aber das ist halt das 20, normalerweise müsst ihr halt

Dominik

3.000, 4.000 Euro Tokenkosten zahlen

Dominik

im Monat dafür. Ja,

Jochen

so, genau, das würde ich

Jochen

jetzt dann picken, es gibt da

Jochen

ein NPM-Paket,

Jochen

CC-Usage nennt sich das.

Jochen

Kann man per MPX zum Beispiel installieren.

Jochen

Und dann sagt einem das quasi

Jochen

für wie viel Geld man Tokens

Jochen

verbraucht hat. Und

Jochen

damit kann man sich sehr schön rationalisieren, dass das gar nicht

Jochen

so viel ist, wenn man 200 Dollar im Monat

Jochen

zahlt.

Jochen

Wie viel hast

Jochen

du diesen Monat? Auf dem Rechner

Jochen

hier 2000 Dollar Tokens.

Jochen

Und ich habe aber auch noch andere Rechner auf denen auch.

Dominik

Ja. Und das ist der

Dominik

17. heute, glaube ich.

Dominik

Ja.

Dominik

die sind gefährlich, die Dinger, die machen uns alle

Dominik

obsolet. Wir werden sehen.

Dominik

Ah, das glaube ich nicht.

Dominik

Man sitzt dann am Strand und nimmt dann sein Schirmchen

Dominik

und redet dann mit seinem, keine Ahnung,

Dominik

kleinen Roboter, der neben einem herläuft, der

Dominik

nebenbei noch unterhält, dass man weiterentwickelt

Dominik

und unterhält sich dann wie im Podcast. Da haben wir ja schon mal gut

Jochen

geübt jetzt. Also, ja, man muss so ein bisschen

Jochen

vorsichtig sein, weil natürlich wird man halt

Jochen

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

Jochen

Anforderungen hin und so versucht das genau zu

Jochen

spezifizieren. Man befördert

Jochen

sich selbst zu so einer Art Projektmanager

Jochen

und dann macht man einen ganz

Jochen

anderen Job und da muss man so ein bisschen aufpassen,

Jochen

dass das, weil dann nachher, weil

Jochen

eigentlich, also ich mache es mit der Familie

Jochen

nur, weil es Spaß macht, genau und

Jochen

ja, wenn es keinen Spaß mehr

Jochen

macht, weil ja, das ist halt,

Jochen

dann hat man sich irgendwie... Doch, was wird Holz machen?

Mira

Ja. Manchmal nutzt

Mira

tatsächlich, also für den privaten Projekt

Mira

ja auch viel Cursor und er sagt so, ja

Mira

das, worauf ich Bock habe, das schreibe ich da

Jochen

trotzdem selbst. Ja, das ist auf jeden Fall

Mira

eine gute Idee wahrscheinlich. Und sonst ist

Mira

er halt, ja, der Projektmanager, der

Mira

bei einem Juvia quasi

Mira

immer gucken muss, was der

Dominik

macht. Ja, bei mir hat auch Cursor ist raus,

Dominik

AdVenture wird eh verkauft, aber Cursor ist raus,

Dominik

nur noch Commandoteile und ich bin

Dominik

wie das Code. Das ist

Dominik

super. Das also, kann ich

Dominik

nur empfehlen. Ist verrückt.

Dominik

Ist grad verrückt, ja.

Mira

Ist schon, es macht also viel schneller

Mira

und dann mache ich so nervige

Mira

Sachen ab. Aber ja, man wird irgendwie

Mira

mehr zum Projektmanager, Projektmanagerin

Mira

und ich glaube, das Thema Kommunikation

Mira

Wohnen wird halt immer noch wichtig bleiben.

Dominik

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

Dominik

und dann bessere Kommunikation mit den anderen Leuten.

Jochen

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

Jochen

gehofft, dass ich irgendwie, warum ich, genau,

Jochen

während meine

Jochen

die Cloud-Jobs

Jochen

halt laufen, kann ich dann halbwegs mehr Zeit, um

Jochen

irgendwie Meetings mit Kollegen irgendwie da

Jochen

irgendwie Pläne zu besprechen, so, das sollte

Jochen

umgekehrt sein, dass ich

Jochen

lieber programmieren und dann kann irgendwie

Jochen

weiß ich nicht, so ein Avatar in so einem Meeting

Jochen

auftauchen und immer sagen, das ist eine super

Jochen

Idee, voll gut.

Jochen

Genauso machen wir das.

Dominik

Kann auch Kluge Dinge sagen, Jo.

Dominik

Du kannst das Training, kannst dann unsere Podcast-Folgen

Dominik

eingeben dann.

Jochen

Ja, ja, okay.

Jochen

Einiges ungekrempelt.

Mira

Wir haben halt manche Leute, die hätten wirklich

Mira

was Spannendes 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.

Mira

Ja, das geht.

Dominik

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

Dominik

ich glaube, es gibt noch andere,

Dominik

die Whisperers ersetzen, das ist verrückt.

Dominik

Wie gut die sind und wie natürlich die auf einmal klingen,

Dominik

ja, das ist schon crazy. Ja, also Stimme, LLM Labs

Jochen

hat da super Modelle, aber

Jochen

fürs Generieren von Podcasts,

Jochen

Notebook LLM, das, ja, da geht

Dominik

alles. Das ist crazy, ja.

Dominik

Danke, Mira, dass du da warst. Ja.

Dominik

Ja, sehr gerne, hat Spaß gemacht.

Dominik

Also, denk dran, Hörertreffen am

Dominik

20. September.

Dominik

Ja.

Dominik

Ja, Hörertreffen.

Dominik

Ja.

Dominik

Und, ja,

Dominik

kommt vorbei, hört uns, hallo at pythonpodcast.de,

Dominik

alles Feedback, alles und so weiter.

Dominik

Jo, vielen Dank und bis bald.

Mira

Alles klar. Und hört auch gerne

Mira

meinen Datasign Steve Dive rein.

Dominik

Auf jeden Fall. Großempfehlung. Bis bald.

Dominik

Bis dann. Tschau. Tschüss.