Latest / Agentic Conversations (formally mlops.community) / Unpacking 3 Types of Feature Stores // Simba Khadder // #265
Transcript
- 0:00Hey, I'm Simba Carter, I'm the founder and CEO of Feature Form
- 0:03and I like to drink my coffee Arabic style.
- 0:08And we're back with another ML UPS community podcast.
- 0:11I'm your host as always, Dimitrios talking to my man
- 0:14Simba today. And we got into the traditional
- 0:18and the new age. E Simba gave me a great
- 0:23breakdown on embeddings because he was one of the first people
- 0:27that I heard used the term embeddings back in like 2020.
- 0:31He told me why he was so intimate with that term because
- 0:37of his recommender system work that he did back in the day, and
- 0:40why that spurred him to go and create a feature store of his
- 0:45own and start selling it. And so now he is doing the thing
- 0:50that one tends to do when you create something cool or when
- 0:54you have a pain and then you figure out how to ease that
- 0:58pain, you go and bring it to the market to see if anybody else
- 1:02has the same pain. He really walked through
- 1:05different ways of looking at feature stores.
- 1:08I appreciated that. How vector stores and feature
- 1:11stores can play together and why they're so oftenly confused
- 1:16between needing and If you need one, do you not need the other?
- 1:19If you need both, how does that look?
- 1:22And then we talked about LLM Land and how personalization is
- 1:29a must when it comes to LLMS. I usually look at it as variables.
- 1:34He gave me a little bit of the light bulb going off in my head
- 1:38and told me, you know, it's just features that you're talking
- 1:42about. Variables are features, and so
- 1:45we can bring those into LLM prompts just as much as we can
- 1:51bring other things into LLM prompts, like the context that
- 1:56you get from a vector store. Enough for me.
- 1:59Let's hear it from Simba. So for your recommender system
- 2:05today, we've got a nice little song that I'm going to add to
- 2:08your mix and mix up your recommendations on your music
- 2:13player. This song right here is coming
- 2:17in from the Grateful Dead. It's called Dancing in the
- 2:20Street from the 1977 live edition that they've got on
- 2:29Spotify at Cornell. So for those who have never
- 2:50listened to the Grateful Dead, they had their fans recording
- 2:55every single show that they did, and every single show was
- 3:01different. There's an awesome book on the
- 3:05Grateful Dead and how they did things totally different by the
- 3:10CEO, former CEO of HubSpot. It's like Grateful Deads
- 3:14marketing or something like that, in case everybody wants to
- 3:17check that out. But let's just hear this guitar
- 3:21solo and cruise on into our conversation with Simba.
- 4:02Dude. So you were the first person,
- 4:05and I got to give you credit for this because before LLMS, you
- 4:11told me. I'm pretty sure everything is
- 4:14just like moving. It's all going to be embeddings.
- 4:18And I remember thinking I barely know what an embedding is, and
- 4:22that's how I know it was before LLMS, because once LLMS came
- 4:26out, I think everybody understood what embeddings were.
- 4:30And can you explain that position?
- 4:32Has it changed since then? Yeah, you you also have to.
- 4:39It's an experience to have people come to you and try to
- 4:42explain to you what an embedding is like.
- 4:44I'll be talking about something like, oh, there's this thing
- 4:47called embedding. So I'm like, oh, tell me more
- 4:49like, never heard of them before.
- 4:51So yeah, that's like a day in the life.
- 4:53Yeah, I think it's still true. I mean, part of how I got into
- 4:56embeddings and like, I guess into embeddings, the part of how
- 5:00I began to kind of get interested in that field.
- 5:04And kind of like the, I would say at the, at the time or the
- 5:07cutting edge of deep learning was I was doing recommender
- 5:10systems and what was really kind of new vent.
- 5:16And maybe now kind of actually, I'm still seeing some articles
- 5:20about it, like the two tower architecture, we were seeing
- 5:23people kind of pushing holistic understanding of items and users
- 5:30to the model itself and essentially turning users and
- 5:32items into embeddings. So this concept of like, hey, we
- 5:36have this holistic view of what something is the the analogies
- 5:41around like in in text we often hear about like the king is to
- 5:45queen as like man is to woman. You can get way more
- 5:48sophisticated than that. I remember I did a a bedding
- 5:52generation for an e-commerce data set and one really cool
- 5:58when I came up, one really cool like kind of analogy which looks
- 6:01like a parallelogram and and embedding visualizer was Coke is
- 6:07to Diet Coke as Cherry Coke is to Coke 0.
- 6:12Really. Wait, how does that work out?
- 6:14Well, like I think when I think of the flavour profiles, like
- 6:17Coke is a generic, like that's the standard and Diet Coke is
- 6:20the sugar free cherry Coke is like Coke standard, but there's
- 6:25almost like a slightly different like vanilla extra sugary
- 6:28flavour to it. And Coke 0 is like Diet Coke,
- 6:31but has, again, a same kind of extra flavour profile.
- 6:36And I can kind of explain it and we could talk about it and be
- 6:38like, yeah, that's how it tastes.
- 6:39But the crazy thing is, is that this model was able to derive
- 6:43that just by looking at O user X, but item Y.
- 6:47And the first time I started seeing stuff like that, I just
- 6:51was like, man, like it really deeply understands what these
- 6:56things are all by itself by looking at really sparse data,
- 6:59which if you take that and maybe expand it, you kind of start to
- 7:06see what LMS are. Or if you take that to an
- 7:09extreme level, you're like, hey, if you just read random text 1
- 7:12token after the other, like a model can actually start to
- 7:16understand ideas and concepts and and things that you wouldn't
- 7:21really think would be possible just by reading word to word.
- 7:24So this is a very long answer to your very short question, but I
- 7:28think the, the real answer is that yes, we're only like we're
- 7:33always sort of at the beginning of things.
- 7:35I think we're kind of, there's always these S curves of like
- 7:38there's a new architecture that comes out or a new style or new
- 7:44in this case, like a training technique.
- 7:46And that just pushes us to the next level and intends to
- 7:51plateau for a little while and then it goes to the next thing.
- 7:54At the same time though, every single time that happens,
- 7:56everyone's like, all right, everything we've ever done is
- 8:00now deprecated. And I remember when, you know,
- 8:04the deep learning became a thing and everyone was talking about
- 8:07even like 20/17/2018, it's like, yeah, everything else is, you
- 8:13know, deprecated now. Like we don't need anything now.
- 8:16We just everything is going to be deep learning and that's it.
- 8:20Like feature engineering is dead, everything else is dead.
- 8:22We just have to deep learning. But to this day, probably the
- 8:26most common model in production is some form of a random forest,
- 8:29like actually boosts or something similar, and I
- 8:32wouldn't be surprised if that still remains to be true years
- 8:36into the future. Yeah.
- 8:38And there's the stories that come up consistently of folks
- 8:43that go through university, they do a bunch of cool deep learning
- 8:47problems and then they get on the job and they're like,
- 8:49where's all my deep learning? What's going on here?
- 8:52First of all, you don't have the data for deep learning.
- 8:55Second of all, that's not what we do here.
- 8:58And so get used to XD Boost baby.
- 9:01It's so true. And yeah, there's a big gap
- 9:04between what people how people learn about machine learning and
- 9:07what it actually looks like in in the Natural Company.
- 9:11So I really like the idea that you mentioned before of this,
- 9:14this 2 tower architecture. I think that's cool.
- 9:18And I hadn't heard that before. And basically you're you're
- 9:21saying it, if I'm understanding it correctly, the customer is
- 9:28put as one type of embedding and then the item or whatever people
- 9:33buy is another type of embedding.
- 9:37And depending on how close these embeddings live to each other,
- 9:41you can recommend certain embeddings, correct?
- 9:44Yeah, actually how we would do it is we would.
- 9:48If I want to recommend something to a user, there's another
- 9:54common strategy which again has really become popularised, which
- 9:59was called re ranking, where we would use an embedding and we
- 10:03would do candid generation. So I would take, let's say I'm
- 10:06YouTube and the YouTube actually popularised this in their paper
- 10:10where they were like, hey, I have a user embedding, I'm going
- 10:12to take this user embedding but the model figured out all by
- 10:15itself just based on behavioural kind of items.
- 10:20And I will figure out 1000 or 10,000 video embeddings that are
- 10:25near this user embedding and those are my candidates.
- 10:29And then I'll have specialised model like one for the side
- 10:32view, one for the autoplay, one for whatever, where I will re
- 10:35rank those 10,000 candidates to decide what to show people.
- 10:39And so the one thing I think is that, yeah, embeddings don't,
- 10:44it's not just like a text thing, like we can do a betting zone, a
- 10:47lot of things like users and items, images.
- 10:51And then the other thing, which I think a lot of people miss,
- 10:54and this again re getting popular as I feel like
- 10:56everyone's relearning a lot of things that people in the
- 10:58recommended systems learn a few years ago now.
- 11:02But the other thing is that you can actually use embeddings as a
- 11:05drop in as a feature in a typical and a traditional model.
- 11:09So for example, if you're have a ranking model and you want to
- 11:14put an item as like an input, you can actually just put the
- 11:18whole item embedding in. So and do that.
- 11:22You can do things like average embeddings together.
- 11:24Like I can take the last 10 items the user watched and I can
- 11:28just average them together and blend it.
- 11:30And that that actually works with.
- 11:33But the other funny thing about embeddings is it works except
- 11:36when it doesn't. And when it doesn't, it's quite
- 11:39painful experience just trying to figure out what's happening
- 11:42because they kind of have. Debug.
- 11:44Abstractions on abstractions, yeah, it's which is why like
- 11:48actually boosts and things remain very popular because they
- 11:52might not always have the best performance, but they always do
- 11:55quite well or they almost always do quite well and you kind of
- 11:58kind of start to understand what it's doing and why.
- 12:01So you can figure out, you know, make it not do dumb things as
- 12:05easily as. That's such a great point.
- 12:09The it's, it reminds me of a video I watched on how windmills
- 12:16that are your typical windmills that we probably all seen,
- 12:19especially in wind farms, those tend to break like 10 times more
- 12:24than windmills that spin on the Y axis as opposed to the yeah,
- 12:30the typical ones. And so the windmills that spin
- 12:33on the Y axis and are just spinning around in circles like
- 12:36this. And for anybody that's just
- 12:37listening, you can think like a water bottle that has holes in
- 12:41it and it's a it's just spinning on the Y axis.
- 12:46Those break the, sorry, the ones that are the typical ones, those
- 12:51break a lot more than the ones that's been on their Y axis.
- 12:56And so you have to do some calculations on all right, I can
- 13:03generate more power with the typical windmills, but it's in
- 13:07spurts because it's going to eventually throw me an error and
- 13:11it's going to break. But I can get like 10 years of
- 13:16no breakage with these very simple windmills.
- 13:20However, it's not going to generate as much power.
- 13:23So it's almost like the tortoise and the hare.
- 13:26And that reminded me of it because you were saying, hey,
- 13:30you can have this very powerful architecture of setting up with
- 13:35embeddings on embeddings type thing and using those as
- 13:38features. But when it breaks, you're, you
- 13:42potentially are going to spend a lot of time trying to debug it
- 13:46and figure out where it's breaking.
- 13:48As opposed to, hey, let's try this simple architecture that if
- 13:53it breaks, we don't need to spend that much time debugging
- 13:56it and it is not really going to break as much.
- 14:01Or if it does break, we can get it.
- 14:02The uptime is much higher, right?
- 14:06Yeah, I think that's, that's spot on.
- 14:07It's it's, it's just more accurate in its simplicity.
- 14:10Like it's, it's you know what it's going to do.
- 14:14And depending on you just have to think of your problem space,
- 14:17like in some problem spaces, maybe having that really one, do
- 14:21you know that amazing once in a while model recommendation
- 14:26prediction is is worth the bad predictions.
- 14:29And there are other times where, hey, I'd rather have a do pretty
- 14:32good, you know, every time, then have a do amazing, you know,
- 14:38most of the time, but really badly some of the time.
- 14:41Well, I feel like you wanted to go down this route, but I know
- 14:45there's people that ask the question frequently.
- 14:50How do vector stores and feature stores play together?
- 14:56Yeah, it's a, it's a, it's a good question that it's almost a
- 14:59funny question because if they didn't both have this word store
- 15:03in them, I don't think anyone would ask this question.
- 15:07But they both kind of play with embeddings, right?
- 15:10You were saying the feature stores have the embeddings and
- 15:13then vector stores for sure are all about embedding.
- 15:17Yeah, yeah, yeah. And they both kind of touch
- 15:19data. I, I think, I think it's true.
- 15:21I think it's more like it's not things that I, I typically put
- 15:24right next to each other. But yeah, I mean, we, I remember
- 15:26like in the early days, we released embedding support in
- 15:30feature foreign and there was a mix.
- 15:34It was mostly people asking like, or being like, OK, like
- 15:38we, we don't understand very few people at that point or like
- 15:41understanding what that meant and why we like open source,
- 15:44something called embedding hub, which is like a really early
- 15:46vector database. And I think the key difference
- 15:51is really the value prop. So I'll tell you what the key
- 15:56difference is today and where I think it's going.
- 16:00So the key difference today is that a vector store is a
- 16:05specialised index, which makes it really quick to do nearest
- 16:11neighbour look UPS. So to do true nearest neighbour
- 16:14look UPS where I give you a point and you find me 10 points
- 16:17nearby is a very, very expensive problem.
- 16:22And so there are many algorithms that give you approximate
- 16:26nearest neighbour look UPS and that's a vector database.
- 16:31And so they typically build indices.
- 16:33A really common one is called HMSW, which Facebook released in
- 16:39the early days. There was a library I used to
- 16:41use a lot called Annoy, which was Spotify, right?
- 16:46Yeah, Spotify data actually, that's Eric's the guy who built
- 16:50annoy or I, I believe that he built it by himself, but
- 16:54whatever him, he's released it or I, I associate with him.
- 16:57He's now the CEO of Modal. So it's funny how all these kind
- 17:02of things he what people work on very different things.
- 17:04Everyone's kind of seen and play the law the same tools.
- 17:07But yeah, I like we. So the problem of all of these
- 17:10indices is they don't actually really fit well into the
- 17:14traditional database models. The only one that kind of does
- 17:18is a specific one, which is I believe it's IVF, and it's not
- 17:27as good as HNSW, but it's a little easier to scale and it
- 17:30works better and looks more like a traditional index.
- 17:34But anyway, so I've actually database as a way to index your
- 17:40vectors through embeddings such that you can do nearest
- 17:43neighbour lookups pretty quickly and there is a give and take of
- 17:48how of recall and that's kind of the difference between the
- 17:57different algorithms. There's also difference in speed
- 18:00and latency, scale, usability, UX, whatever.
- 18:04So that's the way the vector database is kind of fight
- 18:07amongst themselves. Feature stores are almost
- 18:11solving of quite a different problem, but has a little bit of
- 18:13overlap. The problem that feature stores
- 18:15are solving is the problem of a lot of ML is inherently so a
- 18:24specialised form of data engineer.
- 18:26Like you take data and you turn it into features, put in a less
- 18:31ML wordy way. Like I have raw data and I need
- 18:35to pull signals out of it. And so a lot of what I'm doing
- 18:38is just kind of iterating on the data to get the best signals
- 18:41that I can provide to my model for it to do a good job.
- 18:44Now there's a lot of problems that come into that.
- 18:47Some of it is organisation like versioning, lineage, governance
- 18:53comes up a lot and it is a production problems, which is
- 18:57OK. Well, even if I build this thing
- 18:59in my notebook and I use pullers or pandas, well, I need to get
- 19:03this in prod. And in prod, if it's like a
- 19:06recommender system, it can't go down or bad things happen.
- 19:10So how do I build a enterprise grade data pipeline for all
- 19:18these features I built? And by the way, like I'm a data
- 19:21scientist, like I'm not a data engineer.
- 19:24And So what we see a lot of is like data scientist going to
- 19:26data and teams and giving them notebooks like, oh, here's my
- 19:29notebook, can you please put this in prod?
- 19:31And so there's this like awkward friction between data and data
- 19:34science where data engineers are like, like these data scientists
- 19:38have thousands and thousands of things they're throwing our way
- 19:41and we just have enough stuff to do.
- 19:43And in practise, like the amount of asks that you'll get from
- 19:47data science versus the ROI of every specific data pipeline is
- 19:51actually it just the math isn't really math very well.
- 19:55And then for the data scientist? Wait, because of the data
- 19:59scientist being way more valuable like they're.
- 20:02The stuff that they're asking to put in production is so
- 20:04valuable. Is that why?
- 20:05Actually it's it's more of that like, hey, this might
- 20:08incrementally increase my model a little bit.
- 20:11Oh, OK. And so a lot of asks for a
- 20:14little bit of lift, correct? And but so data scientists job
- 20:18and that little lift doesn't make like a difference to the
- 20:20business. But from the data engineers
- 20:21perspective, it's just like a painful and from the data
- 20:27scientists perspective, it's like, how can they do their job?
- 20:29Like it's science, It's it's, it's a lot of hypothesis testing
- 20:32and throwing stuff away and evaluating things.
- 20:35If every experiment is very expensive, then you know, but
- 20:40you can't really do your job very well.
- 20:41And so where we find the teacher stores being really valuable is
- 20:45making it possible for data scientists to kind of
- 20:48self-serve, build an experiment and deploy their own future
- 20:52pipelines and have us be kind of like this harness that gives
- 20:56them. Yeah, the versioning, the
- 21:00monitoring, the scale, the up time, all the things that you
- 21:05would expect, incremental processing, stream processing,
- 21:08everything you'd expect. And maybe a really good data
- 21:11engineer could do. We make it possible for data
- 21:14scientists to do themselves. And, and so the promise space is
- 21:18different. Now the overlap is that will
- 21:19sometimes those features are embeddings.
- 21:24And so that's where the overlap is.
- 21:27I see. That's where they dance together
- 21:29because I think the confusion comes in when you hear folks
- 21:34talking about how they're using vector stores for their
- 21:38recommender systems. Yeah.
- 21:42And I, I think what it is, is I would describe it as everyone
- 21:45has a feature store. If you have a model in
- 21:47production that takes data as inputs, whatever process you
- 21:51take to get that data there and manage that data processing,
- 21:54that's your feature store. Now they could be a bunch of
- 21:58bash scripts. It could be a Python package
- 22:02that you install the dark container and just like do the
- 22:04processing on the fly. Like there's a lot of things
- 22:07that people do. But that whole kind of promise
- 22:11space I would define as a feature store.
- 22:13And a lot of what I'm doing when I'm talking to to prospects is
- 22:17trying to understand if they have malls of production.
- 22:19It's like you have something here, help me understand like
- 22:22what that looks like today so I can show you what the kind of
- 22:26ROI would be. Yeah.
- 22:28Do you feel like there are phases to when you need more of
- 22:36a bulletproof solution as opposed to those bash scripts?
- 22:40And because I remember we had Neil Lithia on here ages ago,
- 22:46and he was head of ML at Monzo Bank.
- 22:49And one thing that he said, I think they had their own
- 22:52homegrown feature store, right? And he was saying, yeah, what I
- 22:56see with if we wanted to buy something off of the shelf,
- 23:00that's us going and trying to leapfrog in a way.
- 23:06It's us saying, cool, we have nothing now we're going to one
- 23:11really quick because we can buy it off the shelf as opposed to
- 23:14we've already got something in there and it's working and the
- 23:17gradual increase of us making it better and better.
- 23:21And so I wonder if there's patterns that you've seen where
- 23:27you're like, I recognise that you're currently at this scale
- 23:33and you want to go and do it this way.
- 23:36Or I recognise that your current architecture, your, the way that
- 23:40you set it up, is this brittle? Because I can only imagine that
- 23:44we all in the back of our heads are we know our weak spots and
- 23:49we are all just expecting, even if it isn't, we all kind of have
- 23:53nightmares of how brittle our systems are.
- 23:57And so anyway, tangent aside, if there was a question in there,
- 24:03I'm sure you're going to answer it right now.
- 24:06Yeah, I think the question I would define it as like when do
- 24:09you actually need a feature store or or how do you even
- 24:12decide like feature aside like like how do you do that analysis
- 24:18of like, OK, it's time to go of a vendor or something off the
- 24:20shelf versus hey, we have our own home grown hacky thing.
- 24:23We know it's hacky, but what's actual ROI of going for
- 24:27something else? And I actually think that this
- 24:30question is was at the heart of we both kind of saw like an
- 24:36implosion of MO OPS startups because there was just like
- 24:39humongous to like everyone had an MO OPS company for like a
- 24:43moment in time few years ago. And then a lot of those
- 24:46companies don't exist anymore. And there was this kind of era
- 24:51where people were buying MO OPS just almost experimentally,
- 24:57like, let's just try this or we heard this is a good idea.
- 24:59I'm not really thinking of ROI, just more like we need more
- 25:02shiny tools. And I just think that LM OPS
- 25:06kind of sort of looks like this today.
- 25:08That's what I was going to say. I and I don't know if I fully
- 25:11agree with a lot of those companies are not around
- 25:14anymore. I think a lot have maybe pivoted
- 25:18to LLM hubs companies and or the the story has changed because
- 25:26folks feel there's a bigger market out there with the LLM
- 25:30use cases, which I'm not necessarily sold on.
- 25:34But that's a whole another conversation.
- 25:36So forgive me for interrupting you.
- 25:38No, I, I, I think you're, I think the company that, that
- 25:42maybe we're referencing or companies that I would say were
- 25:45like above the fold. So companies that most people
- 25:47knew about and had some there's this like this whole like for
- 25:50every, for every monitoring company you knew about, there
- 25:53was like 15 that, you know, very few of us have ever heard of.
- 25:57Same a feature stores for every feature company you've heard of,
- 26:00for every feature form, there was 15 companies that even I
- 26:03didn't know about all the time until I would randomly run into
- 26:05them in like a cycle or someone's like, oh, there's this
- 26:07thing that has no website but we're thinking of music and so.
- 26:13Yeah, I think there was that era of a friend who as he knows a
- 26:17thing or two about feature stores.
- 26:19But but also I'll let you make your point on the question that
- 26:23I didn't ask before that I tried to ask but couldn't get out.
- 26:27But I will say that feature stores feel like it is
- 26:31relatively strong because you do see that folks are still coming
- 26:35out with new feature stores. Like there's, I heard about
- 26:39chalk the other day and I heard about what's the one that Airbnb
- 26:45open sourced, right? And so the fact that there are
- 26:48more people coming into the space, even though it is not
- 26:55viewed as like the booming space that it once was, is still a
- 26:58good signal. And I, I know that you mentioned
- 27:01before we hit record that like it's just something you do.
- 27:04It's not as sexy as it was in 2020, but it is still something
- 27:08that is very useful. Yeah, I think if you talk to at
- 27:14least in feature store space, I don't know so much about the
- 27:17upper arm off spaces, but at least in our space, even like
- 27:20our competitors will say like, yeah, like all boats are kind of
- 27:23rising in feature stores. There's this way more.
- 27:29I think what it was, was a lot of people didn't really fully
- 27:32understand the problem space or we kind of understood but like
- 27:35we need to do this ourselves and field ourselves.
- 27:38That might have been driven by a little bit of like, I think good
- 27:42reasons in some places. We're like, hey, before we bring
- 27:44this vendor in, let's make sure we actually understand this
- 27:46problem. There's probably some bad
- 27:48reasons where, hey, this is like the hottest thing ever and
- 27:50everyone who's doing this is writing blog post.
- 27:52So I want to do this and not buy it, which, you know, always
- 27:56happens in new categories. And I think we'd move past the
- 27:58air where it's like, hey, the ROI, the feature store is kind
- 28:01of well understood. Now if we, you know, have data
- 28:04scientists doing ML and they're working with data, if they're
- 28:06always complaining about all sorts of things related to the
- 28:09data feature store is kind of an umbrella that solves a good set
- 28:12of those problems. But just get one like there's
- 28:16enough of them very well proven at this point.
- 28:18They have big customers like, are we really going to build
- 28:21this in house? Why?
- 28:23And I think everything we ran into is evo.
- 28:26A lot of companies could build in house, like you mentioned,
- 28:30like Airbnb, Like what ends up happening a lot of those
- 28:33companies is if I build something valuable in house, the
- 28:37team that builds it then leaves, starts a company and kind of
- 28:41leaves the company holding a bag of like, Oh yeah, this thing
- 28:45that we built originally that now everyone who actually wanted
- 28:48to drive it forward has now left and all your left with this like
- 28:51maintenance on it and it just degrades, which you've seen a
- 28:55lot of. That happened with the LinkedIn
- 28:58feature store Feather, I think, which is a bummer because when
- 29:02it came out, we interviewed the folks that worked on it and then
- 29:06it feels like it didn't get picked up and it didn't get the
- 29:10energy that it needed to be injected into it.
- 29:13But you made a great point on Resume Driven Development.
- 29:17And in 2020 for there was so many blog posts about feature
- 29:22stores. That's so true that yes, if I'm
- 29:25going to be working in the ML op space, what am I going to do?
- 29:28Well, an easy win is I build my own feature store.
- 29:32And we even had Nicholas on here a few weeks ago and he was
- 29:35talking about how he has Big Query as their feature store S
- 29:41type solution. And so it, it is like that, that
- 29:45thing still happens. And that was the reason that I
- 29:50wanted to ask you the original question that I asked you and
- 29:54didn't let you finish and give your answer to.
- 29:56So now I'm going to shut up. I swear I'll go on mute and I'll
- 29:59let you give your answer. Yeah.
- 30:01I, I also have the problem of like who also I'm like, oh, we
- 30:05can talk about all these other things too.
- 30:06But yeah, coming back to the main problem that that that
- 30:09mentioned, which is, hey, you know, I had big query.
- 30:13We have this kind of ad hoc process in the house and we use
- 30:16as our feature store. Do we need an actual external
- 30:21feature store? So first of all, answer very
- 30:26pragmatically of like you owned a whole on loss platform and a
- 30:29feature source is one of many things that you can invest in by
- 30:32I think in practise, there are four, call it modalities that
- 30:37like a ML engineer, data scientists will be in.
- 30:41Where's the data modality, which is like when they're working
- 30:43with data and putting data pop as a production.
- 30:46Where's the training modality, which is like experimenting,
- 30:50sometimes locally, sometimes in notebooks, just like building
- 30:54malls. This is where like ML flow, like
- 30:56this is the part of the the mall pipeline or using something like
- 30:59ML flow or weights and biases or something.
- 31:01There's mall production, which is OK.
- 31:03Now I have a small, it's in a model store.
- 31:05Actually to get it in production, I need to serve it.
- 31:08I need to have this up time to slate and see all that sort of
- 31:10stuff. GP us all that comes in.
- 31:13So there's deployment and then there is evaluation and
- 31:16monitoring, which is the final bit.
- 31:19So those are kind of the four modalities and arguably the four
- 31:21problem spaces. So to to say them in order data
- 31:26model, training model production or model serving, whatever, and
- 31:29then monitoring evaluation. So my first question would be,
- 31:33OK, talk to your user because you're a platform team.
- 31:36So if you think of your platform like a product, your goal is to
- 31:39make your ad user happy and your ad user is a data scientist or
- 31:43I'm all engineer or something. So what do they of those four
- 31:46things, what's causing them pain and what's does that pain equal
- 31:53like beyond just like I hate this, like is it slowing things
- 31:57down? Is it causing errors in
- 31:58production? What else?
- 32:01Typically the answer, the question, the answer is almost
- 32:05always going to be 1 of monitoring, evaluation or data.
- 32:08At least in practise, I've seen that those two tend to be the
- 32:11ones that have the most pain. And it's no surprise then that
- 32:16when you think of like Amalop startups, the ones that I've
- 32:19kind of most done, I think have done quite well are companies in
- 32:25both of those categories, data being feature store companies
- 32:28and then monitoring evaluation companies.
- 32:31Interestingly, in LMS, you could almost ask the same questions
- 32:35and you end up at the same place for most of the problems are
- 32:38data and monitoring evaluation, like come back to that later.
- 32:42But yeah, so that's the first bit is like, which one matters?
- 32:45If it is data, the question becomes a what about the data?
- 32:50And one thing about like feature fame specifically part of how we
- 32:54built it and why we built it, we call ourselves a virtual feature
- 32:57store or the premise that it sits above your existing
- 33:00infrastructure. So the problems that we saw,
- 33:02they're much more about productionizing things and
- 33:05operationalizing feature pipelines.
- 33:07So it sits above Big Query, it sits above the vector story,
- 33:10sits above these things. So it's the application layer
- 33:13that sits above your infra and it makes all work together
- 33:15coherently like a feature store. Gartner came out and called this
- 33:20concept a logical feature store. We weren't I I came up with the
- 33:27name logical feature sort of felt kind of like a other handed
- 33:30thing to say. We're the logical feature starts
- 33:32at a virtual, but conceptually it's like the the logical layer,
- 33:37the semantic layer of features above the emperor.
- 33:41And so if you have a data problem, the question that
- 33:44becomes what kind of feature store?
- 33:45And there's three kinds which I can get into, but maybe I'll
- 33:47take a second and let you ask any follow-ups you.
- 33:50Have Don't even get me started on Gardner.
- 33:54That's all I got to say about this.
- 33:56Yeah, but it's an interesting with the small of gardeners.
- 34:02Well, so the fascinating bit is the the four pieces of the life
- 34:10cycle. And I do like how you you've
- 34:14clumped together like there's the data piece, which is there's
- 34:18so much inside of that data piece that can be a headache,
- 34:22right? Like just the data acquisition
- 34:24or as you were talking about earlier, you mentioned a few
- 34:26good things like the governance or transformation or access even
- 34:34can be a pain depending on if you're at a gigantic company or
- 34:37not. And then you have the
- 34:41deployment, the model training is another interesting one
- 34:45because that one for sure feels like there's less pain there
- 34:49because the tools in my eyes are very mature.
- 34:53And so you look at like awaits and biases or an ML flow and
- 34:56those tools feel very mature compared to the rest of this
- 35:00life cycle. And maybe that's because the
- 35:04training has been around almost longer than that was like the
- 35:08first thing to kind of pop up in the life cycle.
- 35:11I don't know, maybe you have theories around why those tools
- 35:14are more. Mature, yeah, they just came a
- 35:16little earlier and I think the problem space is a little more
- 35:20well understood. I think data like you said, like
- 35:22what does that even mean is very dependent on the type of
- 35:25company. So the solution is way more, has
- 35:28to be way more complex and same with monitoring, evaluation,
- 35:31whereas like training and serving, it's like an end, it's
- 35:34like this lots of matrix multiplications and GPUs.
- 35:38Is this Yeah. I'd say just throw more GPUs at
- 35:42it. You're all good and so OK.
- 35:45There we are. Now keep cooking because I know
- 35:49you wanted to say something else.
- 35:52Yeah, I want to maybe Dad, because the other thing that I
- 35:55think there's a lot of confusion about with feature stores is OK,
- 35:59like there's, I get it, like there's this data problem, but
- 36:03there's all these feature stores and they all look kind of
- 36:05different, but they all call themselves feature stores.
- 36:07So kind of like understanding what's actually happening there
- 36:11and what you need. And one thing we've done is
- 36:15we've kind of broken up the feature stores into 3 distinct
- 36:19categories. And the categories are
- 36:22interesting because they all kind of came about at the same
- 36:24time and there were just three different solutions to the
- 36:28problem. One solution which was
- 36:31popularised by Feast, I would call the literal feature store,
- 36:36where you literally just store your features there.
- 36:38This is kind of how Databricks is feature store, Sage Maker's
- 36:40feature store looks for you transform it and you build it
- 36:44somewhere else. And they would define the
- 36:47feature as like a table. So the artefact of the
- 36:51transformation is the feature. So the benefits, it's really
- 36:56simple, like you just have a new sync to put your, you know,
- 36:59features into. The cons is everything I just
- 37:02said about productionizing feature pipelines, dealing with
- 37:05streaming data, versioning lineage, none of that stuff
- 37:08really gets solved by the literal feature store.
- 37:11So in some ways it's like a very simple add on, but in other ways
- 37:17it doesn't really do much with the databases feature store.
- 37:21It's almost like such a lightweight thing that it's
- 37:25almost like a specialised sub part of the UNI catalogue.
- 37:29So every single table in data bricks is unique catalogue, but
- 37:33it has a primary key they just put in the feature store.
- 37:36It's just like, yeah, it's the same thing.
- 37:38Like a table of a primary key is a feature.
- 37:39Like that's that's kind of their approach.
- 37:42And then yeah, part of the problem they solve, I should
- 37:44make sure it's clear, is that there's another big problem with
- 37:47features, which is training and inference.
- 37:49A training time you need to kind of batch high throughput data of
- 37:53all my historical feature values.
- 37:56And then an inference time I need to be able to just do a
- 37:59quick look up like, hey, Demetrius, just open up Spotify,
- 38:02I need to do recommendations for him.
- 38:03I need to look up the features now.
- 38:06And so having like these pre computed cash features and
- 38:09something like Redis or Dynamo in keeping that In Sync with
- 38:13your training data is another problem that these things solve.
- 38:16Yeah. Wait, can we, can we pause real
- 38:19fast right there? Because there's something
- 38:21fascinating for me when it comes to Databriggs and Sage Maker
- 38:29feature stores and these end to end platforms like Vertex or
- 38:34Azure, I think has one too, right?
- 38:36And it feels like what they did is almost like what Microsoft
- 38:40Teams did against Slack where they said, Microsoft just said,
- 38:46you know what, you get Office, cool.
- 38:48You can also have Teams. And so Sage Maker said, yeah,
- 38:52cool you you have Sage Maker. Well, you also get a feature
- 38:55store. And I would love to hear your
- 38:59thoughts on how that is like when you look at the space and
- 39:06you see big platforms that just kind of throw in the feature
- 39:12store as a part of it. Where's your head at on that?
- 39:17Yeah, so. Yeah, I'll answers in two parts.
- 39:211st I'll answer from the perspective of data bricks.
- 39:24So data bricks or, or or something like data bricks, I'm
- 39:28just going to use data bricks just because it's they have a
- 39:31feature store, but that's well known.
- 39:34So data bricks they're NRR which frozen.
- 39:39No, it's kind of like they're not revenue retention, which is
- 39:41like if I have, you know, ex customers and they pay me a
- 39:45billion dollars a year, ignoring new customers, how much will
- 39:51those customers, the same ones pay me next year?
- 39:55And so it's almost like upsell, like how much more are you
- 39:57paying Daybreak or expand? Exactly.
- 40:01And so I I believe they're numbered and someone's going to
- 40:06probably fat to call me, but I'm going to save her number sort of
- 40:09kind of looks like 150% even it's 120%.
- 40:14Let's just say 120 if you're at like a billion revenue.
- 40:19That means that they're those customers paying the billion
- 40:22revenue now paying 1.2 billion next year if they do nothing,
- 40:27like they can literally do nothing and they just make 20%
- 40:31more dollars than they made the year before.
- 40:34And they are held to task on that.
- 40:37It's a huge revenue, It's a huge metric that like companies like
- 40:41Snowflake and others are held to.
- 40:43And so how do you do that? Well, there's one bit which is
- 40:47OK, like just make people use the product more.
- 40:50And there's another bit which is like, OK, well, like how do we
- 40:53make it more? How do we get in more places,
- 40:55make it more sticky? So, but I thought ML big use
- 40:58case, lots of money, very let's just throw tools at it that make
- 41:02it useful for ML and make a stickier for ML and we benefit
- 41:07from there. So that's kind of perspective is
- 41:08just like we need to get people to spend more money on data
- 41:12bricks. So very on data bricks, it's
- 41:14easy to get people to spend more money on a vendor they already
- 41:17have and to get a new vendor in. And so we'll just do that.
- 41:21So then there's a question of OK, feature stores, you know,
- 41:23data bricks has 1. And I think this is where like
- 41:26the space, and I think a lot of spaces have to justify the
- 41:30incremental value. And so feature form, we took the
- 41:33approach of being open source and we also took the approach of
- 41:37playing very nicely with data bricks, this feature store, for
- 41:39example, in fact, every feature, if you're using feature form in
- 41:43data bricks, every feature that's built with feature form
- 41:47runs on data bricks and appears in the data bricks feature
- 41:49store. So it's like data bricks, this
- 41:51feature store plus plus like it's only incremental value on
- 41:54top. And then the question becomes,
- 41:56OK, well, like how much is the incremental value worth to you?
- 42:00And you know, if it is valuable, yeah, we charge X dollars, how
- 42:06much ROI do you get on that? And so there's some math to be
- 42:08done there. But yeah, I think you're right
- 42:11in that a lot of companies are releasing these and taking this
- 42:13platform approach, this kind of idea like data gravity, or if
- 42:16they all lives in one place, it's, it's easier to kind of
- 42:19sell and like more things on top of it.
- 42:22And I think the question really becomes quality, which is like
- 42:26the AWS, like AWS has a service for everything, right?
- 42:29But it's kind of accepted that the AWS 1 is kind of the
- 42:32baseline, like it's like, OK, like it can only get better from
- 42:35here, but is this good enough? And I think the same is true of
- 42:39data bricks, but data bricks, I think to their credit, still has
- 42:43more of a quality component than maybe like AWS service do.
- 42:47So there's maybe more of an argument to be made.
- 42:51And anyway, I, I think it's a very long answer to what I think
- 42:54of like the, the, the, there's a business reason why they do it
- 42:58and that business reason, it's not like we're trying to be an
- 43:00envelops company. I don't think they really, I
- 43:02don't say we don't care about the quality of it, but it's,
- 43:05it's, it's more of a way to drive more spend of data bricks.
- 43:09So anything they can do, they could just kind of add on, is
- 43:11this a way to drive more data bricks spend?
- 43:13And in a funny way, if we continue to do as we're doing,
- 43:18continue to do well, continue growing and it becomes, we
- 43:20become like a de facto feature store.
- 43:22I don't think data bricks cares. I think they're like, cool,
- 43:25we'll just support feature form because they're still driving
- 43:27more data bricks spend. And then And that's all data
- 43:30Bricks cares about. Yeah, if you look at what they
- 43:33did with Mosaic, that's exactly to what you're talking about.
- 43:37They bought Mosaic and they said now you have a place inside of
- 43:42Databricks to do all your LM stuff.
- 43:45Yeah. And Tabular was an interesting
- 43:46acquisition where they were just like cool.
- 43:49We're just kind of, I mean, that one has a very fun story behind
- 43:53it, but the the very short of the story is like we can pretty
- 43:58much make a whole differentiation, not be
- 44:00differentiation anymore by just unifying every data format or
- 44:04table format under 1. And so, yeah, they they've done
- 44:08very well. I mean to, but not a company
- 44:09that's easy to compete against a snowflake.
- 44:12I think numbers are same. Yeah.
- 44:14So I derailed you when you were talking about the different
- 44:18types of feature stores. That was one type, which is you
- 44:21called it the literal feature store, right?
- 44:25Classic feature store like Feast or pretty sure that's what we
- 44:30had Nicholas on here using Big Query as that.
- 44:34That's where they stored features and so.
- 44:38And that's why the name gets and that's what a lot of people
- 44:40think of feature store is, which is unfortunate because it's
- 44:43like, Oh yeah, it's a feature store.
- 44:45It's a place where you store features.
- 44:46And this is where like the vector store comparison comes
- 44:48in. It's like you store your
- 44:49features in the feature store and the vectors in the vector
- 44:51store. But how, if my vectors are
- 44:53features, where do they go? And that's where people get
- 44:55confused. But I would almost argue that
- 44:58it's a feature store isn't really a feature store.
- 45:01It's not really a storage of features.
- 45:02It's just a term that got coined and all of us are kind of stuck
- 45:06using other companies like Tecton, for example, they've
- 45:09gone and tried to rebrand the term.
- 45:12We call ourselves a virtual feature store, they call
- 45:14themselves a feature platform, which all are just trying to
- 45:18show, hey, it's not just a storage of features.
- 45:21And so if I get to like my next maybe category, which I call the
- 45:25physical feature store, some would call like a feature
- 45:27platform. And this is where like Tecton
- 45:30lives and others live. And the approach there is that
- 45:34you do the compute. So it's not just it's the
- 45:36features defined as a pipeline, which I think is the correct
- 45:40definition. If I think of a feature in my
- 45:41head, the top five things the user clicked on, like when I
- 45:44think of that, I'm thinking of it as like almost like a, a
- 45:47sequel query in my head. It's not the table at the end,
- 45:51it's the actual definition. And so the physical feature
- 45:56stores approach is like, hey, data scientists can give us
- 45:59these definitions, we will build them and make them production
- 46:03ready for you so that you can very easily iterate on features
- 46:06using the prod, get that monitoring, get the version and
- 46:08get all that those nice things that you need.
- 46:11And we have this hyper tuned compute framework that we think
- 46:18is even better than Spark. You mentioned chop, that's kind
- 46:21of very they've mentioned they're saying like, are you
- 46:23tired of Spark? Like you use, you use chop.
- 46:27And so that's the approach. It's like, OK, we are owning the
- 46:30feature pipeline and we are building those features better
- 46:33than you can yourself and better than Spark can.
- 46:37So excuse me, this is what Nicholas was doing with Big
- 46:41Query. They were computing.
- 46:43And now that you say that, I'm remembering the conversation
- 46:45because he was saying before we implemented Big Query as like
- 46:48the standardised spot, we had all all these ad hoc jobs
- 46:53running because data scientists would introduce a little bit of
- 46:57feature compute into their code. And then when they would run it,
- 46:59it would run here or there or whatever.
- 47:02But once we introduce Big Query in, we had it standardised like
- 47:05day and night. We would compute all of them and
- 47:07you would get the most recent version right?
- 47:11Yeah. And this is like super, yes.
- 47:14And that's like the value and that would be I would call kind
- 47:16of like in the that feature platform place.
- 47:19Now if a company in the Teacher platform physical feature store
- 47:23space was to go and sell to this person, they would say, yeah, we
- 47:29do it even better than Big Query.
- 47:31So we will process those features, we will kind of will
- 47:33read from Big Query like a source and then we will compute
- 47:37them and then put them and essentially we will handle the
- 47:40data from there. The benefit is it truly might be
- 47:43faster, cheaper, whatever the con is typically adoption cost.
- 47:49All of the physical feature stores are proprietary.
- 47:55There's typically because of proprietary, you can't really
- 47:59tune them in the same way you could tune something like Big
- 48:01Query or Spark. There's no such thing as like an
- 48:03expert at tuning listings. It just doesn't exist yet.
- 48:07So the con typically comes with partly data gravity, except I'm
- 48:12already in Big Query. Like I already have Big Query, I
- 48:14already have data breaks. Like why am I going to buy
- 48:16another compute player just for my ML team?
- 48:21And so that's kind of where our approach, which we call it the
- 48:23virtual approach, it's like virtualizing a layer on top.
- 48:27So pretty much what would happen if you built that feature
- 48:30platform, but rather than actually building Compute
- 48:34Engine, we just build plug insurance to big Query, Sparks,
- 48:40Snowflake, all these different tools.
- 48:43And we do the, we tune those tools as well as we can to do
- 48:47the future compute. So from the data scientists
- 48:50perspective, all they're doing is giving us like their data
- 48:53frame transformation or sequel transformation, whatever.
- 48:56We will then handle production izing that feature on their
- 48:59existing data infra. And so, yeah, the benefit we see
- 49:03is just adoption cost is way lower for companies.
- 49:05Like what most companies build in house kind of looks like an
- 49:11ad hoc version of feature form because almost no one is going
- 49:14to build a compute platform in house and no one's going to be
- 49:17like, we're going to build a better Big Query.
- 49:19I mean, that's what Airbnb and Uber did back in the day.
- 49:23But I just don't think that the math makes sense anymore, I
- 49:26suppose to give in that other things exist out there.
- 49:28So really they end up building on top of Big Query or Spark or
- 49:33whatever, but that's what feature form is.
- 49:35And feature form is open, open core.
- 49:36So like if you're going to do that and you don't want to pay
- 49:39like, you can still just use feature form to do that for you.
- 49:43So explain a little bit more about this idea of connecting
- 49:48things and how. Then you're using these engines,
- 49:54whatever the compute engines are, and then you're spitting
- 49:56out the features to the virtual feature store, and then it lives
- 50:01there. And how is that different?
- 50:03I'm trying to see how that's different than what you were
- 50:05saying in the beginning. The literal feature store of
- 50:08like, OK, it just lives here and these are the features.
- 50:12Yeah, so two points. Ones, you're not ever really
- 50:15spitting it out to the virtual feature store.
- 50:17It is the whole thing. And it may put one way, it's
- 50:21like the literal feature store is like cash, like a database
- 50:26for features. Yeah, the physical feature store
- 50:29is like a compute and storage framework for or engine for
- 50:34features. So it's doing the compute, it's
- 50:36doing the storage. The virtual feature store is
- 50:39kind of more like an orchestrator and metadata.
- 50:43So whereas like in the physical feature store you would compute
- 50:47and vert compute engine and then you store in their storage
- 50:50engine or maybe Discord, Dynamo, Redis, but generically their
- 50:53compute, their storage. We do the same thing, except you
- 50:57plug in the compute like Big Query and you plug into storage
- 51:00like Redis. And then we will make all those
- 51:03things kind of work together. Click House has written quite a
- 51:05few articles about us and about using feature form and Click
- 51:09house because from their perspective so much daybreaks,
- 51:12they want to have more use cases of quick house.
- 51:15And ML is a big one for about. And so a feature store just
- 51:18makes it easier to use Click House for ML so that data
- 51:21scientists don't have to learn the insurance and outs of using
- 51:24click house and optimising click house pipelines.
- 51:26They can use feature form, which already has all that built in.
- 51:29And so now a data scientist has to think about, hey, I have this
- 51:32transformation, I'm going to write it, I'm going to register
- 51:35a feature form. Feature form will then build it
- 51:37and put in prod for me, keep it up to date, do stream
- 51:40processing, incremental processing, dew point, time
- 51:42preference, all the things you'd expect to be done.
- 51:45Feature form does similar to what a feature platform does,
- 51:49but it's being done on your data infra.
- 51:53I see. I understand now you're the
- 51:56connector where there's already whatever Spark cluster or you
- 52:02guys do Hadoop also you. We don't, we don't, We do have.
- 52:06It's been asked for, we've been asked.
- 52:08We've had some interesting because we work a lot bigger
- 52:10companies and enterprise. We've had some interesting asks.
- 52:14Well, it's funny and just a random side note on the Hadoop
- 52:17thing. Someone came into the community
- 52:19the other day and they were saying, like I've had it with
- 52:22Hadoop, the community, the Hadoop community is a graveyard.
- 52:26If you want to make any changes, your PRS don't get merged until
- 52:31three months later maybe. And so we're watching Hadoop
- 52:36just slowly crumble between before our eyes right now, which
- 52:41is an interesting thing as technology is constantly
- 52:45updating. You can see that.
- 52:46But tangent aside, I, I get it. So you've got the connectors.
- 52:52Nothing new needs to be brought in as far as the storage or
- 52:57compute side of things. It's just that you're able to
- 53:02optimise whatever is already in production or whatever is
- 53:06already on your stack. So you're optimising it by
- 53:09saying, hey, data scientist, like you don't need to learn
- 53:12click house. You can just do what you're best
- 53:16at and let us work on that optimization of click house.
- 53:21Yes, I think that's true. Maybe to make it like a little
- 53:24more clear, let's say you as a data scientist or working on
- 53:29like a streaming pipeline like so you have like a stream of
- 53:32user buys and you need to build a feature there in the literal
- 53:38feature store. It would be your job or your job
- 53:41to go to Data Henge to build that pipeline and flame current
- 53:44Spark streaming or whatever. And then you would have to have
- 53:47you have to build a production grade data and pipeline and
- 53:50manage it and maintain it and have monitoring and have all the
- 53:53things you would need yourself. That's the literal feature store
- 53:57and the physical feature store and the kind of feature platform
- 54:00approach. You would be able to do it
- 54:03yourself and it would work and be great and it would handle
- 54:06streaming quite well and it would scale well and it would be
- 54:09production grade, but it would have to run on their compute.
- 54:14So you have to bring a new compute engine in and your
- 54:16storage engines proprietary engine in feature form.
- 54:22You still just write your SQL query like you would feature
- 54:25form will then take that SQL query and it knows it has like a
- 54:28harness to get that SQL query in and run it in a way that is a
- 54:31production grade data pipeline. So it's really clear when you
- 54:35start thinking of things like incremental processing and
- 54:37streaming, on top of having versioning, lineage search,
- 54:41reuse, all the other stuff you'd expect as well.
- 54:45OK. Now you did mention before
- 54:49there's this LLM aspect to things and you were saying it's
- 54:54when it comes to the day to life cycle, it's also very similar.
- 54:59Although LLMS are this new thing, you still almost have
- 55:02like the same day to life cycle and you still have the same
- 55:05pains. And I think that's why we're
- 55:07seeing a million evaluation companies come out.
- 55:10So I agree with you there. Can you go a little bit deeper
- 55:13on to what you've been seeing and how you've been thinking
- 55:16about? That yeah, I think there's a lot
- 55:19there. I'm going to actually just fully
- 55:21focus on this RAG, the concept of RAG and the data part of
- 55:24ALMS. So RAG when we first kind of came out as a concept was
- 55:33this idea of I take my documents, I chunk them somehow,
- 55:37I embed them, I do a nearest neighbour look up based on the
- 55:40embedding of the users prompts or query and I have some prompt,
- 55:45the template that I feed my retrieval.
- 55:49So if I do a nearest neighbour look up, I get 5 paragraphs from
- 55:53all of my documents that most look like the question and then
- 55:58I'll just feed that into my template and it works pretty
- 56:02well like it it does. I would just like naive RAG
- 56:05implementation and a lot of people did that and they wrote
- 56:08this is it, this is cutting edge.
- 56:10I think we're going to look back at this and be like, what's so
- 56:13funny that we thought that this was like the end all be all.
- 56:16This is what RAG is. I think RAG at its core is the
- 56:21problem of I have a context window.
- 56:24It's either a set size again size or the bigger I make the
- 56:28context window, the more expensive the query is.
- 56:31And then just I don't want to just put fluff in the context
- 56:33window. So my goal is to have the most
- 56:36information dense context window possible, which is really an
- 56:39information retrieval problem. Like how do I retrieve context,
- 56:44the best information that I can feed into my context window and
- 56:48where a lot of people think of like text and nearest neighbours
- 56:51and etcetera. Imagine if I asked you pay
- 56:55Demetrius, how should I invest my money?
- 56:58I want to save up for retirement.
- 57:00You would probably ask about my age, my income, my risk profile.
- 57:05You asked a lot of questions about me and about how I you
- 57:08know my situation. Those answers are not in a
- 57:13vector database. Like you're not going to get
- 57:15someone's age. You're not going to do a vector
- 57:16database look up to get their age.
- 57:18Those might exist in like a post Crest database somewhere.
- 57:21But if you're. Giving that context to a prompt
- 57:23like it would make sense to say, hey, I have someone who is, you
- 57:26know, 30 years old. They have this much money, they
- 57:29do this at this, but no one thinks of it that way.
- 57:32Like everyone thinks that you have to do nearest neighbour
- 57:35look ups and embeddings and vector DBS.
- 57:37And I don't think there's any reason that that is true other
- 57:41than one, that it does work quite well naively.
- 57:44And two, it just those companies came about first.
- 57:46And almost all the content about RAG is written by those
- 57:49companies or proponents of those companies.
- 57:51So I, I, and this isn't even like a hit on vector DBS.
- 57:55I think vector DBS are extremely powerful.
- 57:56Like I said earlier, I just think it's part of the puzzle
- 57:58and really the problem spaces. And I think honestly, where a
- 58:02lot of vector databases are going to go is become less a
- 58:05vector database and more like an A contact retrieval database
- 58:10where I give it a prompt and maybe some other metadata.
- 58:14And it has all of these signals that maybe like exists in a
- 58:18feature store or something and it decides what to pull from the
- 58:22feature store and feed into the prompt.
- 58:25That's kind of the architecture that I think things are going to
- 58:27move to. We're already seeing a little
- 58:29bit of that happening. Oh, I love it.
- 58:32Yeah. So basically right now that
- 58:40personalization aspect in the prompts you don't see as much.
- 58:46I've seen people talk about you have variables and you want to
- 58:52have variables that you can use across prompts.
- 58:55And so you store those variables in some kind of a database and
- 59:00then you can reference them in different prompts.
- 59:03That's been really cool to see. I have heard of the idea of
- 59:08let's personalise prompts a little bit more.
- 59:13I feel like instinctively this works for certain use cases but
- 59:19not for others. But then as I was trying to
- 59:22think about what use cases it wouldn't work for, I couldn't
- 59:25think of any off the top of my head.
- 59:27So I was like, well, maybe it that's not true.
- 59:30I'm just making that shit up in my head.
- 59:33So I don't know. Do you have any insight on if
- 59:36it's more relative for certain use cases versus others?
- 59:43I think it probably is. I think what you'll find the
- 59:50most valuable use cases for alarms, because alarms are
- 59:53relatively slow, they're kind of expensive.
- 59:56You're not going to use alarms for fraud detection.
- 59:59Most of where you see LMS being used and where values coming
- 1:00:02from is making like Co pilots, like making people better at
- 1:00:06their job, making them move faster.
- 1:00:07So we're interacting with the human almost always and I think
- 1:00:12that's actually where LMS do best, their augmentation tool.
- 1:00:15I'm personally a little sceptical of what can be done in
- 1:00:18the automation space. True automation where no one
- 1:00:20touches it because it just. I don't think you can achieve
- 1:00:23that 99% accuracy you need. I mean, you can get to like 95,
- 1:00:27which sounds great until you realise that, hey, if it's
- 1:00:30fraud, you know, like that 5% of fraud that's getting through is
- 1:00:34not just like a, you know, we can't just look.
- 1:00:36Over that accounts, yeah, that's not super fun to think about.
- 1:00:40So I think that everything in some way has its level and it's
- 1:00:44not just personalization for the user, but I do think that's a
- 1:00:47big piece of it. Even just like what you're
- 1:00:49calling variables, I would, I mean, those are just features or
- 1:00:52signals or whatever. Like we can give these things
- 1:00:54different names, but really all it is, is I have these
- 1:00:57conceptual things and I want to pull numeric or textual data
- 1:01:01points about them so I can feed that into the model.
- 1:01:04So the model can do a very job. And I mean at its core that is a
- 1:01:09feature. Yes.
- 1:01:11You're opening my mind now because I was thinking of it
- 1:01:14just as attributes of a human, but it can.
- 1:01:19It's exactly that. Like the variables I know are
- 1:01:24describing a company. And then in your prompt you just
- 1:01:28put the company name in quotations and it can grab that.
- 1:01:32But that is exactly what it is. It's a feature, Yeah.
- 1:01:35So you have all these different variables that you want to be
- 1:01:38able to give the most context and the most accurate context to
- 1:01:42the prompt so that LLM can do the best job that is possible.
- 1:01:48And so it makes sense that you would break it down and really
- 1:01:52get as descriptive as possible for all these important themes,
- 1:02:00not just like, hey, this is company A.
- 1:02:03It's like if you have a very rich description of what company
- 1:02:08A is, you add that as the variable.
- 1:02:12Yes, and you're saying like rat frag and knowledge graphs kind
- 1:02:16of get pushed to, which is a very similar pitch of what I'm
- 1:02:19saying. And the really funny thing is,
- 1:02:23is like then you have graph frag and they're like you need that
- 1:02:26and not factor databases. Like there's this weird like Eva
- 1:02:30or philosophy even rag versus fine tuning versus like awkward.
- 1:02:34It's like everyone just trying to justify that they are the
- 1:02:36best way to tune because there's no real good data yet.
- 1:02:39Like no one knows. I think they're really there's
- 1:02:41very few enterprise grade LM products in the world.
- 1:02:44I think that really the only one that you can really look at as
- 1:02:47like gold standard is a copilot. I think everything else is still
- 1:02:54either is still kind of been like very valuable, but maybe
- 1:02:57more even consumer driven, which our consumers can handle a
- 1:03:00little more like, you know, it's, it's, it's like can be a
- 1:03:03little weird sometimes or just very experimental.
- 1:03:07Like in in B to B, you see a lot of things are going out that
- 1:03:10don't actually work very well. They have great demos, but they
- 1:03:14they're not quite there yet. And I think where we'll get to
- 1:03:17that next level is when we get to the point where it's just
- 1:03:21like, hey, here's your data. I have this a very specialised
- 1:03:24retrieval, these very specialised prompts.
- 1:03:27Maybe those are models themselves, which I've actually
- 1:03:29seen people starting to use traditional.
- 1:03:30I'm not models for re ranking, which is fascinating and yeah.
- 1:03:35That a little more. I didn't catch that.
- 1:03:38Sounds cool. So if I have a million signals
- 1:03:44that are relevant to the prompt, yeah.
- 1:03:47The question then becomes which ones do I feed into the prompt
- 1:03:52for this specific query? And how do I properly place them
- 1:03:56in the prompt so that the model can understand it And that
- 1:04:02question and how to do that? I think that is where every like
- 1:04:10a Llama index S type company that I think that's where
- 1:04:14everyone kind of starts. That's where the big hard open
- 1:04:17question is. I think the vector databases
- 1:04:20will will start to compete there.
- 1:04:21I think a lot of the companies will start to compete in that
- 1:04:23space. And I really think that's
- 1:04:25probably one of the hardest problems to solve.
- 1:04:27And if you can solve it, well, it just becomes a no brainer to
- 1:04:32use. But I actually similar to lead
- 1:04:34to feature stores, I don't think there's really a perfect way to
- 1:04:39solve it. So you ever get very specialised
- 1:04:40verticalized ones or you will get and and or you will get more
- 1:04:46generic ones that give you ways to tune them and specify what
- 1:04:50you want to do where. But really that's the that's the
- 1:04:53problem to solve without lines. And I think a lot of people get
- 1:04:56too caught up and like I need a vector database and I need to
- 1:04:59the nearest neighbour look up and they forget the core problem
- 1:05:01which is just information like packing.
- 1:05:04Like how do I pack the right info and the right density of
- 1:05:08information to achieve the best result?
- 1:05:11I think that's why for a lot of people, DS Π felt so interesting
- 1:05:18because it has that capability of like fanning out and testing
- 1:05:24a lot of different prompts and then saying, well, here's the
- 1:05:26winner of this choice, right? And so you could see that being
- 1:05:32something that becomes more attractive and you you start to
- 1:05:36see incorporated into a lot of these frameworks.
- 1:05:40Yeah, I think that's true. I think evaluation, I don't go
- 1:05:43too deep into it, but I find evaluation to be really
- 1:05:45interesting and kind of funny, similar to how recommender
- 1:05:48system evaluation used to be. Because the hard part of
- 1:05:52recommendations is most people don't give it a thumbs up or
- 1:05:55thumbs down when you give them a recommendation.
- 1:05:57Very rarely happens. And on top of that, there's
- 1:06:01almost like a certain profile of person who does that.
- 1:06:03And that's probably not the average person.
- 1:06:06So if you take both of those things into account, the
- 1:06:08question becomes, well, how do I decide if this was a good
- 1:06:10recommendation? And the answer is implicit info,
- 1:06:14which is like what Google does like, OK, Google, if you search
- 1:06:17something, did you click, how long did you stay on that page?
- 1:06:19Did you go back and click on another page that you can kind
- 1:06:21of deduce if a user had value? And I think evaluation is so
- 1:06:27focused on like, we're going to do this statistically or
- 1:06:31mathematically, or even funnier, just like we're just going to
- 1:06:34layer L alums on top of LLMS until you're so confused about
- 1:06:37what's happening that you can't understand.
- 1:06:39And will you ever say this is good or bad when really the
- 1:06:41answer is all that matters is the end user.
- 1:06:46And like we talked about, most of the time, the end user is
- 1:06:48literally a human. So did they find value in it?
- 1:06:53If yes, then that's good data. And if no, if and no, and this
- 1:06:56is actually open like ChatGPT does, right?
- 1:06:58Like sometimes they'll give you the two prompts next to each
- 1:07:00other. Like for sure, they're using
- 1:07:02that information to like decide and then tune their models.
- 1:07:06So I think that's what we're going to, you're going to always
- 1:07:08see these new user experiences that are driven to teach the
- 1:07:13model more, which again, we saw in recommendations.
- 1:07:15And I think that we're going to see the same thing in L1.
- 1:07:17So I think it's so interesting coming from Rex's to LMS and
- 1:07:22also having seen a lot of things in between, because I just am
- 1:07:24seeing the same pattern play out.
- 1:07:27History rhymes for sure.