Latest / Agentic Conversations (formally mlops.community) / Visualize - Bringing Structure to Unstructured Data // Markus Stoll // #258
Transcript
- 0:00I'm Marcus, I'm from Renomix. I'm Fauna Co founder and city
- 0:05often Renomix and I like my coffee as a batter macchiato,
- 0:11sometimes with vanilla flavour. Welcome back to another Envelops
- 0:17community podcast. I'm your host Demetrios.
- 0:19Today. Talking with Marcus has been
- 0:22enlightening on the car simulation front.
- 0:25Well, just simulations in general and how he's been doing
- 0:30some really cool stuff with embeddings.
- 0:32We got into it at the end on how messy this data can be and
- 0:37what's been taken up a tonne of his time and why he feels there
- 0:41aren't the right tools for the job when it comes to some of
- 0:45these data pieces that he has. And it's not only for
- 0:50simulations, but just for the immense amount of data that he's
- 0:55been gathering with these use cases that he's working on in
- 0:59partnership with car companies. So we got to geek out a little
- 1:03bit on car companies and roads. And if you're Italian, I mean no
- 1:08harm when I say that you have shitty roads.
- 1:11It's just a fact of life. Also, Greek, I threw you under
- 1:14the bus. Let's be honest, there's some
- 1:17places that have really nice roads.
- 1:19And me living in Germany, I'm going to look down on all of you
- 1:23that do not have the nice roads because Germany's got some nice
- 1:26roads. I'm going to give it up to
- 1:29Holland. Holland, they might have some of
- 1:32the best roads in all of Europe. They spend a lot of money and
- 1:36those roads are super smooth. All right, let's get into this
- 1:39conversation already. Enough about them roads.
- 1:40If you like it, share it with one friend, please.
- 1:50All right, real quick, I want to tell you about our virtual
- 1:52conference that's coming up on September 12th.
- 1:54This time we are going against the grain and we are doing it
- 1:58all about data engineering for ML and AI.
- 2:03You're not going to hear rag talks, but you are going to hear
- 2:06very valuable talks. We've got some incredible guests
- 2:10and speakers lined up. You know how we do it for these
- 2:14virtual conferences. It's going to be a blast.
- 2:17Check it out right now. You can go to home dot ML OPS
- 2:19dot community and register. Let's get back into the show and
- 2:28let's just start from square one.
- 2:29What are you up to these days? Currently I'm working on getting
- 2:37our company complied so I'm CTO. So my role actually is to take
- 2:43care of scalability at the current correct time and correct
- 2:49level in the project. And currently we are working on
- 2:52getting some certificate for for our projects.
- 2:56And that's what I am working at the moment at the most.
- 3:01But aside, I'm also working on a lot of projects.
- 3:07For example, I have worked very hard and had a lot of fun
- 3:13working on that for visualisation for rec.
- 3:16So I applied to humour and other visualisation techniques for REC
- 3:22to to give the possibility to take a deeper look with
- 3:31visualisation into REC data on the document side but also on
- 3:37the query side. Yeah, I published that into a
- 3:41status. Visualising the embeddings.
- 3:43Yeah, I visualised the embeddings.
- 3:44So I reduced the embeddings using a hue map to A2
- 3:50dimensional map and this helps a lot when you try to get a good
- 3:58overview over your data, so you can see it forming clusters of
- 4:04different puppets for example. Or you can find a lot of time,
- 4:08you can find some anomalies where you will see that you've
- 4:15included some text that you actually didn't want to be in
- 4:19your database. For example, in the in this demo
- 4:22I wrote, I saw that Wikipedia FUTA and TEDA texts were also
- 4:30included in the database and they popped up like little
- 4:34clusters with a lot of points. And I solved that only because I
- 4:39was using this out of visualisation technique and.
- 4:43You're exploring the data sets through this visualisation.
- 4:48There were basically the embeddings visualisation on AI.
- 4:53Think it's a 3D graph, right? And so you can see.
- 4:57A lot, but a lot of people are using a 3D graph and so they
- 5:00reduce the high dimensional T from of like think almost 1000
- 5:06dimensions to three dimensions. But I prefer to use a 2D
- 5:11presentation because that is a little bit easier to to
- 5:16overview. It's so it's reduced more, so
- 5:19maybe you can see a little bit less, but it's much easier to
- 5:29present. So if you are creating slides
- 5:32through it or show someone a specific class, that is much
- 5:35easier from my perspective, if you have reduced it to to 2D
- 5:40because you can use a plain image and it's very hard to
- 5:44represent the 3D graphics in a presentation or in a team and
- 5:49work together on it on the team, that's a little bit harder.
- 5:53But yeah, I use, so I use this 2D2 dimensional map, a lot of
- 5:57points on it and check out the different clusters.
- 6:00Look for clusters that are somewhere outside the other
- 6:06clusters and check if is this expected, What's going on there?
- 6:11Is this data that's actually useful or some anomaly?
- 6:15And it gets even more interesting if you include them
- 6:20the question with it. So you can, for example project
- 6:23the question the same space, the question, all your questions,
- 6:26reference questions or what question from from your users to
- 6:30find out which part of the of your document space is for
- 6:36example important for your users or is important when you
- 6:42evaluate your model. So you can find for example also
- 6:46where is well clusters in your document documents that are not
- 6:52covered by your reference questions before you have a
- 6:55nation and then you can think about it and maybe add more
- 6:59questions. Or maybe this cluster isn't not
- 7:03that relevant and you can drop it from the document store.
- 7:07And if I'm understanding this correctly, you're also creating
- 7:11embeddings for the questions? Or you're just looking at which
- 7:15embeddings the questions are pointing to.
- 7:18They can use both or usually you use you embed a question to find
- 7:24the relevant documents for this question.
- 7:25So you often bring a have a embedding for a question.
- 7:30But yes, of course, it's also very important to find that
- 7:34actually the nearest neighbour of this question in the
- 7:38embedding space, which are the documents that are relevant for
- 7:40this question, maybe the five or 20 next neighbours are usually
- 7:47take into account when answering the question.
- 7:50And then you're getting a better idea of what documents are
- 7:54getting high usage and what documents are lower usage.
- 7:58Exactly. You can maybe use that to colour
- 8:03colour your similarity map so we can see how the how often the
- 8:09documents are used to a reference by questions and
- 8:12colour code that to find some kind of a heat map and see what
- 8:17area in your embedding space is important or is reference or not
- 8:21and which is not. And so how have you been using
- 8:25this? Like what are you able to do
- 8:29once you have this heat map or once you know that the documents
- 8:32are being used more frequently, What do you do with that
- 8:36information? I think the most interesting
- 8:39part for me at the moment was to to see how my or how the project
- 8:44evaluation questions are represented there.
- 8:47I have seen a lot of cases where the reference questions only
- 8:54span a very, a very limited area in the embedding space.
- 8:58And there are other documented in documents in the space.
- 9:02And it's very important to talk to the customer or whoever is
- 9:06interested in the data. Is here something missing?
- 9:10Do we don't need the data or should we try to add new
- 9:15questions? So I think the the the coverage
- 9:17idea for the reference question is very, very important, is a
- 9:21very efficient step in the project to to do to get a better
- 9:29understanding for, for the expectation of the customer.
- 9:33And maybe, yeah, then I haven't used it yet for in production to
- 9:39see how it works out to the question of the end users to see
- 9:46what documents are important for them.
- 9:49But yes, that's also they are very interesting point.
- 9:54You could use it for to to optimise your model or to
- 9:57optimise the whole approach or to reduce the data for for the
- 10:02use case based on this information how it's actually
- 10:05used to. Maybe also compare the reference
- 10:08questions that you have worked out with the the customer and
- 10:13compare it against the questions that are really have by the
- 10:18users in the end system. Yeah.
- 10:21You're able to figure out what are those 20% of the documents
- 10:24that are getting 80% of the queries and really make sure
- 10:28those are pristine. I also like this idea of as
- 10:32you're building a product, you gain insights into what the
- 10:37expectations of your users are. Yeah.
- 10:41So this visualisation is going to help you see in a different
- 10:47way this data that is coming through as people are
- 10:51interacting with your rag. And I think also what it's
- 10:59important to also collect information from the maybe to
- 11:06the to the customer or the Indian the user.
- 11:09How could the results direct system where for specific
- 11:14threats to get this feedback and also use this this feedback in
- 11:18the visualisation again to maybe find then areas or clusters in
- 11:25the document space where the system doesn't work as as
- 11:31expected. We're not only to find which is
- 11:33covered, but also find out which cluster in the document space
- 11:38has which has which quality level based on the.
- 11:44Feedback. So you're taking it a step
- 11:49further. It's not just what questions are
- 11:51coming through, what documents are relevant, what are the best
- 11:56ways to answer these questions, but also what is the actual
- 12:01output. And then using some kind of
- 12:03evaluation criteria on top of that and being able to see what
- 12:07the output was and visualise it differently than just a bunch of
- 12:12question answer pairs. Yeah, exactly.
- 12:15And I think the important step is not to use some automatic
- 12:21measurements or criterias, but real user feedback.
- 12:26So we always try to include very early in our projects some
- 12:31feedback mechanism for the users.
- 12:33This other good or bad. Why should we discuss maybe this
- 12:38answer again together with you? I think it's that's much more
- 12:42important than using some rack metrics to to find to find
- 12:51decide if the quality is OK. Yeah.
- 12:55So this just so everybody knows this is an open source project,
- 13:00right? We can all go and download this
- 13:01and and start playing around with it today.
- 13:06We have different projects so the we have Spotlight.
- 13:13Spotlight is our tool that we use to look into different kind
- 13:21of data. So it has support for 3D data
- 13:24like 3 meshes. That's where we actually come
- 13:27from. We did a lot of development for
- 13:31simulation engineering, so that's supported there and video
- 13:36and audio and images, but also text.
- 13:39And it has support for visualisation of embeddings as a
- 13:43hue map. And you can use different
- 13:46embeddings and visualise, for example, also rack data and
- 13:51visualise the questions in the embedding space and the document
- 13:56documents in the embedding space.
- 13:58And that's what I have written about to about data science a
- 14:03few months ago. And you can check it out.
- 14:07It's all open source. And there's also a rec project
- 14:11from us which includes some limited, very simple rack
- 14:18techniques. It's a vanilla rack and it
- 14:21doesn't include the feedback mechanisms actually, but you can
- 14:27use it for basic projects and visualise embeddings of
- 14:34documents and questions with it. This article.
- 14:38But it's not only for Rag, right?
- 14:41You can also do classifications? Or is this is spotlight
- 14:45specifically for Rag? So Spotlight is specifically
- 14:49for, I would say machine learning date.
- 14:54So it has support for text, has support for images, videos, not
- 15:00of audio, because we have customers that use it for, for
- 15:04audio and yeah, also for 3D animations actually use it used
- 15:12it for exploration and classification of simulation
- 15:18data of car crashes. Oh wow.
- 15:22So where you can compare the end result of a car crash based on
- 15:28similarity of the deformation for example.
- 15:32But that's something you have to prepare in the project.
- 15:36So the the idea of spotlight is only to visualise 3 different
- 15:40kinds of data like 3D data or audio or amateur, a lot of
- 15:45different stuff, but together with embeddings.
- 15:49And you can use the sympetics to create some kind of a similarity
- 15:54map. And then you can use the
- 15:56similarity map to browse or go through your data, can zoom in,
- 16:00select A specific point which can be for example the result of
- 16:05a car crash. And then you can compare 2
- 16:07points in the similarity to map that are next to each other by
- 16:12visualising the actual simulation.
- 16:17So like the 3D animation of the car crash.
- 16:21So the the idea is to have have a tool that combines the machine
- 16:30learning view of the data, like you map or statistics of the of
- 16:36each points in the data set, but also have the possibility to
- 16:39very deep zoom into each point to find out what the actual
- 16:43difference is. So it's the idea to bring the
- 16:49machine learning engineer on the same page together with the
- 16:53domain expert, for example a simulation engineer for for our
- 16:57cases. OK, And let's let's talk a
- 17:00little bit more about the simulation engine, because this
- 17:02is fascinating to me, the idea of creating a 3D space and then
- 17:08simulating car crashes and creating embeddings out of those
- 17:14simulations. So you can know which car
- 17:17crashes failed in which ways and similar ways.
- 17:21And if you wanted to then search for failures or car crashes, I
- 17:26guess you could search through the embedding space.
- 17:28Yeah, that's the idea. So if it works, well, you have
- 17:34to, of course you have to do some work to get this
- 17:37embeddings. It's not the best idea to just
- 17:40take the whole animation and the whole part of the whole car into
- 17:47the embedding space, but often very easy to just define.
- 17:51This is our region of interest to defined by maybe this
- 17:56thousand points and use this thousand points to create the
- 17:59embedding for the this area of of the mesh.
- 18:04And then you can cluster the result of the of the simulations
- 18:12using a pure map, for example, based on the embeddings and find
- 18:18clusters of similar defects were the the results of the car crash
- 18:23were very similar. And maybe you can find some some
- 18:25outliers when you have found a very, very good configuration
- 18:31for some material. So that's the idea.
- 18:34This is working with car companies on testing new
- 18:40materials or testing new designs.
- 18:43Yeah, that's a use case for, for that.
- 18:46For example, it's something we we don't have this specific case
- 18:50I'm now talking about in a customer use case, but that's a
- 18:57a showcase from us. And there are people that work,
- 19:01work like that got mid spotlight every time all of them but but
- 19:04some of them. But we there are of course also
- 19:07different areas. We have a lot of projects in
- 19:10this, the entering space of car companies to start with maybe
- 19:17just simulation, post processing where you can organise the
- 19:21results using embeddings. But also and for example pre
- 19:27processing of the simulation. That's there's a lot of manual
- 19:31work to do. For example, you have to define
- 19:36how if you combine hundreds or thousands of parts together in a
- 19:42simulation, how these are are connected and you you do not
- 19:46only have that always have the the information how does paths
- 19:50are paths are connected. You have have to look into and
- 19:53compare it. OK, this this is part A, this is
- 19:56Part B and this usually with connected with this kind of
- 20:01connection. And we have in a very very old
- 20:06project now be it build a classifier that automatically
- 20:12detects the different parts and gets the idea.
- 20:15What the connection of this part should be?
- 20:21And and engineer can use this tool to create hundreds of
- 20:26connectors automatically and reviewed afterwards and then use
- 20:30this in a simulation. Oh nice.
- 20:33And. And so this is it.
- 20:35Again, going to this specific use case, it is basically so
- 20:39that when someone is creating a new style of connections or new
- 20:44parts in a car, they're able to to keep that going so that the
- 20:50simulation can understand how the dynamics would be and how
- 20:54physics would work with that. Or is it so that the next person
- 20:57who comes and tries to do stuff with it knows the way that those
- 21:01parts were put together? Oh, this project, it was about
- 21:08creating the the correct representation for the
- 21:11simulation. For example, if you have maybe a
- 21:17screw in in in reality, you would in the simulation just tie
- 21:22the points where this crew actually would be together using
- 21:26a constraint. So we wouldn't model the the
- 21:32connection itself as how it is really is a very simple model
- 21:37and you can have a cut on look of this this simple models and
- 21:45train classifier to find in which situations this connectors
- 21:52are the court ones to take and wound it up.
- 21:56I've got to come clean with you. I absolutely am addicted to the
- 22:00simulation videos on TikTok when you watch, but only when you get
- 22:06somebody good that's giving like a really nice voice over and
- 22:09they're making it really funny because you have different cars
- 22:13getting smashed by semi trucks and it's like, would you
- 22:16survive? And then you have people giving
- 22:19voice overs that are hilarious, but for the most part, you're
- 22:24not surviving when you're getting hit by a semi truck.
- 22:28That's the key takeaway there. As if people didn't know that
- 22:30one already, but so I let's talk more about what some of the
- 22:36other pieces that you have been working on are.
- 22:39What's some like cool use cases that you've been seeing out
- 22:43there are. A very cool use case for us at
- 22:47the moment is the evaluation of test data.
- 22:54So if you build, for example, a car, then you test it on test
- 22:59tracks with test drive ones and you get a lot of results.
- 23:03And it's very hard to get all the results into a
- 23:08representation that that really allows you to find anomalies
- 23:14very easily or find good setups or find arrows.
- 23:20It's actually, I think at the moment a lot of manual work.
- 23:23You have an expert that has to come to a lot of data and
- 23:27that's. Just because there's so much
- 23:29data that you're getting. Yeah, it's so much data.
- 23:32So it's a lot of work to do and I think the tools are not not
- 23:40that good how he could be actually from a machine learning
- 23:44engineer perspective. So yeah, we are currently
- 23:47working on projects where we use anomaly detection or
- 23:52classification to classify bad behaviours, so or errors during
- 24:01the test drive of of cars where you where we can use automatic
- 24:10approaches and to reduce the time that is necessary to
- 24:18actually review the data. And so this is basically like,
- 24:23well, you and I are both in Germany, so let's take some
- 24:26German cars, right? We'll go with Porsche just
- 24:30cause. So this is Porsche saying we've
- 24:33got a real car with a real driver.
- 24:35We're going to go take it onto the track that has a lot of
- 24:37different styles of roads. It's got the Italian roads with
- 24:41all the bumps in it. It's got the German roads with
- 24:43the smooth sailing where you can go on the autobahn, 200
- 24:47kilometres an hour. It's got many different
- 24:51scenarios, maybe dirt roads, whatever you have that test
- 24:54drive in real life, it's no longer, we're no longer talking
- 24:57about simulations, right? So it's in real life, it comes
- 25:00back after and it probably does various of these.
- 25:03I imagine it's going through and doing many of them and you're
- 25:07trying to just take it to the limit sometimes, or you're
- 25:11trying to just see how it drives normally and change gears, make
- 25:15sure it does everything that are table stakes well, and then when
- 25:21it gets to those edge cases, see how it performs there.
- 25:25I can see how if you have the minimal amount of sensors on a
- 25:32car, that would just be so much data that you have to sift
- 25:37through and see if there's any kind of anomalies.
- 25:40But now I can only imagine that Porsche has more than the
- 25:47minimal amount of sensors right there.
- 25:49Probably, there's probably sensors in everything that you
- 25:53now are looking at and you're trying to see, is this working
- 25:57properly or is this working less than properly?
- 26:00Because I imagine if you're a human, you don't necessarily
- 26:03feel if something's off, but you want to make sure that, all
- 26:07right, it works for 10,000 kilometres or 10,000 miles, but
- 26:11we want it to work for 100,000 miles.
- 26:13So we want to be able to catch things early and fast, and now
- 26:18you're trying to sift through the data and see if there's
- 26:21going to be something that breaks.
- 26:23How do you even go about that? It's, it's very depends on the
- 26:28data that you have already. So of course you have very low
- 26:31records, but you have a lot of channels, you have different
- 26:35modalities. We have sensor data for
- 26:37acceleration, for example, or or sound maybe also a camera run.
- 26:42So a lot of different data also. And the first thing to do if you
- 26:47set up the project like that is to see is there historical data?
- 26:53Does it that is already made? Do we have some data that we can
- 26:56use? Then we can for example, go for
- 27:01classifier for, for specific arrows that we have already seen
- 27:07in the past to find them again in the new data.
- 27:09No, actually automatically or do we have to if you don't have the
- 27:16data, then we could go approaches for anomaly detection
- 27:21and find where is some very, very rare cases and look deeper
- 27:27deep into the point in time in all channels and all videos and
- 27:32find out what's going on here. And of course you have to just
- 27:36idea that that I often prefer to do some visualisation of it.
- 27:44So you use embeddings for again for for the different signals
- 27:49and maybe for the images and for the hold your data and project
- 27:56that into a different similarity maps and go for your clusters
- 28:02and find out what's going on in a different cluster.
- 28:04Then you can philtre out one cluster if that's not
- 28:06interesting and find out what you'll end up with being
- 28:12interesting for you. And maybe you can use simple
- 28:18concatenation of the different embeddings from the different
- 28:21modalities into one visualisation.
- 28:23Or you can use multiple visualisations that are linked
- 28:27together. So you can select on one side
- 28:29the the data points based on the audio signal and on the other
- 28:34side you see OK, then if the cluster of the audio signals
- 28:40also for the subcluster in the in the different sensor space
- 28:48and use that together to find some specific clusters again.
- 28:56So you can't actually use use the embeddings for data
- 29:00exploration. But I think in the real projects
- 29:05at the mob we are doing, we are focusing on very specific cases
- 29:10to find where we can use classification or maybe also and
- 29:16the money detection, for example, to find out that the
- 29:22simple thing is that something is wrong with your setup.
- 29:25So it that's a very common case just to to find out before you
- 29:33start the actual measurement to some animal detection, if maybe
- 29:37you have connected your sensor in the wrong way, you have
- 29:43switched to cable service. That's not some order.
- 29:47Yeah, yeah, I can imagine that happens more than we would like
- 29:51to admit. And it's good to find that early
- 29:55so that you don't waste your time on bad data and you're
- 29:59trying to figure out what's going on here, Why is this data
- 30:01not giving me these answers? And you recognise, OK, well
- 30:05there was some cable switched or there was some type of sensor
- 30:09that was broken or whatever. And one thing that we are
- 30:12currently starting looking, looking into is the combination
- 30:16of of the direct world and this time series data world.
- 30:24So that you can use questions not only for your tokens but
- 30:29also you can include the data by the simple generation of SQA
- 30:35statements maybe or by code generation to give also to
- 30:41engineer or the test driver the possibility to explore the the
- 30:45data very easily. Wait, so explain this more
- 30:48because this seems awesome. So basically you're combining
- 30:52these two worlds? Yeah, but I didn't quite
- 30:56understand what that entails. For example, you could ask them
- 31:04the system which was my best round on the test drive and the
- 31:10system gets creates an SQL statement to query this data
- 31:16from from the store and find the fastest round.
- 31:23Or you can try to find what try to ask more difficult questions.
- 31:30Maybe 4/4 to find what could be the reason for something.
- 31:33I heard something was different than usual.
- 31:36There was a anonymous sound in round five.
- 31:40What could this be? And then the system can try to
- 31:45bring the relevant data to you. So it's interacting with the
- 31:52tabular data in natural language, yeah.
- 31:55That's yeah, that's the idea. Maybe by simple SQL statements,
- 31:59maybe by code generation. But that idea is to make the
- 32:04template data accessible for for test drivers or test engineers
- 32:10not not only for ML or data engineers.
- 32:14Yeah. So it's it's that test driver
- 32:16who says heard. When I was going around that 4th
- 32:20lap, there was something that was making a weird sound or the
- 32:24brakes weren't working as well as I would have hoped.
- 32:27Can you pull up why that could have been?
- 32:31And so then you you have that type of, yeah, that's, that's
- 32:37very cool. Yeah.
- 32:38And the the the big point I think is what is then the result
- 32:42of the system at the moment. Maybe you get an answer and
- 32:46text, but I think it would be much better than to to get some
- 32:50visualisation off the different channels that were relevant for
- 32:53this event and maybe a highlight of of the specific event in the
- 32:58channels. And yeah, maybe also the
- 33:02visualisation of the whole data point in here in your similarity
- 33:06map with EU MapReduce representation.
- 33:08Yeah. So not not I think that the just
- 33:12answering the question with text is OK, but very good user
- 33:17experience would be that you get then the automatic zoom it into
- 33:21the data. That's interesting for you.
- 33:24Yeah, more than you could ever want.
- 33:27And then you can go and you can use what's relevant to you.
- 33:32So then known talk to me about how you're seeing multimodal
- 33:39being used because you mentioned there's audio data, there's
- 33:42visual data, there's also this, the sensor data.
- 33:46And it feels like all of that is playing a part to give you a
- 33:50much better and robust picture. And So what do these things
- 33:55entail? That that's almost like what you
- 33:57were just saying, where at the moment when you're asking this
- 34:03text to sequel type of question, you're just getting text back as
- 34:08an answer. But in reality, what you really
- 34:11want is all the relevant data. And so talk to me about the
- 34:15multi modality. I think at the moment for us
- 34:20it's the the common approach to have different models, so also
- 34:26different embeddings for the different modalities.
- 34:29Maybe it would be in the future also possible to have all the
- 34:33different modalities combined into one modem, so trained on
- 34:39the the the behaviour of the car has simultaneously in the signal
- 34:47space and the audio space and in the corresponding image space.
- 34:52But at the moment maybe that's a little bit too too tough for us.
- 34:55So usually try to keep the things simple though, and I
- 35:01prefer to use one model that is specifically trained for audio
- 35:06and used to serve. Maybe for embedding the results
- 35:10or for classification add a second model trained on video or
- 35:17images for the second part, second group of embeddings or
- 35:23classifications. Again.
- 35:25Of course for classifications it would make sense to maybe train
- 35:29a classifier on the combined output of both models, the
- 35:33embeddings. Actually it could be a good
- 35:36idea, but yeah I'm currently not working on on one model for old
- 35:40modalities together, but on different models, each pre
- 35:44trained on data from from the Internet and maybe find you it
- 35:53on data from the different projects but usually specific
- 35:58for one modality or for audio or other signals at a different
- 36:03point for images. Yeah, it feels like the ROI of
- 36:07trying to figure out if if one model can rule them all might
- 36:12not be there, especially if you're finding success with each
- 36:17model being very specific to the specific modality.
- 36:21I could see that. And I think that the big problem
- 36:25in the this domain we are currently working in industrial
- 36:31AI domain is that you can't easily use pre trade model that
- 36:37is trained on data from the Internet.
- 36:40Because the sensor data or the audio data that is relevant in
- 36:45the project is very, very different from from the data you
- 36:49can find it in Internet. And to pre train pre trade
- 36:53models on that data, it's something I think is very, very
- 36:59clear if you look into, for example, image processing.
- 37:02So you'll get a classifier pre trained on Internet data.
- 37:06It's for cats and dogs and persons or all the arch data
- 37:11sets and industry. For the industry, you would then
- 37:15have very, very maybe boring images from production machine
- 37:24where you want to compare products if they're classified
- 37:30products, if the result looks OK, what does have a defect?
- 37:33So that's a very, very different use case than the models are
- 37:41trained on. So are you creating all your own
- 37:44custom embedding models and or are you fine tuning different
- 37:49models that already are have a? Like you're just grabbing base
- 37:52models from hugging face and then fine tuning them.
- 37:56Both. So usually we we try to find you
- 38:00models again under very different data.
- 38:04But I'm not sure if there's one strategy that for us that always
- 38:11works. We only, we always have to
- 38:13figure out what's best for the specific project.
- 38:15It's always different. Sometimes we can have very good
- 38:18results based on pre trade models, but sometimes it's clear
- 38:23that we have to do a lot of custom fine tuning or even trade
- 38:28from from scratch. We also also train sometimes
- 38:32models from scratch for specific use case.
- 38:35For example, just just detection of part connections for the
- 38:39simulation was completely trade by us without initial weights.
- 38:48Yeah, it sounds like you can get messy, especially because you're
- 38:51not getting that much data out there on the free Internet.
- 38:56Yeah, exactly. That's also always tough to get
- 39:01enough data in the in the projects what's there, there's
- 39:06often a lot of data are available, but the quality is
- 39:10always challenging. And of course, you often want to
- 39:15have enabled data and that's it's rare, yeah.
- 39:21That's expensive, yeah. Rare.
- 39:23Yeah. So usually we have to set up a
- 39:26labour process in the in the projects at the moment, not for
- 39:30the rec projects, of course it's a little bit easier, but in the
- 39:35engineering domain with test data or 3D mesh data, that's
- 39:40always a lot of to do on labelling side.
- 39:45Well, yeah, it's a little bit counterintuitive because as we
- 39:47were just talking about, you get so much data when you go for a
- 39:52test drive in one of these cars. But then you need to label that
- 39:57data, you need to clean that data.
- 39:59And just one test drive I imagine will take you so long to
- 40:04get their actual gold standard data from.
- 40:07Yeah, exactly. And also the data you have is
- 40:11often hacked into different systems based on the the
- 40:16measurement. For example, for your sensor,
- 40:18maybe you have the data in a different subsystem then for for
- 40:22your audio data, because it's the device from a different
- 40:26vendor. So you have to combine the
- 40:27signals again and you have maybe to synchronise to resynchronize
- 40:33them, because you don't have you don't know how to align them,
- 40:36no. Wait, So what do you do there?
- 40:39Because I just think about when I make music and I have two
- 40:42microphones, I clap so that I can easily synchronise them
- 40:48after the fact in post production.
- 40:51But I don't see you going before a test drive and clapping so
- 40:56that you can easily synchronise them.
- 40:59Yeah, you. Have to to do something like
- 41:01that to have to to get them synchronised.
- 41:04Or maybe you can try to have some really good clocks so far
- 41:12where you can use the timestamps for the synchronisation.
- 41:15Or you can if you don't have that, then you can go for
- 41:18specific events where you can use to to rearrange the the
- 41:25signals. Because often you also not only
- 41:28have the the mismatch between them, we also have a drift.
- 41:33So because the the frequencies is not of the measurements are
- 41:37not perfect and we would sometimes and then you have to
- 41:41do this, but only the beginning, but again and again.
- 41:46Yeah. And so that feels like just a
- 41:50whole lot of time that you're spending trying to get that data
- 41:56so that it's synchronised and then you label it and then maybe
- 42:00you can do something with it. And a different problem usually
- 42:07that is occurring is also that you have not always a good
- 42:12standardisation of the test drives.
- 42:14So as you have to dis different test drives with signals and
- 42:18maybe some different captions for the signals.
- 42:20And you have to combine this all into if you want to train from
- 42:26it into a some data set that is standardised.
- 42:30And this can also be very challenging if you have recorded
- 42:36that for a long time. We that's actually something we
- 42:40also want to try using LMMS. So to find out which is the current
- 42:50name of the channel and what could be the last name.
- 42:53You know, maybe the test drive from five years ago is to do
- 42:57this matching how which column has what, what meaning is
- 43:05something we try to and figure out the NLMS at the moment.
- 43:10Yeah, it's like, hey, given these attributes, given this
- 43:12type of data, given this last data set, give us your best
- 43:19guess. Yeah, exactly.
- 43:21And if that doesn't work out, maybe also by comparing the
- 43:24data, looking what ends up similar embedding results.
- 43:30For example, you have. So based on similarity, you can
- 43:34try to do this match just to get a good representation at the
- 43:40beginning of the data set. Yeah.
- 43:42So now I'm understanding more clearly and vividly why you were
- 43:46mentioning at the beginning of this conversation how you felt
- 43:49like there weren't proper tools in place for this type of thing.
- 43:55It feels like you're probably doing a lot of stuff manually.
- 43:59It's taken you a tonne of time. There's a bit of pain, whether
- 44:04it's the types of data being unsynchronized or coming from
- 44:09different vendors. So the sensors are going to be
- 44:12completely different. You have that data drift and
- 44:16being able to get that data in order is the first step.
- 44:24Before you can even think about any of this other cool stuff
- 44:27that you're doing with it and the embeddings and all that fun
- 44:29stuff. You got to just get that data in
- 44:32order. Yeah, virtually we try to focus
- 44:40on specific questions in the project.
- 44:42So we and and we only have to clean up the data for the
- 44:48specific use case. So I don't think it's a good
- 44:51idea to start with cleaning up the data until it's perfect, but
- 44:56try to clean up the data and get all the data you need for a
- 44:59specific use case, like a classification for that, for a
- 45:03very specific thing in the data. Because if you try to get the
- 45:09perfect data in the beginning, beginning maybe you take a lot
- 45:13of time to create a very good data set.
- 45:19And I think often you don't know enough how the perfect data set
- 45:25would look like until you start trying to use it.
- 45:29For example, by training her by 24 classifier and using this
- 45:33classifier also. So I think it's very important
- 45:37to go through the whole steps of the projects for the whole
- 45:43pipeline very fast and then deteriorate at the beginning
- 45:46again. So don't create a perfect data
- 45:49set, but just give us it a start and use it and find what is the
- 45:53real problem in the data set and fix that, because you can't fix
- 45:56all the problems there. So that's fun to think about.
- 46:00It's taking that same mentality of having an MVP.
- 46:05And I think I've heard somewhere someone saying if you're not
- 46:09embarrassed by your first version of your product, you
- 46:13waited too long to ship. And so you're saying, hey, just
- 46:17get something for one use case so you can start to understand
- 46:21what the data should look like and then slowly expand your use
- 46:25cases. And by the time that you have
- 46:28more and more use cases, then you'll understand what the
- 46:31larger corpus of data should look like.
- 46:34Because if you aren't doing it use case driven, you are at risk
- 46:40of spending a lot of time to curate that data in a way that
- 46:46isn't going to be useful for the use case.
- 46:49Yeah. And maybe also that I think very
- 46:53important point is that maybe in the beginning you don't even
- 47:00understand the use case. I think it's very important to
- 47:03close the loop to get an understanding what the the
- 47:06customer or the user actually need in the end.
- 47:10That's also true for for our rec project at the moment, we
- 47:13usually start with vanilla rec for very rec simple rec system
- 47:17just to that can be implemented in a few days or a few weeks and
- 47:23then give it to the customer and look how they use it.
- 47:26What questions are are being asked and then we can try to
- 47:30optimise them to some multi step rack or all the fancy stuff you
- 47:35can use to to increase the quality but be really stuffed
- 47:38with a vanilla rack. Yeah, keep it simpler.
- 47:42And get something out there fast, see what is hitting, and
- 47:47then learn and iterate from there.
- 47:49It's a great strategy for doing that.
- 47:53I also like that I think you can do that with just about
- 47:56anything. And if you are coming into it
- 47:59with that mindset of let's just test and iterate and test and
- 48:05iterate, and eventually we're going to start to hit the
- 48:11direction that we want to be going in, Or as I've heard other
- 48:14people put it, it's, it's almost like in the beginning, you don't
- 48:17have to know exactly where you want to go.
- 48:18You just want to be directionally correct.
- 48:21Yeah. So as long as you're moving in
- 48:24the right direction, you're good.
- 48:26All right, real quick question for you.
- 48:27Are you a Microsoft Fabric user? Well, if you are, you're in luck
- 48:31because we are introducing SAS Decision Builder.
- 48:35It's a decision intelligence solution that is so good it
- 48:39makes your models useful because let's face it, your data means
- 48:43nothing unless you use it to drive business outcomes.
- 48:46It's something we say time and time again on this very show.
- 48:50But wait, what do you mean by nothing?
- 48:53Well, SAS Decision Builder integrates seamlessly with
- 48:59Microsoft Fabric to create effortless business intelligent
- 49:02flows. It's like having a team of
- 49:05geniuses you manage in your pocket without all that awkward
- 49:09small talk. With Decision Builder, you'll
- 49:12turn data into insights faster than brewing a double espresso.
- 49:16And you know how much we like coffee on this show?
- 49:18Visually construct decision strategies, align your business,
- 49:22and call external language models.
- 49:25Leverage Decision Builder to intuitively flex your data
- 49:29models and other capabilities at breakneck speeds.
- 49:33There's use cases for every industry, including finance,
- 49:37retail, education, and customer service.
- 49:39So stop making decisions in the dark.
- 49:42Turn the lights on with SAS Decision Builder.
- 49:45Yes, I did just make that joke. Watch your business shine, SAS
- 49:51Decision Builder, because your business deserves better than
- 49:54guesswork. Want to be one of the first to
- 49:56experience the future of decisions?
- 49:58Well, sign up now for our exclusive preview, visit
- 50:03sas.com/fabric or click the link below.
- 50:08Well this has been awesome man. I appreciate you coming on here
- 50:12and taking the time to have a second conversation with me
- 50:15because our first one didn't get recorded, but I'm just lucky
- 50:20because I get to chat with you 2 Times Now instead of warm.
- 50:25Thanks for the invitation.