Latest / Agentic Conversations (formally mlops.community) / Powering MLOps: The Story of Tecton's Rift // Matt Bleifer & Mike Eastham // #209
Transcript
- 0:01Hold up. Before we get into this next
- 0:03episode, I want to tell you about our virtual conference
- 0:07that's coming up on February 15th and February 22nd.
- 0:11We did it two Thursdays in a row this year because we wanted to
- 0:16make sure that the maximum amount of people could come for
- 0:20each day since the lineup is just looking absolutely
- 0:25incredible. As you know, we do.
- 0:27Let me name a few of the guests that we've got coming because it
- 0:32is worth talking about. If you got Jason Louie, we've
- 0:35got Shreya Shankar, we've got Drove who is product Applied AI
- 0:40at Uber. We've got Cameron Rook Wolf
- 0:42who's got an incredible podcast and he's Director of AI at Riba
- 0:46Engine. We've got Lauren Lockridge who
- 0:50is working at Google also doing some product stuff.
- 0:54Ohh, why is there so many product people here?
- 0:56Funny you should ask that because we've got a whole AI
- 1:00product owners track along with and engineering track and then
- 1:04as we like to, we've got some hands on workshops too.
- 1:08Let me just tell you some of these other names just for a
- 1:10moment, you know, because we've got them coming and it is really
- 1:15cool. I haven't named any of the
- 1:16keynotes yet either, by the way. Go and check them out on your
- 1:20own if you want. Just go to home dot ML OPS dot
- 1:23community and you'll see what we've got.
- 1:25Tungi, who's the lead researcher on the deep speed project at
- 1:29Microsoft. We've got Holden who is the open
- 1:32source engineer at Netflix. We've got Chai, who's leading
- 1:37the AI platform at Uber. You may have heard of it.
- 1:41It's called Michelangelo. Ohh my gosh.
- 1:43We've got Fazan, whose product manager at LinkedIn, Jerry
- 1:47Lewis, who created good old Lama Index.
- 1:51He's coming. We've got Matt Sharp, friend of
- 1:53the pod, Shreya Rajpal, the creator and CEO of Guardrails.
- 1:59Ohh my gosh, the list goes on. They're 70 plus people that will
- 2:03be with us at this conference, so I hope to see you there.
- 2:10And now, let's get into this podcast.
- 2:13And Matt, I'm a product manager at Tecton and I like my coffee
- 2:18black made with an Aeropress and some fresh hand ground coffee
- 2:23beans. I'm Mike.
- 2:26I'm the chief architect of Tecton and I usually make my
- 2:30coffee with a in a pour over and I just drink it black.
- 2:37Welcome back to the ML OPS Community Podcast.
- 2:40I am your host for the day, Dimitri OST, and we've got the
- 2:46Tecton team with us here, Mike and Matt, What a conversation.
- 2:51We went through their history where these guys worked before
- 2:55they jumped into Tecton, and both Mike and Matt have been at
- 2:59Tecton since pretty much the inception.
- 3:02They've been around for four or five years and they've been
- 3:07working on a very challenging problem.
- 3:10For those of you that do not know, Tecton is a feature
- 3:14platform and it helps you decouple your code from your
- 3:20feature engineering. It also does a whole lot more
- 3:24and what I was excited to get into with these guys today was
- 3:30how they have evolved the product over time and also how
- 3:36these days because of technology advancements they were able to
- 3:42make the product much more lightweight and not have it be
- 3:46dependent on Spark which has been as they noted something
- 3:51that was a little bit of a hang up in the last couple years.
- 3:55So because Spark is such a beast, they noticed that not
- 4:00everyone wanted it and they wanted to see, can we go out
- 4:02there and can we build something for those people that don't
- 4:07necessarily need to be doing all kinds of big data.
- 4:12It goes in line with the ethos that we heard from the folks at
- 4:17Duck DB on, and actually we got into Duck to be a little bit
- 4:21because I think under the hood Tecton is using a few different
- 4:26Duck DB tricks and trades. So I hope you enjoy this
- 4:31conversation with Matt and Mike's a huge shout out to Tech
- 4:35Tone for sponsoring the episode. And if you liked it, you know
- 4:39what to do. Share it with one friend.
- 4:41We'll be seeing you on the other side.
- 4:50I got to call it out. Me SIM, you put the form that I
- 4:55asked you guys to fill out before this conversation for
- 4:59your job and your bio. It says.
- 5:02Michael Eastman is the chief at Tecton.
- 5:05Ohh, I've missed a word. That's actually his official
- 5:10title. Yeah.
- 5:12It was recently announced that he would just be our chief.
- 5:14And everybody just calls me chief.
- 5:16Yeah, no, that was a I accidentally ordered there.
- 5:23But it makes for such a better title.
- 5:25Man, I'm yeah, I'm expecting you to change that on LinkedIn now.
- 5:29Official Titles Big Dog. That's Matt's official title.
- 5:33So we've got Big Dog Matt here, the Ohh Man product product
- 5:41manager. What is your official, so your
- 5:42big dog product I guess Matt and then?
- 5:47Yeah, that's what it says on my on my resume.
- 5:50I'm a product manager. I guess my official title is a
- 5:53group product manager. There's a group involved these
- 5:56days as we've expanded our team a bit.
- 6:00So that's been fun. And yeah, I've been Pmsing at
- 6:04Tecton for almost four years. I got like two months till my
- 6:08four year anniversary. Pretty exciting.
- 6:11Wow. That is crazy.
- 6:14Stock fully vested then, I guess.
- 6:17Yeah, right. Four years, actually.
- 6:21That's incredible. That's the important metric.
- 6:23So yeah, four years and almost I realised I was introducing
- 6:27myself to someone recently. I've almost hit a decade now of
- 6:32just working on ML platforms, which is wild.
- 6:35Might be even cooler than the the four years attacked on
- 6:38things. So coming up on that, still in
- 6:41my final year, but it's exciting.
- 6:44Hence why you get the name Big Dog PM.
- 6:47Yeah, that's how I got it. I know that before you were at
- 6:51Tecton, you did some work at Twitter, right?
- 6:53And this was early days, obviously four years ago.
- 6:57Yeah, similar situation just at Twitter.
- 7:00I came in in 2017 and was hired to be like the first I CPM on
- 7:06their ML platform team. And so was in the early days of
- 7:10like figuring out kind of what is an ML platform in the 1st
- 7:14place ever. Crazy story to tell about this
- 7:17actually. So I joined.
- 7:19I joined in 2017. The team ends up going to an
- 7:25off-site in Boulder, Co to figure out like what does our ML
- 7:30platform need to look like? How should we kind of Orient the
- 7:33teams? Like we had done some stuff, but
- 7:34we were kind of, you know, really putting a stake in the
- 7:37ground there of like, this is what our ML platform work is
- 7:40going to look like and like the day that we get to Boulder.
- 7:46Mike Del Balso, our, our CEO and Jeremy from Uber released the
- 7:53Meet Michelangelo blog post. Ohh.
- 7:55And in it, they're like, Ohh, yeah, we built this thing called
- 7:59a feature store and we're all, you know, we're in like diagram
- 8:02mode on the whiteboard and we're like looking at it and we're
- 8:05like wait, that's a great idea. We don't have that in here.
- 8:08And so then we like Resch the whole thing.
- 8:10We put a feature store inside of it.
- 8:12We staff A-Team. It becomes one of my first
- 8:14projects. And so it was kind of crazy then
- 8:17to come full circle from like they they're blog posts spawned
- 8:21all the work that I did at Twitter.
- 8:23And then just a few years later I came and joined them to work
- 8:28on it over at Tecton. So was a quite full circle.
- 8:33I was expecting you to say and then Elon showed up and.
- 8:37I I was. I was gone long before that.
- 8:42Although I'm sure that was an interesting thing to watch from
- 8:47the inside, or at least have, you know, heard stories from
- 8:49friends and such. But yeah, I left.
- 8:52I left in 2020, so, so long before the Elon phase.
- 8:58No. How are you a user of Twitter
- 9:00and is there any, like, sentimental value?
- 9:03Do you feel like he's butchered your future platform?
- 9:06All that work you did? I like tried to remain kind of
- 9:12neutral or optimistic and see what would happen.
- 9:14I feel like the thing that finally upset me though was the
- 9:17rebrand. Like the the Twitter to ex was
- 9:20like, this was a great brand. Like, I identified with it.
- 9:23It was like really weird because I was in San Francisco and I was
- 9:26walking down the street and like, you know, there's the
- 9:28famous, like, Twitter sign going down the corner of the building
- 9:31and it's just blank. And I think that one kind of hit
- 9:34hard. I was like, you know, I don't
- 9:35mind you. I don't mind you like changing
- 9:38things up, breaking the product, all that stuff.
- 9:40But like, the name had to go that one.
- 9:42That one hurt me emotionally. Ohh.
- 9:47Classic. Alright, so back to the Chief, I
- 9:51gotta ask you a few questions here.
- 9:53You've been in the software engineering game.
- 9:56So basically Matt comes to you with all kinds of requirements
- 9:59or you get you guys probably liaison quite a bit with what
- 10:06you're building and how you're building it.
- 10:07And before Tecton, you were at Google, right?
- 10:11Correct me if I'm wrong there misam.
- 10:12Yeah, that's right. I was at Google for about 7
- 10:15years before I came here. Wow.
- 10:18Wow. Seven years there.
- 10:20It's also incredible working on web search, right?
- 10:23Yeah, it started out on the indexing team and so was working
- 10:28on a project. That while we were.
- 10:31Trying to do kind of like what a web browser does when it's
- 10:34rendering a document, like getting layout and things like
- 10:37that, so that we could extract signals from it.
- 10:41Spent about half my time on that and then moved on to the web
- 10:45server team while I was working on three different things, but
- 10:49like experiments was one of the big ones.
- 10:51And now you are at Tecton, you've been there for quite a
- 10:57bit too, you're. Coming up on five years in a
- 11:00couple of months, yeah. There we go.
- 11:03How's your role changed over the last five years?
- 11:05What have you been working on like?
- 11:07What's the journey been there? Yeah, well, so my actual title
- 11:11now is Chief Architect. It's not just Chief So more of a
- 11:16kind of like organisational focus, trying to figure out, you
- 11:19know, what direction we should kind of evolve the architecture
- 11:22of the product in and, you know, trying to kind of harmonise the
- 11:27work between the different engineering teams that we have
- 11:29now. But yeah, when I started, I was
- 11:32like the 1st engineer here. So the work was quite different,
- 11:35just was, you know, trying to get something out the door up
- 11:39and running so he could, you know, try it out with customers.
- 11:44But yeah, it's been a pretty fun journey so far.
- 11:47So now you're thinking more about the bigger picture.
- 11:50And I imagine things have gotten much more complex and you've
- 11:54been there since the beginning. So you've seen it.
- 11:56You have a lot of context and as the complexity grows, you're
- 12:01like one of the key points where people.
- 12:04You're one of those people that understand how things work, I
- 12:08would imagine. Yeah, that's the idea.
- 12:11You could say that, yeah. Yeah.
- 12:15But yeah, trying to kind of, you know, I feel like we've done a
- 12:18lot of, you know, as we've expanded and you know, different
- 12:23markets and trying to support different customers, we've sort
- 12:25of like grown out a lot of functionality and sometimes kind
- 12:29of ad hoc or haphazard way. And so you know, I've spent a
- 12:32lot of time trying to figure out how we can kind of actively
- 12:35reduce the amount of complexity we have in the products and
- 12:38figure out how to like keep supporting those different use
- 12:41cases. But, you know, in a way that has
- 12:43like a simpler implementation so that we can, you know, continue
- 12:47to build cool new stuff without, you know, being super bogged
- 12:50down by what we've done before. So give everyone that's
- 12:55listening a bit of a refresher on what exactly Tecton does.
- 13:00I know in 2020, especially when the community was first
- 13:04starting, it was hard to go a week without hearing someone
- 13:08talk about a feature store. And so there was a lot of
- 13:13questions about it because I think of that blog post that you
- 13:18were talking about, Matt, that had come out.
- 13:20And when Michelangelo was being examined by everyone else, they
- 13:25realised, OK, there's some here when it comes to decoupling
- 13:30features from code and the other models and all that.
- 13:33So Tecton has also evolved, though it's not just a feature
- 13:39store, I don't think. Now, can you break down what
- 13:43what it does for us these days? Yeah.
- 13:47So to to kind of tell this story a bit here, it's interesting
- 13:51because like back in 2020, I think if you were kind of in the
- 13:55like niche ML OPS type of community, you are aware of what
- 13:58this was. But when I joined I, so I joked
- 14:02that like when I joined I, you know did everything except
- 14:04product management and then kind of just moonlighted as a PM on
- 14:07the side and such as the nature of like a super small company.
- 14:10And so I was doing early on like a bunch of our demos and sales
- 14:15calls and there was but a fair number of them that would come
- 14:19in and be like, I have no idea what you guys do.
- 14:22I just heard that the Michelangelo guys were starting
- 14:25something. So like, tell me what it is.
- 14:26And so I'm like, OK, like, let me tell you about this product
- 14:30that you didn't even know existed in the first place in
- 14:32the category that you've never heard of.
- 14:34And so I'd have to really start from scratch in the early days
- 14:39of the feature store. It's a very different world at
- 14:41this point. And so really the way that I
- 14:43pitched it was like, hey, you have all of this raw data that
- 14:47you're trying to use to make automated decisions in your
- 14:50business, whether it's like detecting A fraudulent
- 14:53transaction or making recommendations or, you know,
- 14:56close to home use cases for me, like ranking someone's Twitter
- 14:59home feed. And in order to get that data to
- 15:03that model, it has to be turned into features.
- 15:05And then it has to be delivered in two contexts, which is at
- 15:09training time. Offline.
- 15:10People need to be able to get the values of the features as
- 15:13they were any given training event.
- 15:15So like, hey, this credit card transaction, we determined it's
- 15:19fraudulent at the time at which someone was making the
- 15:21transaction, what were their feature values?
- 15:24And that's a tricky problem to get right.
- 15:26But then also hard is getting those same feature values to
- 15:30your model at inference time, all at low latency.
- 15:33And what makes this really hard is that, like, it's kind of this
- 15:36place where data science and software engineering suddenly
- 15:39meet, which have traditionally been a bit of like different
- 15:42worlds. Like data science is, you know,
- 15:44very scientific. It's very experimental in
- 15:48nature. It's kind of the Wild West.
- 15:49Pip install whatever you want, figure it out, that's totally
- 15:52fine. But the world of software
- 15:53engineering like had decades of best practises built up with
- 15:57DevOps and CICI D and people thinking about scaling and
- 16:01latency etc. And it turned out that like when
- 16:04you finally merged the two of those, it didn't go quite as
- 16:07well as everybody had hoped. And so there was a lot of room
- 16:11there for people to like figure out the right technologies that
- 16:14we're going to merge like data science into the software
- 16:18engineering realm. And so that's kind of like that
- 16:20like key part where the feature store comes in And so we are
- 16:23building this out. But what was weird is like at
- 16:25the time we didn't know what it needed to be like.
- 16:28It was almost like the people on the calls were like we don't
- 16:30totally know what this is going to turn into, like we're solving
- 16:32some problems, we're working with customers.
- 16:35But as kind of time went on, we realised that like it really had
- 16:39to do with more than just kind of the online offline storage
- 16:43and serving component, which was what it was kind of like
- 16:47evolving to mean canonically was like ohh, you know, you have an
- 16:51online store, you have an offline store, you serve values
- 16:54at training and inference time. But what we found when we talked
- 16:57to a bunch of customers who are just having problems is like
- 17:01they also had a tonne of problems with actually like
- 17:04building an orchestrating and running the feature pipelines
- 17:07themselves. So like the streaming
- 17:09infrastructure to calculate these values and near real time
- 17:12or the orchestration to backfill them or even we started to find
- 17:18customers that were like all of my logic needs to be executed at
- 17:21request time and I need to be able to manage that.
- 17:24And so like there was a whole category of like how do I build
- 17:27features and engineer them, There was the storage and
- 17:29serving component. Then obviously, like monitoring
- 17:31became a natural kind of progression to this, like, OK,
- 17:34now need to monitor for skew and data quality.
- 17:37And then you know, as we helped more and more big organisations,
- 17:40there's also like this huge collaboration component of like,
- 17:43hey, how do I share features that another team uses, How do I
- 17:46have access controls on this whole system?
- 17:49And so I feel like for a while we kept trying to call it a
- 17:52feature store. And internally we were like,
- 17:54this isn't like checking out anymore because then other
- 17:56people would say feature store and they meant something
- 17:58different, like is it a feature store?
- 17:59Is it, is it something else? And so we finally bit the bullet
- 18:03a few years ago and we're like all right, we're going to put a
- 18:06stake in the ground. It's a feature platform and the
- 18:08feature store is like the core storage and serving component
- 18:11which is you know several different solutions for.
- 18:13But really what we find is like the feature platform is the
- 18:16thing that ends up like really unlocking a lot of the like real
- 18:19time AI at these organisations. Yeah, because the feature store
- 18:26really just makes people think like, ohh, that's like a
- 18:29glorified database. Yeah, right, exactly.
- 18:32I can just do that in my database where I don't why do I
- 18:35need a whole new product for that.
- 18:37But really what I'm hearing you say is there's a lot of other
- 18:41hard parts to this. Whether it's orchestrating these
- 18:45features and their pipelines or if it's monitoring that the the
- 18:49features are actually doing, they're supposed to be doing or
- 18:52it's serving them at very low latency, which I know was always
- 18:57something that became problematic when you wanted to
- 19:01get to, yeah, real, real time as somebody, as some people call
- 19:06it. You know, like not just that
- 19:08every five seconds, real time or like when you're talking about
- 19:13real time, I guess you guys know best, like what is real time to
- 19:16you? What does that even mean for
- 19:18you, you know? Yeah.
- 19:20And really like that's, it's funny you said like there's
- 19:23other hard parts, but it's almost like the hardest parts
- 19:25actually lie you know in the rest of the system, at least in
- 19:29in what I found, I sometimes say even just internally like the
- 19:33storage is almost an implementation detail.
- 19:35Like it's like it's there so that we can cash values
- 19:38effectively and serve them faster.
- 19:40But like if I didn't need a intermediate storage layer then
- 19:44I wouldn't use one. And even in offline case,
- 19:46sometimes we actually don't, which is interesting.
- 19:48But like really the, you know, I'm a PM I think in jobs to be
- 19:51done, it's like you have some feature that you're trying to
- 19:53express or like what's the user is, you know, average
- 19:57transaction total in the last one year.
- 20:01And you have some requirements like I need to know that value
- 20:04as of to your point, like 10 milliseconds ago.
- 20:07And I need it served, you know, to my model that's, you know,
- 20:10running in my production environment.
- 20:12Like you just want to express here's semantically what the
- 20:15feature means, here's what my requirements are, and then you
- 20:18want the system to worry about. Like ohh OK, there's an
- 20:20orchestrator to figure, you know.
- 20:22To schedule these and to backfill them.
- 20:24And there's a storage layer that's going to help cash these.
- 20:26And you know, there's a real time layer to finish computing
- 20:30them. But like, you don't want to
- 20:31worry about that stuff. You don't want to think in terms
- 20:32of like the components and the architecture.
- 20:35You're like, I'm just trying to express a thing and when and
- 20:37where I need it and how. And then the system takes care
- 20:39of kind of getting that all done.
- 20:41So I almost think like feature store is just like increasingly
- 20:44kind of like a misnomer. Like it feels very like you
- 20:46said, like it's indexing on a component or the underlying
- 20:51architecture instead of like the problem.
- 20:53That is really what people have. Yeah, you don't want to worry
- 20:56about the architecture. Let the chief know.
- 20:58Deal with the chief. We'll figure it out for you so
- 21:01we have him for. Ohh, Classic.
- 21:06And I know you all been working hard to update things and there
- 21:10was a big announcement. I feel like that came out when I
- 21:13did the Apply conference a few months back.
- 21:16But since you've also had newer announcements, can you update me
- 21:21on what is like the newest stuff you've been doing?
- 21:25Yeah, totally. Yeah.
- 21:27OK. It off here and Mike can can
- 21:29chime in. So historically Tecton has been
- 21:33a fairly Spark centric platform and that kind of evolved as a
- 21:39consequence I think of the types of customers that we worked
- 21:43with. Like you know a lot of that like
- 21:46early adopter category was made-up of like these larger
- 21:50organisations that had super real time requirements.
- 21:53A lot of them ended up being like Spark shops and were very
- 21:57you know proficient and Spark. And so we indexed on Spark as
- 22:00like a key technology to start inside of Tecton.
- 22:04And then we started exploring like the data warehouse space
- 22:06and how we would integrate there.
- 22:08And like quickly, quickly started realising a couple
- 22:11things like 1 when we went out and talked to a bunch of the
- 22:14market. Like Spark only really works for
- 22:16maybe about half of them and it's kind of either just
- 22:20overkill or unfamiliar for the other half.
- 22:24But we also realised that like we didn't want to build like all
- 22:27these versions of Tecton that was going to be like there's,
- 22:29you know, Tecton on Spark and then there's going to be, you
- 22:31know, Tecton on Snowflake and you know which version of Tecton
- 22:34do you want to get. And so we wanted to design
- 22:37something that was like, OK, what's like the one solution
- 22:39that's going to work for all of these organisations.
- 22:42And so something that we built and released recently that we
- 22:45were super excited about is a built-in compute engine detect
- 22:49on that we call Rift. And it's entirely Python native.
- 22:53So you can run Python And Pandas transformations whether you're
- 22:57building like a batch feature, a streaming feature, a real time
- 23:00feature, it's super performant. We can do like cost efficient
- 23:05aggregations over millions of events in a very large time
- 23:09range, which is 2 typically super hard.
- 23:12It requires like no external infrastructure.
- 23:14So like you can literally hop into a hex notebook or a deep
- 23:17note notebook or even a local Jupiter notebook, pip install
- 23:20Tecton and do all of your feature development there with
- 23:23Python as your only dependency there.
- 23:25And then it plugs into data warehouses too, so you can plug
- 23:29into your snowflake. It'll actually like push down
- 23:31compute to your warehouse to do like initial stages of
- 23:34transformations and then kind of follow that up with additional
- 23:37logic. And what's cool is it
- 23:40dramatically simplifies for a lot of customers like what it
- 23:43takes to get started with the feature platform.
- 23:45It's a lot more in their wheelhouse.
- 23:47The iteration speed is like a lot faster for them.
- 23:49Like it just it snappier when you don't need to start a Spark
- 23:54job on some attached cluster. If you, you know, have a whole
- 23:58company designed around like making Spark, not a giant pain
- 24:02to manage, then like, you know it can be all right.
- 24:05Or if you're like a Spark shop, right and you're like we're
- 24:08really deep in Spark and we know how to manage it, then great.
- 24:10But like, if those things aren't true like you, you don't want to
- 24:13be diving into it unnecessarily. You're like, look, I'm a, you
- 24:17know, I'm a Python shop, I'm a data warehouse shop, like I just
- 24:20wanna pip and saw something and be off to the races.
- 24:22And so that's what we've been working on.
- 24:24That's what our chief here has been helping design out for us.
- 24:29And yeah, we finally launched it into private preview in
- 24:33November, racing towards a public preview.
- 24:35Already got a few customers on board and and go into production
- 24:39and we're super excited. And there's one thing I want to
- 24:42say before me, some jumps in, which is you mentioned before.
- 24:47I feel like it was the understatement of the year of
- 24:50when data scientists had to do software engineering stuff or
- 24:55even data engineering stuff back in the day.
- 24:57That is a recipe for disaster almost 10, nine times out of 10.
- 25:03And what you're talking about here, if I'm understanding it
- 25:07correctly, as you're saying, look, we know it can be painful
- 25:11to use Spark if you're not used to using Spark.
- 25:16So we want to just get that out of the way and we want to come
- 25:20to where you are instead of you having to come to where we are.
- 25:24Yep, that's. Yeah, that's exactly right.
- 25:26And to add to that, it, I think it wasn't even just a matter of
- 25:29like people not having prior experience with Spark.
- 25:33We were also kind of asking them to use Spark for use cases that
- 25:37didn't make a whole lot of sense.
- 25:40So in a lot of cases, you know some of our, you know, some of
- 25:44our customers would be dealing with data sets that were like a
- 25:47few 10s of gigabytes and we're you know spinning up these giant
- 25:51Spark clusters in order for them to process those data.
- 25:55That's just gonna make a lot of sense and it wasn't worth the
- 25:57extra complexity that Spark comes with.
- 26:00So what are the big design principles of like this new
- 26:04piece of the product we have is just like kind of choosing the
- 26:07appropriate tool for the job and and not going overboard?
- 26:12So I'm very close to Amsterdam. I live right outside of
- 26:16Frankfurt and Amsterdam is like 4 hours away and I noticed that
- 26:21there was gonna be duck DB con and I was looking at who was
- 26:23speaking and I feel like somebody's name on here on this
- 26:27call popped up. Was it you?
- 26:30What? Is it true?
- 26:31Is it the same person? That's that's, yeah, it's the
- 26:34same person. Even though it says Chief
- 26:36Architect instead of Chief, that's that's still.
- 26:39You we'll get that fixed. And so, is that what's going on
- 26:44under the hood? Are you running Duck DB and is
- 26:47that how you're able to do things?
- 26:49Still fast, but not having to be reliant on Spark.
- 26:53Yeah, that's a big piece of it. So part of what Tecton provides
- 26:57is sort of this kind of built in library of queries that we kind
- 27:04of combined with the user query in order to prepare you know
- 27:09their feature data to be materialised for online or
- 27:12offline serving. So we've used DB for all of that
- 27:17and it's been a really great experience so far.
- 27:20We've we've really enjoyed using it was really quick to get going
- 27:23and we've been impressed with the results that it can get with
- 27:27limited resources. So yeah, I'm I I am going to be
- 27:29giving a talk about that at Duck on the I'm looking forward to
- 27:33meeting more users library. It's been really great so far.
- 27:36Are you going to be in Amsterdam?
- 27:39Yeah, coming to answer for that. All right, Looks like my choice
- 27:44has been made. I wasn't sure if I was gonna go,
- 27:47but if you're gonna be there, I guess I have to go now and I'll
- 27:50be able to say hi in person. That's super cool.
- 27:53So tell me more about what's going on under the hood with
- 27:57Rift. Yeah.
- 27:59So like I mentioned part of it is Doctor B and then we I I
- 28:03would say really the the most underlying piece of everything
- 28:06is that we sort of shifted everything so that it was all
- 28:10the everything is built around Arrow.
- 28:12And the reason we chose to do it this way is because we had part
- 28:16of the design goal was that we really wanted to be able to
- 28:20easily integrate with a bunch of different warehouses and you
- 28:24know different data engineering libraries like pandas or polars
- 28:28or even Duct B if you know our customers end up wanting to do
- 28:32their feature engineering in SQL.
- 28:34So we've built this thing out in sort of a modular way where we
- 28:38use Arrow to exchange data between the different stages.
- 28:42And so it's typical query would look like maybe the customer
- 28:48sets up data source which is a snowflake table and then they
- 28:54give us a transformation that they want to run in order to
- 28:57produce feature data from that table and then they want to you
- 29:02know serve those features through our online serving
- 29:04infrastructure. So what we would do because we
- 29:07were first run the query and snowflake potentially applying
- 29:11philtres or projections in the snowflake query based on what
- 29:15the user's asked us for. If they're only interested in a
- 29:17subset of the data or something like that, that gets streamed
- 29:20back to our job and then we pass that as like an arrow data set
- 29:25and deducted B where we can do aggregations on it depending on
- 29:30what the user configured. And then that gets passed out of
- 29:33duct. BB is another data set and then
- 29:35that's where we upload it to our online database and then later
- 29:39when you know later on when they come to query that, then we can
- 29:42serve it out of that online database with like reliable low
- 29:45latency. So that's kind of like the batch
- 29:49workflow. We also have a separate
- 29:52interface where people, you know have like a stream of data that
- 29:55they wanna create features from. We have like an HTTP interface
- 30:00where they can just send us a row of data at the time at a
- 30:02time and we can apply similar transformations to what I was
- 30:06just describing for the batch workflow.
- 30:09And so I know that when I've looked at other engineering
- 30:14blogs a lot of times you'll see like the Kafka, Flink, kind of
- 30:21pear come U. And I imagine that you guys
- 30:25thought long and hard about the architecture of this and the
- 30:29design. What are some design decisions
- 30:32that you were a little bit sceptical of making, but now
- 30:37that you've done it and you've seen the fruits of the labour,
- 30:41you are like, oh, I am going to do this nine times out of 10
- 30:46next for the next whatever, 100 times that I do this right.
- 30:50Yeah, I think you know one big one is that rather than you know
- 30:54using kind of a purpose built stream processing engine like
- 30:58Flink, we've gone for this kind of simplified approach where you
- 31:04know our stream ingestion, it's actually just stateless.
- 31:07So you know, in contrast to flake where it has to, you know,
- 31:10depending on what types of aggregations you're trying to
- 31:12do, you have to, you know, potentially maintain these very
- 31:16large query states which can lead to a lot of operational
- 31:18issues. Hey, this is Mike Delbalso,
- 31:22Co-founder and CEO of Tecton. ML OPS community is the best way
- 31:27to stay in the loop on the latest ML OPS news and best
- 31:29practises. It's also a great way to connect
- 31:32with experts and get support from an amazingly.
- 31:34Helpful. Community subscribe and stay in
- 31:36the loop. Ingestion time we all of our
- 31:47processing is totally stateless. So you can philtre things out or
- 31:50you can do projections but no like aggregations at
- 31:52materialisation time and then what we do is we just actually
- 31:57do the aggregation observing time and so that the benefit of
- 32:03that is that like the it's it's very simple they're like a lot
- 32:07fewer things to go wrong. You can't run out of disc space,
- 32:10older streaming checkpoints, you don't have to worry about, you
- 32:14know, the latency of the stream query like committing A
- 32:17checkpoint. Basically the critical path from
- 32:21like data going into being available at serving time is is
- 32:26just dead simple. And I think that served as super
- 32:29well and it's made it, you know, not just possible but actually
- 32:33like relatively easy for us to you know operate this managed
- 32:37service in a way that's like meets our customers rely very
- 32:41reliability goals which are pretty high.
- 32:44I mean we, you know, we have customers that are using this
- 32:46for things like you know, fraud detection for you know, credit
- 32:52card transactions and things like that, you know, use cases
- 32:55where they want it to be you know, online nearly all of the
- 32:57time. So that was a super important
- 32:59design goal for us. The downside of that of course
- 33:03is that like if you get super large aggregations, it can, it
- 33:06can start causing performance issues.
- 33:08And so we're currently actually working on a project to kind of
- 33:15do those what we call compaction.
- 33:18So if you're aggregating over a large time series, we don't, you
- 33:23know, do the the aggregation and materialisation time, but we'll
- 33:27sort of ingest the data later on we'll come back and do the
- 33:30aggregation and replace it in the database.
- 33:33And so you can kind of get the best of both worlds that way.
- 33:36You talk about how if you have larger aggregations, what I
- 33:45guess what is large in your eyes, define large and what that
- 33:50looks like. And I don't want to be the guy
- 33:51that says because I know in every talk that has ever been
- 33:56given at a conference you always have one person that will raise
- 34:00their hand and be like, so how does this scale?
- 34:03And I don't want to be that guy right now, but I'm going to be
- 34:05that guy. What is large and what is not
- 34:09large? Yeah.
- 34:10So I mean I guess the typical like engineering answer to this
- 34:14question is always it depends and it does depend in this case,
- 34:20I mean in terms of. So there's a couple of different
- 34:22issues where you might imagine there would be, you know a
- 34:25couple different dimensions where you might have trouble
- 34:28scaling. One is like the amount of data
- 34:31that has to be aggregated for a single feature.
- 34:34I think with our current architecture, without the
- 34:36compaction, we're doing pretty well aggregating a single series
- 34:41of maybe a few 10s of thousands of data points and potentially
- 34:45even in the low hundreds of thousands pass that that can
- 34:49start to be a bit of an issue. I mean, of course it depends on
- 34:53the latency budget that that particular use case has.
- 34:58So you know, 100,000 is like plenty for a lot of use cases.
- 35:02But for, you know use cases where people have more than
- 35:04that, we're working on this compaction feature to address
- 35:06that. And then another dimension that
- 35:11you might be concerned about is like the total size of the data
- 35:15set that you're trying to transform into feature data for
- 35:18materialisation, kind of like in the batch use case.
- 35:22And it's a little bit early days for us with this, like we, you
- 35:26know, we're still improving. Preview we haven't done, we
- 35:28don't have like a whole lot of experience.
- 35:30But what we found so far is that Duck D actually does Duck DB and
- 35:35Arrow do surprisingly well with large datasets.
- 35:40They are much more memory efficient uh then like pandas
- 35:43would be for instance. So I think a lot of people
- 35:45probably have you know, the experience of like trying to
- 35:48load U like a 5 GB data set in the pandas and then they find
- 35:53out like it's actually exceeded, you know the 32 gigabytes of
- 35:57memory they have on their laptop.
- 36:00Arrow and Ducted B are both more efficient about the memory they
- 36:04use. And then they also have ways of
- 36:05processing larger than memory datasets where you kind of just
- 36:08go through a chunk at a time. And so the combination of those
- 36:12means that we're able to handle pretty large datasets like
- 36:17better than what you might think of your used mostly in the
- 36:20pandas. We also make it like pretty easy
- 36:23for people like vertically scale.
- 36:24So you know, materialisation time, it's, you know, choose an
- 36:28EC2 instance that you want. You can scale it up really big,
- 36:31it can process a figure them out there and we find it works for
- 36:35honestly the majority of use cases.
- 36:36I don't know if you saw D there was a really good blog post from
- 36:40I wanna say you as a product manager of Big Query.
- 36:42It was called like Big Data is Dead.
- 36:44That came out somewhat recently, basically arguing that like you
- 36:47know, big data has been the whole wave and that's where
- 36:50everything's going, etcetera. But really it's like, you know,
- 36:53a very small percentage of companies that have truly large
- 36:56data and instead the vast majority of people even, you
- 37:00know, on a large single note instance can actually process
- 37:03most of what they need to. And there's other like clever
- 37:06ways of being able to to optimise this.
- 37:09Like Mike's been talking about and you know, we split up, split
- 37:12up, backfill ranges intelligently.
- 37:16We, you know, do optimizations like he's talking about with
- 37:19compaction to make things simpler along the way.
- 37:22And so I think what we find is like it actually turns out for
- 37:25the vast majority of use cases, you can get super far scaling up
- 37:28on a single node. And so it's not worth like all
- 37:31of the additional complexity that needs to be introduced by
- 37:34like large scale distributed processing.
- 37:37Yeah, I think if you go and look at that blog post, so you kind
- 37:40of identifies one terabyte as sort of like the maximum size of
- 37:46like a data warehouse that you would expect to find in most
- 37:49companies. And if you look you can actually
- 37:51from Amazon, you can buy EC2 instances that have 24 terabytes
- 37:56of memory in them now. So the the size, you know limit
- 38:01for vertical scaling these days is pretty large compared to what
- 38:05lots of people actually have in their data warehouses.
- 38:08Yeah, actually I think that was the speaking about Duck B that
- 38:13was the creator of Mother Duck like the managed.
- 38:16That's right. TB he he went from Bigquery and
- 38:20he he started to do Mother Duck and he was talking about that
- 38:24how? Because we just had him on
- 38:26recently, like whatever a month ago to this podcast and he was
- 38:31mentioning how it felt like for a while.
- 38:37If you weren't over engineering things for all this big data,
- 38:41then were you actually an engineer?
- 38:43You know? And so it was almost like you
- 38:45were getting peer pressured into doing more engineering than you
- 38:50needed to because you were expecting to get this influx of
- 38:54data or you were expecting to be working with gigantic amounts of
- 38:57data. And then when push comes to
- 38:59shove, the data scientists and the people that are actually
- 39:02using and consuming this data, maybe they don't even want that
- 39:07much of the data, they just want like the last weeks worth of
- 39:10data because of the freshness constraints that they have.
- 39:14Yeah, I personally, I'm super happy that that blog post is
- 39:18around and it's getting a lot of traction because I think like
- 39:22you know, it's kind of one thing to be able to look at the
- 39:25performance of these systems and come to the conclusion yourself
- 39:28like, well this will be adequate for what our customers need.
- 39:31But like you also have to be able to convince people that it
- 39:35will actually be adequate. And so the fact that there's
- 39:38sort of this growing consensus around kind of simpler single
- 39:43node systems, you know, led by people like Mother Duck, I think
- 39:48has been super helpful for this, you know, this new product to be
- 39:52successful for us. That's so.
- 39:53True. Really.
- 39:55I think combining that with this kind of stream architecture that
- 39:58Mike talked about has been like the biggest factor in us
- 40:02simplifying the product. And it's kind of a similar thing
- 40:05of like you could easily over engineer the problem and be
- 40:08like, yeah, we're going to, you know, run a Flink cluster under
- 40:11the hood and you're going to worry about, you know, managing
- 40:15and provisioning streaming infrastructure.
- 40:17Etcetera. And like it turns out, they're
- 40:18like the majority of what people need is like a dozen or so
- 40:22aggregations. And really what they want is
- 40:24like they want very limited operational overhead.
- 40:28They want to be able to just use like Python And pandas to run
- 40:30transformations and then they needed to be performant to their
- 40:33like latency or scale. Which generally means like hey,
- 40:37I have 100 millisecond budget to be able to get features back,
- 40:40but I need to be able to have an aggregation that spans like you
- 40:43know, the entire lifetime of an account maybe.
- 40:46And so indexing much more like we'll just make that as simple
- 40:50as humanly possible. I think has been kind of you
- 40:53know, retrospectively looking at it, one of the the better design
- 40:57decisions along the way. That's I think kind of the
- 41:00mixture of that with Rift with kind of you know simplifying the
- 41:05like away from the large scale distributed processing when it's
- 41:09not needed. Like that's been dramatically
- 41:11helping us lower the complexity of the product.
- 41:14And Matt, you know how every engineering blog posts, when you
- 41:20talk about creating some kind of a product, there's like here's
- 41:25our fundamental principles or the guiding lights that we were
- 41:29looking at and our constraints and that kind of thing.
- 41:32Did you have principles as you were putting this together and
- 41:37you were going through the product creation phase?
- 41:40Yeah, definitely. One was the the simplicity and
- 41:45getting started like I said, like it can't, it can't take
- 41:47more than a pipe and salt tacked on for a data scientist or an ML
- 41:51engineer to start to be productive with this.
- 41:54If suddenly you're like, ah no, you're going to need to like
- 41:57have some sort of spark provider external compute that we plug
- 42:01into and you're going to need to know how to use XYZ in order to
- 42:04do this. Like that immediately would be
- 42:06kind of a no go. Yeah, more skills.
- 42:10And exactly right. Like it needed to be like look
- 42:13if if you know Python, like we're we're good to go.
- 42:16You know you can start using the product.
- 42:19So that was one for sure like testing and iteration speed is
- 42:23another thing that we really wanted to to optimise for.
- 42:26So kind of in that same vein like you should be able to work
- 42:29in whatever environment makes sense to you.
- 42:31And that goes like the principal Mike was talking about, like
- 42:33let's meet people where they are and let them choose the right
- 42:35tool that makes sense for them as opposed to saying like, ohh,
- 42:38you know, I know that to work in deep note or hacks.
- 42:41But now you're going to need to learn how to use, you know,
- 42:43Databricks notebooks as your core development environment and
- 42:46you're going to have to use Spark, etcetera.
- 42:47It's like, hey, if you work in hex and you like to use Pandas,
- 42:51sick. If you guys are a data warehouse
- 42:54diehard shop and you want to be using stuff like SQL for all of
- 42:57your feature engineering, that's awesome too.
- 43:00Like we can make that work. And so like meeting people where
- 43:03they are and working inside of their environment and
- 43:05simplifying that testing and iteration loop.
- 43:08That was also like a big element of I think what we were trying
- 43:11to go for as we, we built out this solution.
- 43:14And then like it said kind of in that same vein like we really
- 43:18wanted this to just be like 1 product.
- 43:19Like we didn't want to have all these different versions of Tech
- 43:21Tonne built on different underlying compute technologies.
- 43:24And so we needed to find something that was like modular
- 43:27and flexible enough that whether you're using Spark or Pandas or
- 43:31Snowflake Sequel or whatever else like that fits nicely into
- 43:35the platform. And that kind of goes to some of
- 43:37like the architectural decisions that Mike talking about of like
- 43:39standardising on the Arrow format etcetera and also
- 43:42allowing us to evolve because you know today it might be data
- 43:47warehouses or everyone's in on pandas.
- 43:49But like the the industry's going to keep evolving.
- 43:52This isn't going to be like the last time that customers come to
- 43:54us and like want something else baked into their feature
- 43:58platform to be made really simple and to fit with the tools
- 44:00that they're using. And so we wanted it to be able
- 44:02to kind of to kind of grow with that.
- 44:04And so I think that's where we hit like a good best of all
- 44:06worlds. And you know, we talk about a
- 44:08lot of this and contrast this part, but actually how we
- 44:10designed the system was like we wanted them to both kind of live
- 44:15harmoniously under one roof. So like we still have a lot of
- 44:17customers that for very good reason use Spark.
- 44:20Like we have customers that are generating, you know, 90
- 44:23terabyte training datasets. And what's interesting is that
- 44:27like even within an organisation, like there's teams
- 44:30that use Spark and then there's teams that don't and there's
- 44:32teams that use the data warehouse and then like there's
- 44:34teams that don't. And so it's not even just like
- 44:36OHH, some customers will use one or the other, but it's like in a
- 44:39single organisation you might have like different data
- 44:42scientists or ML engineers choosing different technologies.
- 44:45And we want all of those to like work together to go into a
- 44:49training data set. If you need to scale up and use
- 44:51Spark, then cool. If you don't, then like use
- 44:53Rift. And so we designed it all to
- 44:55just like live really nicely under one roof out the Git go.
- 44:58So it's one product and under that product you just reach for
- 45:02the tool that you need and they all work together.
- 45:03And that's what really like let's your data science team
- 45:07collaborate effectively together.
- 45:09Yeah. To to add to that, I would say
- 45:11that like kind of ironically I think the existence of the Spark
- 45:15version of the products really enabled us to make a lot of
- 45:18product decisions to simplify Rifts.
- 45:20Because there was always an option to say like you know, if
- 45:23you know we can, there's a tradeoff here where we could
- 45:26make the product easier to use, but maybe like somewhat limit
- 45:29the maximum scale that it can get to in this circumstance
- 45:33without circumstance. And by having Spark available,
- 45:37it made it a lot easier for us to say, OK, if someone hits
- 45:40that, they can, there's this kind of escape hatch to go to
- 45:43Spark. And so we can kind of focus more
- 45:47on the like 90 or 95% use cases without worrying about the last
- 45:515%? I love that because I in my mind
- 45:57it seems like a lot of times there's the battle between
- 46:01simplicity and flexibility. And it almost is like you were
- 46:05able to get the best of both worlds there and say we're going
- 46:09to go for simplicity, but we're also going to make it very
- 46:12flexible. And if you hit that certain
- 46:15scale, then we can bring in the big guns and we can go and get
- 46:19even more firepower behind you. Something we talk about
- 46:22internally, you know Kevin, our CTO and Head of Product, him and
- 46:27I talk about this a lot though like I think as a product it's
- 46:30really important to make like the simple things simple but the
- 46:33hard things possible. And so if what you're doing is
- 46:37like you know, working with small to medium sized data sets,
- 46:42then it should not be hard at all for you to get started and
- 46:46to be able to you know, engineer your features, scale up
- 46:50appropriately, etcetera. And but if you're really going
- 46:53to the most extremes where like I said, we have some of our
- 46:56customers there like that's got to be doable.
- 46:58And like there might be incremental flexity that you
- 47:00accept as you do that necessarily, but like that
- 47:03complexity, you can't then like spoil the easy cases in your
- 47:07product or any. And so I think part of that is
- 47:09like giving that optionality and knowing that like you know, you
- 47:13can kind of progress with people through that complexity by
- 47:15allowing them to like choose the tool that makes sense and like
- 47:19voluntarily take on that complexity as their use case
- 47:23requires it. So you ready for the part of the
- 47:29show? This is a new segment that I'm
- 47:32gonna call. Is he serious right now and or
- 47:38even better I'm gonna call it is this guy on drugs.
- 47:41And the questions that I am going to ask you now may seem
- 47:46like they come from an A drug induced stupor, but I've heard
- 47:50murmurs and I want to know if you all have been encountering
- 47:55this out in the wild because it's your day in, day out.
- 47:58One of these questions comes from features, and looking at
- 48:04features and seeing that in the data world, features could.
- 48:10Maybe they're not that far removed from what data analysts
- 48:14use as KPIs. Have you ever seen features and
- 48:19KPIs being shared or used in almost like the same way?
- 48:24What does that look like? Explain that.
- 48:28I was expecting an even crazier question, so I'm I'm fully.
- 48:31Prepared Excellent. But yes, definitely we see some
- 48:38kind of cross pollinating in that world.
- 48:41And so this kind of comes in in two different forms.
- 48:44One, sometimes we'll see like hey I want my data analysts to
- 48:47be able to like create features or I want like the stuff that
- 48:51they've already created to be able to be used as features.
- 48:54And then the other way is like hey I've created all of these
- 48:57features inside of my feature store.
- 48:59But like these could be really important business metrics for
- 49:01us. How do I get that like you know
- 49:03back available inside of my analytics systems.
- 49:06And so something we've done for the latter that we published
- 49:10recently is actually the ability to like take any of your offline
- 49:13feature store data and publish it back into your warehouse.
- 49:16And so it shows up just like as standard snowflake tables for
- 49:21example. You can find all of your
- 49:23features there and tactile and takes care of all of the, you
- 49:26know, orchestration and publishing of all of that
- 49:28feature data. And so that's one way that we
- 49:29kind of like get the features back in the analytical world so
- 49:32that they're available in both systems and then analysts using
- 49:36UH, using a feature platform. That one's interesting, like one
- 49:40that's important is like or like.
- 49:42One element that's important is definitely allowing them to
- 49:44engineer with things like Snowflake SQL and what they're
- 49:47familiar with. But I think there's also room
- 49:50for feature platforms like lower the barrier of entry and make it
- 49:54even easier to work inside of the platform, etcetera.
- 49:57Some things that we do is make it really easy to take an
- 49:59existing snowflake table and just be like this is my
- 50:02features. So we can get those really in
- 50:05really easily like that. But I would say like it's it's
- 50:09in the realm of like things that we think about and things that
- 50:11we get asked about quite a lot. I do think that there's like a
- 50:15there's good overlap in that you want like features and business
- 50:20metrics available in both systems.
- 50:22But I think that there's also enough divergence that like you
- 50:25don't want it to be the exact same system.
- 50:27Like there's a, there's a good reason why.
- 50:29Like analytics teams have their tools and data science and data
- 50:32engineering teams have their tools.
- 50:34Like they hit on different requirements and different kind
- 50:38of like interfaces that those teams are familiar with.
- 50:40And so I don't think you actually want them to like
- 50:43converge to one tool. I just think that you need that
- 50:45data to be really easily shared between them.
- 50:48Yeah, it's like 1 hop away as opposed to being the same thing.
- 50:53Yeah, so I gotta think of a better name for this.
- 50:56This one is gonna be the part of the show.
- 50:59This is the segment that we call.
- 51:01Can you get anymore hype? And you know, it was coming, but
- 51:06how are people, How are you seeing people use LM's when it
- 51:10comes to feature stores and are they creating features with LM?
- 51:15I know there is actually one guy, summat I think that I
- 51:19follow on LinkedIn who's always talking about LM and recommender
- 51:23systems. And so it feels like there's a
- 51:25lot of potential there. But again, you're in the wild
- 51:30day in, day out. Is anyone actually doing stuff
- 51:33in production with this? That's so good question.
- 51:37Definitely saw that one coming because I think if you're in the
- 51:40data space at all you're you're getting hounded with this
- 51:45regardless of what what team you're on or organisation.
- 51:50So yeah, for a while like, you know, we ourselves had to figure
- 51:52out like what does this story actually look like?
- 51:54Like, where do feature platforms fit into this space?
- 51:58You know, do we use LLM to be like creating features?
- 52:01Like maybe people are like giving human readable
- 52:03descriptions of features and were then like in the same vein
- 52:07as what I talked about before, like we worry about all the data
- 52:09engineering under the hood and you worry about just like
- 52:11telling us what your feature is. So we explored that path a bit,
- 52:16and I do think there's actually some, like, real, real fruit
- 52:19there. That's like English to feature
- 52:21basically instead of like or text to feature.
- 52:25Yeah, pretty much. Because like we we have a giant
- 52:26repository of, you know, feature definitions and associated
- 52:31descriptions and things like that.
- 52:32Like it's not unreasonable that you could go from a human
- 52:36readable description of a a feature to all the, you know,
- 52:39data engineering pipelines needed to make it happen.
- 52:42But I think the most interesting thing for me of how they fit
- 52:45together is like if you like zoom out and you kind of look at
- 52:49what these systems are doing right.
- 52:51And like, you know, traditional predictive ML, you have data
- 52:56that is getting turned into like relevant information that then
- 52:59goes into some model which is making a prediction, which is
- 53:02then being used to affect the application in some way.
- 53:06And as we kind of integrate WLMS into software applications, it's
- 53:10kind of fundamentally the same thing.
- 53:12Like you have relevant information, that relevant
- 53:15information needs to be turned into a format that's that can be
- 53:18digested by an LLM. You take that, you put it into
- 53:22an LLM, it gives you back some you know results, you know in
- 53:26most cases and traditional ML it's like some prediction here
- 53:30it might be like some generative text and then that goes into
- 53:32your application and changes the behaviour and so like there's a
- 53:35tonne of parallels. It's like the LM systems and I'm
- 53:39sure you've talked all about like the the RAG design with
- 53:42like a retrieval augmented generation.
- 53:45So like you have some data instead of turning it into
- 53:49features like you're turning it into embeddings and turn instead
- 53:52of loading it into a key value store, you're loading it into
- 53:55some vector database. Instead of, you know, writing
- 54:00some rule on some like prediction that you get back,
- 54:04you're like taking back all of that text and you're like
- 54:06inserting it back into your application to show to a user.
- 54:09And so like a lot of the core components of this are all the
- 54:12same. Like at the end of the day, you
- 54:14have data that's information it needs to go into model.
- 54:17The results of that, that will need to go back into your
- 54:19application. And so I think there's a tonne
- 54:21of overlap in like the fundamental problems of how do
- 54:24you productionized this, how do you integrate it into an
- 54:26application and how do you get that relevant information like
- 54:29think like feature stores, getting features for a model.
- 54:32It's really not that different to like, get relevant business
- 54:34data to an LM so that if you say like, you know, if you're a
- 54:38travel website and the person's like, hey, I need to figure out
- 54:44where I'm gonna go next summer, it's like you want that LM to
- 54:47have relevant information about that person, what they've been
- 54:49doing, like where they've been before.
- 54:51And like, that's honestly the same role that feature stories
- 54:54play today. I think they'll play that same
- 54:55role in kind of these rack systems in getting that
- 54:59information there. And then I think also there's
- 55:03another interesting part that I've been looking at where we do
- 55:07a lot of like these real time feature pipelines where like you
- 55:12know, at request time someone might need to like run some
- 55:15logic to compare an existing transaction amount to a
- 55:18historical one. And I actually think there's
- 55:20some really cool things we can do right in that space with like
- 55:23kind of like managed prompts, where like you're storing your
- 55:27prompts as code, but then at retrieval time you're kind of
- 55:30hydrating in relevant information from your feature
- 55:32platform. So you're like, ohh like tell me
- 55:35all this useful information about the user, then take those
- 55:38values, inject them into these prompts, then take that prompt
- 55:41and call out to an LLM. Then get that LM response, parse
- 55:45it, send it back. And so you then just have one
- 55:47API where you're like, you know, I'm putting in some like user
- 55:50query here and the feature platform is taking care of all
- 55:53of that. And where you used to have like
- 55:55hardcoded features, you might actually have like dynamic like
- 55:58prompts that you're then feeding into LMS. Ohh, I like that.
- 56:03Yeah, I've definitely seen that as far as a pattern goes with
- 56:08prompts, you need to give that context.
- 56:10Like the more context you can give the prompt, the more that
- 56:14you're going to get a a valid answer or useful answer, right?
- 56:18And so, if you can give context around how many times did this
- 56:22person look at this flight in the past 24 or 48 hours, or
- 56:26where else have they travelled to and they've given these stars
- 56:31on Google. All of that context is going to
- 56:33be really useful and not is features right there, like
- 56:37everything that I just said those.
- 56:38Are all things. Right, so I.
- 56:41And it's really the same thing. Like you're taking that data,
- 56:43you're putting it in the model, you're taking those results or
- 56:45doing something with it. Like it was almost funny.
- 56:48Like, looking back, they're like, oh, that's actually so
- 56:50obvious. If you look at the system at
- 56:52first, you're like, well, how did these fit together?
- 56:53And you're like, wait, it's like kind of the same thing with that
- 56:56word, doing, like, you know, maybe the individual components
- 56:59are now a little bit different along the way.
- 57:01But like there's no fundamental difference in taking data,
- 57:04giving it to a model, taking the results and changing the
- 57:07behaviour of your application. Incredible.
- 57:10Well, fellas, I guess I've got one last question for you before
- 57:15we go. If I'm out there and I'm
- 57:17thinking about what you're going to be doing next, where what's
- 57:24on the road map and what do you want to sink your teeth into?
- 57:29I guess as a PM I can kick this off.
- 57:32So certainly a lot of this LM stuff that we're talking about
- 57:36here, we're you know actively making investments into this
- 57:39area. So stay tuned with more to come.
- 57:43That's definitely a big area for us.
- 57:45I think continuing to make this Rift product successful and
- 57:48lower the barrier to entry. Like I think you know we're
- 57:51still in the early days of a future platform.
- 57:53There's a lot of people out there that are trying to figure
- 57:56out how to infuse their products with real time decisioning,
- 57:59whether it's with an LLM or whether it's with, you know,
- 58:03traditional predictive ML types of applications.
- 58:07And I think we want to make it really easy, make it possible,
- 58:12allow these teams to make their applications way smarter.
- 58:15And Rift is going to be a big part of us doing that.
- 58:18And then I think it'll be a lot of fun for us to expand beyond
- 58:23just managing features to managing really those entire
- 58:27real time decisioning pipelines, everything from like submitting
- 58:30comes to LM's to running multistage ranking for
- 58:35recommendation systems. I think that's where Tecton is
- 58:37going to continue to go in the future.
- 58:39Curious, Mike, if you have any thoughts around this?
- 58:42Yeah, I mean definitely I have a lot of focus on Rift right now.
- 58:46I mean that's you know, kind of one thing to be developing
- 58:49something you know within the company and but you know of
- 58:52course when you get users onto it, they find all sorts of
- 58:55things you might never have thought of that break.
- 58:57And so you know, focusing a lot on making sure that you know we
- 59:01make that successful. Another one I'm excited about
- 59:03and Rift is part of this, but we also have some other things in
- 59:07the works is like making it easier for people to actually
- 59:10try out Tecton. So historically it's you know
- 59:13we've had a fairly involved like people have to talk to sales
- 59:16folks in order to get their hands on the product and we're
- 59:21we're focusing on making it a little bit easier for people to
- 59:23kind of test drive things. So I'm I'm excited for that in
- 59:27the next year. Yeah, it feels like Riff lends
- 59:30itself nicely to that, just the pip install.
- 59:32Tecton is a much different story than, Yeah.
- 59:35So we'll talk to me about your Spark cluster and yeah, exactly.
- 59:40How about you, Dimitrios? What are you excited about in
- 59:42the next year? Ohh man, what am I excited
- 59:47about? The main things that I think my
- 59:51focus are on right now are virtual conferences and having
- 59:57awesome experiences as you all know, whether that is Tecton
- 1:00:01apply that we're going to be doing pretty soon here or it's
- 1:00:05the AI in production conference that I'm putting together or it
- 1:00:10is. Any other slew of conferences
- 1:00:14that I can con people into letting me be a part of?
- 1:00:19That is what I'm excited about. But then I'm thinking about
- 1:00:25doing an in person conference. It's just a little bit scary
- 1:00:28because I could totally go bankrupt if I do it wrong, you
- 1:00:33know, like that's the big part on it.
- 1:00:36Yeah. It's not like a virtual
- 1:00:38conference where, all right, nobody shows up, no big deal.
- 1:00:41If nobody shows up, I've got a whole warehouse rented or
- 1:00:45whatever. And and I do wanna do it
- 1:00:47differently. If I do a conference, I don't
- 1:00:49wanna do a conference. I wanna do like a hullabaloo or
- 1:00:53something like that. I want to do an actual festival
- 1:00:57type vibe as opposed to a conference type vibe.
- 1:01:01So people in costumes and all that stuff but for.
- 1:01:05The Coachella of Data Conferences.
- 1:01:08Yeah, yeah, that's that's kind of it.
- 1:01:10It's just, yeah, it's really like I gotta, I gotta work up
- 1:01:14the courage for that one. So we'll see if in Q3 or Q4 that
- 1:01:18actually happens that materialises or not.
- 1:01:21And in the meantime the other thing like my main focus is the
- 1:01:24virtual conference. But the other thing that I've
- 1:01:26been focusing on that has been an absolute blast because I've
- 1:01:29learned a tonne about what people are doing in the wild is
- 1:01:33the surveys that we do. So we do surveys and then I kind
- 1:01:35of racked my head against the wall or I hit my head against
- 1:01:38the wall for few months, try and gather data and understand the
- 1:01:43data and really parse it out and then I write a report on it.
- 1:01:48So that's something new that I did last year with the LMS and
- 1:01:53production survey and report that came off the back of it and
- 1:01:58we're doing it with the evaluation survey right now.
- 1:02:00So how people are evaluating their systems And so there's
- 1:02:06it's like it's a painful process, but it is exciting
- 1:02:09because I learn and those are the two things that I've got on
- 1:02:12my mind. That's cool.
- 1:02:15If you if you pull the trigger on your conference festival,
- 1:02:19send me an invite, I'll be there.
- 1:02:21There we go. I'll bring, I'll bring you some
- 1:02:22costume. Yeah, Chief, you gotta come with
- 1:02:25a headdress and all of that. I'm expecting big costume from
- 1:02:28you. That might be seen as it might
- 1:02:32not be politically correct, it might be appropriated
- 1:02:36scholarship. You have to think about that one
- 1:02:39a little bit. Yeah.
- 1:02:41Well, yeah, we'll we'll figure out a different costumes, right.
- 1:02:44Well, so guys, this has been awesome.
- 1:02:47I really appreciate you coming on here and getting to chat with
- 1:02:50you again. And of course, like hopefully
- 1:02:55when we meet in person again, we will get to make some music
- 1:02:59because I have fond memories of the last time that we were
- 1:03:02hanging out in person making music.
- 1:03:04People probably don't know this that are listening, but Matt is
- 1:03:07an expert drummer and you give him a table talk, he'll make it
- 1:03:11into a drum. Even so, pairing that with my
- 1:03:14poor guitar skills is a recipe for disaster.
- 1:03:17But that doesn't mean we don't do it.
- 1:03:19You are underselling yourself. I think some good jam sessions
- 1:03:24are for sure in our future. Excellent.
- 1:03:27Well, fellas, I'll talk to you later.
- 1:03:29This is awesome. Good catch it up, Dean.
- 1:03:31Yeah. Thanks for having us.
- 1:03:36Pops, you have to immerse yourself in the ML OPS content.
- 1:03:41The best way to do it is to subscribe to the Inner OPS
- 1:03:45Community Podcast, so good luck and keep learning.