Latest / Agentic Conversations (formally mlops.community) / Feathr: LinkedIn's High-performance Feature Store // David Stein // Coffee Sessions #120
Transcript
- 0:00I'm David Stein. I am a senior staff software
- 0:03engineer at LinkedIn, working on ML Ops, and machine learning
- 0:06infrastructure and coffee. I like my coffee black and I
- 0:12love fills coffee. And I have been male ordering it
- 0:15and making it home since the pandemic, mr.
- 0:17Schuyler, welcome back. This is awesome to have you
- 0:22here. Today, we're talking with David
- 0:23Stein, fellow buddy, of yours from the LinkedIn days, and
- 0:27there's a lot we chatted about, I've got So many cool takeaways
- 0:31but I want to hear yours first, yeah.
- 0:33You know, one of the biggest takeaways for me was just a lot
- 0:37of the talk around. First of all, open sourcing
- 0:42feather and sort of the journey to get there and then also kind
- 0:46of like what's next? And it was really interesting,
- 0:49hearing David's perspective, because when David started
- 0:53building feather feature stores, did not exist.
- 0:56That, that was not like a term that was floating around at all.
- 0:59Yeah. Was it 2016?
- 1:02This was probably to 2015. I think, when they started,
- 1:05well, maybe 2016 but it was, you know, this was definitely like
- 1:11one of the OTG feature stores for sure.
- 1:14And so David has kind of been in this space and just steeping in
- 1:18this problem for a very long time.
- 1:21I loved hearing about sort of like how they got to this point
- 1:24of like having an open source release in using LinkedIn,
- 1:27really as an incubator to like build a really great product.
- 1:29T', that that's such a good point.
- 1:32How he at the end mentioned LinkedIn, he could build a
- 1:36better product at LinkedIn. Then spinning out his own
- 1:40company because he has so much access to people like you back
- 1:43in the day that he could just go and sit next to and read their
- 1:46code or ask questions and have a relationship with and bump into
- 1:51in the cafeteria lunch. Like that is such Insight that I
- 1:55hadn't even thought of because automatically you go to like, oh
- 1:58yeah, why wouldn't You start this on your own, you've been
- 2:01doing feature store since 2000 16 2015, like going and do this.
- 2:06And so he gave a nice little plug as to why building it at
- 2:10LinkedIn. Was arguably a better option
- 2:13than going and building it out in the world.
- 2:17And I personally loved when he talked about, how he does, not
- 2:24feel like real time is being so quickly adopted because the two
- 2:29Rules are not in place, and so I think that's huge.
- 2:33I know there's a ton of companies that are trying to go
- 2:36at this. Real-time problem, you mentioned
- 2:38chips. I know tecton starting to do a
- 2:41lot of their stuff with real-time.
- 2:43There's a few others that I see. Like it's almost every other
- 2:48week. I feel like somebody comes out
- 2:51and says, like, we're the XYZ platform for your real-time data
- 2:57and there's a problem there. There's definitely like people
- 3:01are looking for a solution and the way that he broke down, why
- 3:08it is so important because of the ability, if someone has
- 3:12confidence that the tools they're going to use are going
- 3:15to work and they're going to be able to use them quickly, then
- 3:19they get that many more Cycles on them.
- 3:21They get that many more iteration time or that much more
- 3:24iteration time to go through it. It just makes them more likely
- 3:28to try. Try that use case XYZ with, with
- 3:36real-time features and real-time capabilities.
- 3:39I did also like, how you push back a little and said, well,
- 3:42not everything is for Real Time right now, especially you've
- 3:46been working on it and I know this is a strong belief that you
- 3:49have. Like, real time might be
- 3:51Overkill, a lot of the time, it's not necessarily the most
- 3:56important thing to have these real-time features coming
- 3:59through. Because the features aren't
- 4:02going to change over the course of an hour that much so that was
- 4:06huge and at the risk of just babbling on a little bit more.
- 4:10I also wanted to talk about when he when he said the idea of
- 4:15making things more simple, so that machine learning Engineers
- 4:19can understand what they're working on and then decoupling
- 4:24features from code that like that kind of blew my mind and
- 4:28having this features Is it as something that engineers and
- 4:32whether its data Engineers or data scientists or machine
- 4:34learning Engineers, they can reason with, they can look at
- 4:38they can change and it's irrespective of the code that
- 4:42built the model. So that was a huge one.
- 4:46It's probably one that is not such a big surprise to people
- 4:50but you know I got a thick skull and it takes a while for things
- 4:53to enter into my mind. And this finally was he put it
- 4:58in eloquent way so that I So, David Stein, he is machine
- 5:02learning engineer on the platform, on the feather
- 5:05platform at LinkedIn. And we talked to him about so
- 5:09much good stuff today, and that's it, man.
- 5:14I don't have anything else. You have anything else you want
- 5:16to mention it. Only that it was a pleasure
- 5:18getting to chat with David Again.
- 5:20David is careful thinker. And I always appreciate
- 5:25regardless of how loudly I would rant at LinkedIn and give you
- 5:29always found a way. A to respond calmly.
- 5:31So really, really appreciated the opportunity to chat with him
- 5:34again. Yeah, it seems like he would
- 5:36have been awesome to work with. I'm sure you enjoyed that and I
- 5:40know that you told me just before we hit record like you
- 5:42would happily work with him again and so we do got to give a
- 5:47shout out to you're having a happy hour in La for the ml Ops
- 5:50Community. Yeah, tomorrow night, there It
- 5:54Is. By well, it's probably like a
- 5:56Week Ago by the time this Exactly.
- 6:01So but you're going to be doing more.
- 6:03So if anybody's in LA and they want to hang out with Skylar or
- 6:05hot or any of the LA crew then like there's a whole meet-up
- 6:10page, we've got meetups happening all over the globe in
- 6:13real life because we're sick of being behind screens and we've
- 6:17done enough virtual events, in the last two years, let's get
- 6:20out meet each other and hopefully, we're going to be
- 6:24giving away fun things like at certain meetups, I was just
- 6:28talking to the Berlin crew. Ooh, and we're going to be given
- 6:30away. Raspberry Pi's for different
- 6:38trivia contest that we're doing. So we're going to try and make
- 6:40the in real life meetups fun and a good time.
- 6:44You're just doing the happy hour maybe later on, it's going to
- 6:46develop into a full-blown meet up.
- 6:49Let's see. Alright, so now further Ado
- 6:53we're getting into it with David.
- 6:57All right. Where do we even begin with this
- 7:00one? I think we should start with the
- 7:03Skyler and David both knew each other back in the day when
- 7:08Skyler was working at LinkedIn, and this is a reunions of sorts.
- 7:12Yeah, I'm definitely. Super happy to see David again,
- 7:15really enjoyed working with them in the past.
- 7:17It's so glad to see he's doing. Well, yeah, I just got to say
- 7:22likewise Skyler. It's really great too.
- 7:25Do it be here again with you for sure.
- 7:29So since the time of working together you David have been
- 7:35very busy because you created this feature store that LinkedIn
- 7:42uses and then you not only created it and we're using it at
- 7:45LinkedIn later. Skylar can tell us if you guys
- 7:48were using that back in his day but you open source this.
- 7:52So I want to get into the feature store.
- 7:54I want to get into just the Infrastructure at LinkedIn,
- 7:57where you think ml Ops is going. And then the whole experience of
- 8:02open sourcing something because I know that can be a bit of a
- 8:05beast and how it's been so far? I just got a comment one thing
- 8:10before I ask you the first question.
- 8:11I love this background, you've got.
- 8:13It reminds me of like, when Neo and Morpheus jump into the
- 8:16Matrix right before they jump in.
- 8:17And they're like everything's white and then all of the
- 8:22different shelving comes in around them.
- 8:24I'm expecting shelving. To come in around you at any
- 8:26moment when you have to talk about the different tools that
- 8:30you use LinkedIn. So but anyway man why don't we
- 8:35start out with this? Like can you give us just a bit
- 8:37of background on feather and what exactly this feature store
- 8:41is? We probably know what a feature
- 8:43stories. I'm guessing a lot of the people
- 8:45that are listening have heard it many many times before, but what
- 8:50is feathers unique feature stored?
- 8:52Miss sure. So Feather started out really
- 8:58like six years ago, it had a different name, internally at
- 9:02LinkedIn for a lot of its history.
- 9:04So, Skyler would know about it, probably mostly by its name
- 9:08frame. That we've also talked about
- 9:09publicly or think it's mentioned in the blog post about feather.
- 9:13But yeah, we at LinkedIn years ago because we've been, we've
- 9:18been doing ml using it in production for a lot of LinkedIn
- 9:23businesses for a long time like more than 10 years.
- 9:27Recommendation systems for the news, feed for advertising for
- 9:31notifications, relevance for all different, kinds of things.
- 9:33And there's lots of like, you know, research papers and other
- 9:36blog posts that LinkedIn has put out about a lot of these
- 9:39applications. We've been doing a lot of these
- 9:41things for a long time, and a huge issue that we encountered
- 9:50is that preparing features and managing the features.
- 9:55So, the inputs to machine learning workflows is really,
- 10:00it's a big part of the, of the challenge in kind of
- 10:03operationalizing and managing machine learning workflows.
- 10:07So we were even saying that it's the in some of the large machine
- 10:15learning applications, it was even like the hardest or the
- 10:18most complicated burden. Something to actually manage
- 10:23these feature data preparation workflows that had been growing
- 10:28for years and different generations of people on the
- 10:32team. You know, like years of turnover
- 10:35and new engineers and researchers coming in.
- 10:37And adding a new feature here, a new feature with are adding a
- 10:40join here, join their, you get. We started to see these giant
- 10:45complicated workflows. Yeah.
- 10:49Kind of for Using like Azkaban, which is linkedin's kind of
- 10:54internal version of airflow, that's often.
- 10:55And it's also open source. Basically, like all of these big
- 10:59data processing workflows that have gotten really complicated,
- 11:01that really were trying to do something that I thought was
- 11:05simple should be seen. As a simple thing, which is
- 11:08Define a set of features compute them from their Source data load
- 11:13them into the context for training and then be ready to do
- 11:15the same thing for online and production.
- 11:18So I guess I could say that say that all more simply feature
- 11:25preparation is like the hardest thing.
- 11:28One of the hard part is parts of actually doing applied ml at
- 11:33scale for a large project for team over time and so we build
- 11:37feather as a solution to kind of simplify feature preparation.
- 11:43To make it so that you define a name set of features and then
- 11:46get those features by their names in the training context
- 11:50and in the inference context instead of having to, like,
- 11:52manage a whole bunch of application-specific workflows
- 11:55to do that. That's sort of the origin story.
- 11:59I'll let you steer me with more questions about what facets.
- 12:02Do you want to go into? Yeah, definitely.
- 12:06And you know, one of the things that is really awesome that I
- 12:09just want to point out is that you talking about how you
- 12:12started this project like it, Years ago.
- 12:14And I, I remember the very, very earliest days of frame and it's
- 12:19really cool to see the Milestone and landmark of like, actually
- 12:22seeing it become like a full-fledged open source project
- 12:26and mostly first wanted to congratulate you because like,
- 12:30obviously that's a lot of work and a lot of cycles that you had
- 12:33to go through a lot of learnings.
- 12:36And so, one of the things that I was curious as you were, you're
- 12:39talking about this is, you know, you have Like six years of
- 12:44lessons to learn, what do you think are like the lessons that
- 12:47you learned in building? This is like, you know, one of
- 12:49the things when we were talking to he and the other week, you
- 12:53know, LinkedIn was in this interesting position where like
- 12:56feature stores didn't really exist.
- 12:58So to speak when you started this and so you're kind of like
- 13:03one of the people that sort of spearheaded, you know, the
- 13:06creation of feature stores. And so like I'm sure there's
- 13:09tons of interesting lessons you learned along the way about what
- 13:11works and feature stores. What?
- 13:13And how to get people to use them.
- 13:15So really just curious to get your take as what stands out as
- 13:18important. Learnings there's so many
- 13:20lessons both in terms of the, how to help a team deliver.
- 13:27Some, you know some technology Mission especially when it's in
- 13:31a new space like this where we're still collectively I think
- 13:35as an industry figuring out what the right solution for feature
- 13:39management platform and for feature store should look like
- 13:43Leading a team to deliver it and refocusing.
- 13:49The needs based on what we hear from users.
- 13:52There's, there's many lessons in there, I think. one of the
- 14:04things that, I think was most important is the Importance of.
- 14:19It almost sounds obvious but having really clean Concepts
- 14:22that are going to work. Well for users, what like
- 14:25something like this with the feature store, we view it as a
- 14:34It is a device to actually help the users who are the machine
- 14:38learning Engineers, think more simply about the system about
- 14:43the machine learning platform, the thing that they need to be
- 14:46deploying their models into and running them.
- 14:49And when we're trying to make it easier for people to think about
- 14:52what they need to do, you need to have really good clean
- 14:54Concepts. You need to have named things
- 14:57that are that resonate with people in the work.
- 14:59They need to do getting those Concepts really clear.
- 15:04Early on is really helpful because you have to course.
- 15:08Correct, less later on. And when we make mistakes, like
- 15:12if there are, if we make things more complicated than they
- 15:15should have been, if we didn't polish down tightly enough, some
- 15:21Core Concepts, those become, you know increasingly challenging
- 15:25things that need that you know the cost of fixing those
- 15:27problems goes up later on. So I mean there's many different
- 15:32kinds of lessons there but The. Clean Concepts starting from the
- 15:43point of asking users and working together.
- 15:46The users to figure out. How do you want to specify
- 15:49things? How do you want to specify your
- 15:51feature dependency set of your model?
- 15:54How do you want to specify a feature definition?
- 15:57Can we use like a imagined configuration or imagined DSL as
- 16:02a sort of a thought device to shape how we want to think about
- 16:05the things we want to build the importance of those things early
- 16:09on in a Design process. I think contributed to the
- 16:17success and Longevity. I think of what we built for
- 16:22this project. I don't know, but there's many
- 16:27other angles to go here. Hopefully that covers that
- 16:32question. If I don't know if there's
- 16:33different angles in there, you want to go?
- 16:35Yeah, I think that's great. Yeah.
- 16:38And I think that's definitely a lesson that resonates with me
- 16:43seeing a lot of the churn that we had in trying to figure
- 16:46things out early on. I definitely recall like
- 16:49unclear, semantics like definitely made my brain hurt.
- 16:53But yeah. So You know, one of the things
- 16:56I'm sure they did a lot of listeners would be curious about
- 16:59because I don't think everybody has a good understanding of the
- 17:02scale of LinkedIn. And so, would love to talk about
- 17:05the the scale that you're handling from a few different
- 17:08angles. One, how many teams are using
- 17:10feather to, you know, how much data like is sighs?
- 17:15Are we talking about? And I think people would love to
- 17:19kind of like see that those bits on scale.
- 17:23Sure, sorry. I wish I Add my you know cheat
- 17:26sheet of the LinkedIn published. You know like yeah own and
- 17:30publicly released numbers about these things.
- 17:32I know that the you know, just in terms of scale LinkedIn
- 17:37obviously has many hundreds of millions of members and then
- 17:43numbers for, I assume that there are some numbers that folks are
- 17:49really interested in Lincoln scale, can look up things that
- 17:51are probably described on blog posts in terms of the scale of
- 17:55the The people who are coming to the website every day using
- 17:58different products, the number of different kinds of entities
- 18:02that need to, you know, the number.
- 18:04I mean, just the scale of the event of people using the
- 18:06product. And I think that most people who
- 18:11use the LinkedIn product who, for example, we use LinkedIn
- 18:14feed and no, you know, you can scroll and scroll and scroll and
- 18:17the diversity and variety of kinds of things that will show
- 18:20up there. You can think of this scale of
- 18:21some of these kinds of applications that we're dealing
- 18:23with. It's very, it's a very yard
- 18:25sale. A large one of the, you know, I
- 18:29wouldn't consider to be like at the magnitude of scale of
- 18:34something, like, in terms of traffic load and things like
- 18:36that, or in terms of the data volume, it's it's going to be
- 18:40like a, it's a one of the larger use cases, right?
- 18:42And speaking to this specific numbers of these things, number
- 18:47of teams using feather, this is because it's It depends on how
- 18:55you count in terms of sub-teams weekends, but there's like
- 18:58dozens of teams who are using feather, most of the internal
- 19:02users know a piety. Those same internal kind of code
- 19:04names that nice guy that you knew as particularly frame all
- 19:09those, a couple of other pieces inside there.
- 19:10Also a wrapped in the feather umbrella, the the history kind
- 19:17of went like this project started in 2016 and then really
- 19:22got implementation 2017 with with a collaboration with
- 19:27Engineers from various different machine learning like apply two
- 19:30male teens who are building different parts of the stack.
- 19:34We, it was a very kind of close partnership kicking this things
- 19:37off and that kicking this thing off.
- 19:39And there was a lot of early kind of Grassroots enthusiasm
- 19:44about this idea because it was this, you know, widely commonly
- 19:48understood issue that there's a big opportunity and simplifying
- 19:53the feature preparation aspect. Adding machine learning
- 19:56application workflow. So we had like, you know, many
- 20:02adopters in the first few years that helped us build this.
- 20:07And then we went through additional, you know, migration
- 20:12phases over the years. After that, where I am pretty
- 20:17sure it is a good. Majority of the applied ml, use
- 20:21cases at LinkedIn that are using this technology.
- 20:25So, I want to take a little bit of a step back because there's
- 20:29something that you said in that answer, the a few questions ago,
- 20:36where you were talking about, how feather is this device for a
- 20:41machine-learning engineer to think more simply about the
- 20:45system. Interact more simply with the
- 20:48system and I thought that was something that I hadn't heard
- 20:53before because it's like, you're taking Basically this very, very
- 20:57complex thing and you're serving it up to the machine learning
- 21:01engineer in a way that they don't have to understand the
- 21:04whole complexity of everything that's happening.
- 21:07But you're making sure that they do understand the important
- 21:11parts, and the parts that are pertinent for them.
- 21:16Am I understanding this correctly?
- 21:18Yeah, I guess to add a little bit to that. the idea of having
- 21:24a feature for like an, especially an entity feature,
- 21:29which is like the big important case for future stars, where you
- 21:33have features about users or features about job postings or
- 21:38features about feed items or about advertisements that need
- 21:42to be managed and fetched and looked up the idea that you have
- 21:46a named set of these things that can be captured in our registry,
- 21:50that can be reasoned about apart from the code that creates them
- 21:55or part from the models that use them was sort of a An innovation
- 22:01really before future stores. And before feather you would
- 22:09have named variables for features in Mike model code, but
- 22:13they would be, they were kind of coupled with the model code or
- 22:17coupled with the workflow that's doing the data processing.
- 22:19The idea that there should be like a like a named entity named
- 22:24like almost like an artifact or a named abstract entity like a
- 22:30There's a feature that is registered in a registry and has
- 22:33a name and that you can rely on that name.
- 22:37Meaning the same thing in the different parts of the
- 22:41ecosystem, right? Like any experimentation
- 22:45offline, you know, sandbox environment.
- 22:47And in also in the on the online production, serving environment
- 22:52that you can use that same name and expect it to mean the same
- 22:56thing and you just get to ask the infrastructure to provide
- 22:59that feature for You and you can rely on it being the same, you
- 23:03know, like in the training time and inference time, and that the
- 23:07underlying Machinery is going to make sure that that is the same
- 23:14being able to rely on that set of named features in a registry.
- 23:18First, you add the features and then you use, the features, is
- 23:21sort of a simplifier because before that, yeah, I like the
- 23:26engineers working on these applications would have to
- 23:29think, too much. Is that about the details of how
- 23:32this data preparation needs to work?
- 23:34They might have different names for feature columns in one
- 23:39context and you know, other names for them and our insurance
- 23:43online contacts and they'd have to write code that would need to
- 23:46remember which feature corresponding to which having
- 23:49these things ordered in a common registry with common
- 23:51infrastructure. That can provide, it does kind
- 23:53of simplify the things you need to think about.
- 23:56You're like, okay, I have a set of features, I import them into
- 23:59my model context. I have like you import
- 24:01dependencies into your code at the top of your Java or C++
- 24:05file, or something like that. Getting that cleanliness around
- 24:08named importable features does help.
- 24:10You think about what you need to do in terms of building and
- 24:13deploying a machine learning model.
- 24:14I love this idea of decoupling the features that you can reason
- 24:18with from the code to end, and then bringing that
- 24:22standardization. So that across the company, you
- 24:25understand that if you have this named thing that Going to be the
- 24:30same whether or not I am here or there and it reminds me this is
- 24:35a horrible like analogy, but I saw Skylar drinking some coffee
- 24:42and it's like going to a Starbucks, I can go to Starbucks
- 24:45anywhere around the world, right?
- 24:47And I know that the coffee is going to be pretty much the
- 24:50same. It's any kind of fast food chain
- 24:53that you have that dependent, or you have the predictability in.
- 24:57When you go in there, it's going to be the same and so that's
- 25:00kind of What it feels like you were trying to do is make that
- 25:02predictability across the organization so that when
- 25:05somebody is messing around with features, they know that they're
- 25:10messing with this thing, that is not that is the same across the
- 25:16org. And so I'm wondering too when it
- 25:20comes to open sourcing this because it feels like that that
- 25:23helps with the standardization peace and I actually was just
- 25:27recently listening to a podcast with the Of Hashi court and he
- 25:31was talking about how open sourcing in his mind, the key to
- 25:35open sourcing especially for Hashi, Corp was to drive
- 25:40standardization. Was that at all in your minds
- 25:45when you decided to open source it?
- 25:47He is the queen of chemicals that work and this is your daily
- 25:51dose of among herbs. Well, if you are dead serious
- 25:55about the Arabs, you have to immerse yourself in the
- 25:59envelopes. Content, the best way to do it
- 26:02is to subscribe to the email Ops Community podcast.
- 26:06All great people are here on this podcast soon, good luck and
- 26:10keep learning. So I'm not familiar with the
- 26:15with the example that you just mentioned.
- 26:17So I don't, I can't compare to that specifically but I know of
- 26:21other examples where of projects and systems where the open
- 26:28sourcing of a thing is specifically.
- 26:30He played a standardized like I'm thinking about things like
- 26:33Onyx for example, it's like let's define a common language
- 26:36for how model graphs can be represented in for purposes.
- 26:40That brings I would say. The reason why we open sourced
- 26:47feather is maybe a little different from that.
- 26:52We at LinkedIn. We have a kind of a culture of
- 26:56open sourcing. Our infrastructure pieces that
- 27:00We build that we're proud of and that we think may be of interest
- 27:04in use to the outside world. There are many examples of other
- 27:09LinkedIn projects that have been open sourced and you know that
- 27:14have made an impact in the industry.
- 27:17People talk about Kafka Pinot data Hub and there's others.
- 27:23So we believed with feather that we had a interesting solution.
- 27:30To a problem we saw and we're hearing about increasingly from
- 27:36Folks at other companies and so we, you know, in the same kind
- 27:40of spirit of open sourcing generally useful things that we
- 27:44built at LinkedIn. We wanted to put this to put
- 27:47this out there because we do think that our approach to the
- 27:52problem of organizing feature preparation.
- 27:54And so I a good one when compared against kind of like,
- 27:58what is commonly available Out there so we did.
- 28:02That's kind of part of the thinking behind you.
- 28:06Why, why would we do that? If there's a lot of benefits,
- 28:08right? Also, to open sourcing to
- 28:10undertaking, that process of open sourcing, internal Tech,
- 28:15like there's a whole effort around cleaning things up.
- 28:19Getting it ready for, you know, the public eye, improving your
- 28:24documentation a little more cleaning up some facets of
- 28:28things. Doing a lot of that work that We
- 28:30also would do for internal projects but the sort of like a
- 28:33motivating casian to do it. And you know, there's there's
- 28:36various benefits right that you get but we did believe, it was
- 28:40useful. And we also have a partnership
- 28:42with some with a team of folks at Microsoft Azure who've also
- 28:48published a blog post about this collaboration where they, you
- 28:52know, kind of got a early inside.
- 28:54Look at what we were thinking about open sourcing where their
- 28:57features store solution, they were interested in.
- 29:00In, you know, working with us on this.
- 29:01So, we've got some collaboration on this open source project from
- 29:04folk said at Azure. Who've done made, really awesome
- 29:08contributions in terms of making feather, easy to use and easy to
- 29:11try and Deploy on Azure. So there's a lot of stuff about
- 29:14that in the blog post that that they published and on our GitHub
- 29:19page. Folks can go there and see the
- 29:22how it's been really made into like a cloud native Solution.
- 29:26That's easy to try on Azure. So all of The, you know, the
- 29:31interest from our partners at Azure and interest from folks
- 29:34who talk to an industry, these are all kind of factors that led
- 29:36us to undertake this initiative of open-sourcing feather that
- 29:41had been in use for LinkedIn for quite some time.
- 29:44That's awesome. So, you know what, one of the
- 29:47things I was, just remembering, you know, a long time ago, I
- 29:51stumbled across this website feature store dot org, and I had
- 29:57looked through it and noticed, hey, LinkedIn doesn't have
- 29:59anything. Thing here.
- 30:00And I think David at the time, I was like, hey man, what's up?
- 30:03Why why, why isn't your work here?
- 30:05And I just went and checked and Feathers there now.
- 30:08And it's really interesting seeing, just how many feature
- 30:11stores are represented there, and I'm sure you being somebody
- 30:16who is steeped in that, in, that, that problem space, you're
- 30:20probably aware of how other people's have built their future
- 30:24stores. And just curious, what are some
- 30:26of the things that you see is that differences between Other
- 30:30and maybe some other feature stores, especially differences.
- 30:33That might be important. Maybe things that are better or
- 30:36worse. Sure.
- 30:39There are a lot of solutions out there and something I think I
- 30:42mentioned earlier was about how the industry we're all kind of
- 30:46together still deciding on like what that good feature story
- 30:51even really means as a you know, what is the what is the
- 30:54requirement set? What are the functionalities
- 30:56needed? It is It's still you know like
- 31:01in development, even the names, you know, the name features or
- 31:06and what it even really means like there's been some actually
- 31:10shift in terms of what that means.
- 31:11So if you look at the solutions there I think that there you see
- 31:15a variety of approaches, you see some that are much more like a
- 31:24data sync. Like I just a data store where
- 31:26you put Computed feature data that can then you know, make it
- 31:32available to me online context. You see, other solutions that
- 31:36provide different amounts of capability for actually defining
- 31:42feature views or defining features using Transformations
- 31:46on Raw data and then varying levels of sophistication in
- 31:51terms of the kinds of features that can be defined whether you
- 31:53have support for defining Dynamic features that I have
- 31:58over time windows before, you know, up until the event that
- 32:02you're making a prediction about support for features of features
- 32:10or defining features. As that are computed as a
- 32:13function of the values of other features.
- 32:14There's various kinds of capabilities, there there's
- 32:23There is, yeah, so it's kind of like maybe summarize that there
- 32:28are, there are some very simple Solutions and then there's some
- 32:32more complex solutions that are may be tied to specific
- 32:35Technologies and provide certain capabilities.
- 32:38Our approach is that we kind of think that there should be like
- 32:41a Swiss army knife as it were about like Making it easy for a
- 32:47machine-learning engineer to Define features Based on data
- 32:51assets that already exist in an organization.
- 32:55So that means an expression language that lets you Define
- 32:58featured, you know, like that do that help you with a good amount
- 33:03of the last mile of data munging in order to actually prepare a
- 33:06feature into something that would be, you know, close enough
- 33:09to like a tensor form that you can be easily just injected into
- 33:12like a context for running a model or training model.
- 33:16The Swiss army knife in the kinds of things that are
- 33:19supported in the expression language and then the apis, we
- 33:22have a set of those things, based on what we found to be
- 33:24useful for LinkedIn, use cases and we think are generally
- 33:27useful. And what we want to know, what
- 33:33we're building towards is to have That Swiss army knife be
- 33:40cover 80% or more of what people need to do and where there's UDF
- 33:45support for the remaining 20% and where you have really good
- 33:48management capability around those things and where you have
- 33:50really good real-time support for those things where you're
- 33:53able to properly simulate backfill and compute the values
- 33:57of real-time time variant features that are made with the
- 34:02Swiss army knife apis, and expression, language has to go
- 34:05to do that, really well. And then to be able to deploy
- 34:06those and use those things in production.
- 34:09Those are aspects that we are pushing on and building for with
- 34:15feather and some of the solutions.
- 34:18If you look at like the long list of things that are out,
- 34:21there are much more like the storage element.
- 34:25So in that aren't covering, you know, the Swiss army knife of
- 34:28Transformations and feature engineering kind of
- 34:30capabilities. So yeah.
- 34:34So in a way it's more than a store.
- 34:36Like, there's actually that the name Features store and that in,
- 34:40for some of these Solutions it does include more than storage
- 34:42includes things like feature engineering tool kits and things
- 34:44like that. We're it's a little more than
- 34:50the store, right? It also includes those kinds of
- 34:51capabilities that we see is kind of important, part of solution
- 34:54to the problem. I muted myself.
- 34:56So I didn't interrupt your your answer.
- 35:01Yeah, so definitely concur with, you know, we're still figuring
- 35:04things out. There's obviously a lot of like
- 35:07when somebody says features store, there's some ambiguity
- 35:09about what that means. And personally I've often felt
- 35:12frustrated at some feature stores that people are like, why
- 35:14don't you use this feature store?
- 35:16And when I look at it it's a glorified database.
- 35:17You know it just gives Somewhere like store the data.
- 35:19It's like well you know I don't know how much value add that's
- 35:22having it's so cool to see that. There's like such a wide variety
- 35:26of different features stores but you know, somebody who's been in
- 35:29the trenches for a long time, I would love to just get a sense
- 35:33of, you know, where do you think this is going?
- 35:35Where do you think feature stores?
- 35:37Are evolving towards. What, what's next?
- 35:39For feature stores? Or maybe more generally ml Ops.
- 35:42Yeah, I think that what is next? for the things that I pay
- 35:48attention to you, There are. There's almost like a hierarchy
- 35:56of needs. We started out with having named
- 36:04features as any of these people can reason about and can
- 36:08register and know what types they have and count on them to
- 36:11mean, one thing across contexts training and inference and so on
- 36:17Then we added a bunch of Swiss army knife kind of capabilities,
- 36:20to Define certain common features based on real data
- 36:23sets, but there's like a expanding set of of hierarchy of
- 36:27needs kinds of additional things that you want to have to support
- 36:30an ecosystem around that. In terms of really easy,
- 36:37visualization of the trends of the data Trends behind the
- 36:42features or anomaly detection for making, you know, they're
- 36:45making it easy for humans. Understand the features that are
- 36:49defined and make sure that you know, that they're looking the
- 36:51same way over time. Like there's things about nature
- 36:54like I understand my current installation better and better.
- 36:58Can we continually polish and prove that that's One Direction
- 37:02where things are going to improve the timeliness, the
- 37:04ability to have time to have a highly Dynamic features that are
- 37:09based on some window of time, that is in a rolling window.
- 37:12And make sure the support for that is really, really, really
- 37:15solid. Is another really huge area.
- 37:19Where in my opinion there's sort of a and under use in the
- 37:26industry of real-time signals because of the relative
- 37:31difficulty of actually dealing with the, you know, like stream
- 37:36processing Machinery, which is come a long way but it's still
- 37:40not quite at the point, in my point of view, we're from what
- 37:44I've seen, where machine learning Engineers are ready to
- 37:46pick that stuff up and Apply it, unless they're really know that
- 37:49they really need to do it for a specific problem.
- 37:51It's not yet at the point where like it's in the Swiss army
- 37:54knife, where you can like try it quickly and validate the idea
- 37:57that some real-time signals going to add a lot of value.
- 37:59So you can just like add it and deploy it, we're not let that
- 38:02level yet but getting there and Feathers making a big play in
- 38:06that direction. It's going to be like really big
- 38:07in terms of helping that a lot of applications in the industry
- 38:12move towards using real-time signals more making better use
- 38:15of You know, dynamic real-time Computing.
- 38:19Things like that. Wait, farther off.
- 38:22I understand if I understand this correctly, you're seeing
- 38:27that because it's so hard to do real-time and because there
- 38:31aren't the proper tools around it.
- 38:34People are just like and I'm not going to try for that because it
- 38:38seems or it is too complex. Absolutely.
- 38:42So I It's yes, I think that people from what I've seen,
- 38:53people are ready to try things that they know that they can try
- 38:58in a reasonable window of time and get an answer about, you
- 39:01know, like that they can try reliably that they know how to
- 39:05use it. They can build something, see
- 39:07what the effect is going to be within a Time window that is
- 39:10within their planning cycle and where, you know, because like
- 39:12the longer that takes the more risky it is to actually try out.
- 39:17Something I almost think about like, you know, I mean it
- 39:20digging for oil or digging for gold or something like that, the
- 39:23easier it is to kind of know where to look and to be able to
- 39:26try getting it out quickly. And then that it has a really
- 39:30big effect in terms of the productivity that exploration.
- 39:33If you have a tool that lets you survey the field and really
- 39:36quickly versus if it's going to take you a year to survey the
- 39:38field that's going to matter a lot.
- 39:41So definitely I think that real-time signals Are one
- 39:47example of something that, you know, there's been a huge amount
- 39:50of interest in this generally roof past many years as you
- 39:53have, you have open source Solutions, you have startups and
- 39:56other companies that are building support for just
- 39:58real-time data processing and stream processing as just like a
- 40:01thing by itself. But really the application of
- 40:04that stuff for use in machine learning, in my opinion, once we
- 40:07have better tools, like we're building with feature stores,
- 40:11that'll make it easy to do. That stuff, will have a big
- 40:16spike. I think in the interest of
- 40:18actually applying that stuff for machine learning problems, in my
- 40:21opinion, at least, that's how I see it.
- 40:23I'm kind of curious to know what Skyler thinks about that and
- 40:25feed Ruiz. Yeah, yeah, yeah.
- 40:30First first time questions and flipped on me but so a lot of
- 40:35this reminds me of I don't know if you saw some time ago.
- 40:39Ship had a post that got a lot of notoriety machine learning is
- 40:44going real time. You're not ready and, you know,
- 40:48I think I agree with a lot of things in that post.
- 40:51One thing that I in this is a bias based on the problems that
- 40:55I tend to work on now. I, I look at a lot of problems
- 41:00in. There are a lot of problems.
- 41:01We're actually getting more real.
- 41:03Time signals is not super helpful there.
- 41:07There are. Definitely like, I think, in
- 41:08most problems, there are probably at least some
- 41:11collection of signals that like, yeah, it's really useful to get
- 41:14it real time. So, as an example, I work mostly
- 41:16in the space of mental health and so, somebody indicates,
- 41:19they're suicidal. Yeah, I want to know that ASAP,
- 41:21you know, and I want my models to understand that ASAP but like
- 41:25somebody's like Mental Health. Like change instantly.
- 41:29You know like if I got more data up-to-date right now, probably
- 41:33I'm going to make a prediction that's like pretty close to what
- 41:35it was like an hour ago and so I think like it really depends on
- 41:39the type of problem you're working on and I think the
- 41:42reality is a lot of where the money has been in machine
- 41:46learning and as far as applications go those are places
- 41:49where yes having more real time stuff matters like think
- 41:52advertising like you most of the state-of-the-art advertising
- 41:56systems now Are like doing like nearline training even because
- 42:01like you there's so much more to be gained there so I definitely
- 42:06agree. I think it's going to go there
- 42:08but I almost think it's like an artifact of like the types of
- 42:11problems where money comes from rather than being like
- 42:15representative of all machine learning problems in like being
- 42:18representative of like what everybody needs so to speak, but
- 42:21I definitely could occur with the, with the view that Great to
- 42:27make this stuff easier because like the alternative is like
- 42:30probably like in most problems there's at least some collection
- 42:33of signals of the useful to get real-time and I think the
- 42:36reality is like even in places where there are those signals
- 42:40people just aren't using them because there's such a big gap
- 42:42to like, actually implementing it.
- 42:45Yeah, yeah, yeah. Sorry.
- 42:48Go ahead to meet you. Well, I was kind of going to
- 42:50follow that up with a question to you.
- 42:53David around what? Some of the you use cases, you
- 42:57feel L would be strong for this real-time that aren't
- 43:00necessarily being leveraged right now, right?
- 43:04Like and may, is it just more of what Skylar was talking about,
- 43:08like that stuff, that big money making stuff?
- 43:11Or are there places that you feel like we could leverage real
- 43:16time? We're just not, because it's so
- 43:18difficult. I guess it would say that we
- 43:23have we do have a like at LinkedIn.
- 43:26We do have a lot of Use cases actually better doing real-time
- 43:29processing. We have a lot of support for
- 43:31this, and we have even like, I think there's some other blog
- 43:33posts and things like that, that we've released recently about
- 43:36real-time computation real time. You know, we feature preparation
- 43:41or amount of training, things like this.
- 43:42So it is definitely used for some use cases where it is known
- 43:47and proven to be important, and we do get a lot of value out of
- 43:51doing that at LinkedIn. I think that just to clarify
- 43:56what I'm saying before, what I was saying before?
- 44:00I'm just in terms of personally, as a focusing on like, Emma laps
- 44:06infrastructure. I really like to look for what I
- 44:09think are problems where if the infrastructure was a little
- 44:13better, it would actually unlock capabilities and investments in
- 44:20valuable Investments for users because they're gonna be like,
- 44:22okay now that I can quickly try something, I'm going to try that
- 44:25thing more and then find out like gosh, this is Useful like
- 44:28being able to do that by providing tools that let people
- 44:31try and find good solutions. That would have been
- 44:35prohibitively complicated to try before, or at least more
- 44:39complicated than they were willing to spend, if that makes
- 44:41sense. Finding that kind of that that
- 44:45edge and trying to move the kind of critical point of investment
- 44:48into something and move it to make it easier because the
- 44:52tooling is better. So it's easier to try is the
- 44:55thing that I'm particularly interested in.
- 44:57I agree that there are definitely use cases, where
- 45:01real-time signals, for example, matter much more where they
- 45:05where they matter less. You know, when you have when
- 45:09you're predicting things that are more stable, you're
- 45:11obviously, it's not going to do that much to add, you know,
- 45:15real-time capability. But there are, you know, like,
- 45:18certainly for personalization where you responding to
- 45:20real-time user Behavior. You're trying to understand, you
- 45:23know, like how to help a user by putting the right search results
- 45:26in front of them based on. Something that they just
- 45:29indicated recently. You know things like that.
- 45:31I do think that there are a lot of places where we would get a
- 45:34increasing use with liquor and you know Tools around that
- 45:39thing. Hopefully that makes sense.
- 45:41Yeah definitely. Yeah.
- 45:43So in that that's definitely a future.
- 45:46I'm excited for seeing, how many people struggle with doing
- 45:51anything real time? I recall there were several
- 45:54times at LinkedIn where it was like, hey, we know that this
- 45:56would be a great Real-time signal to have and you know I
- 45:59think a lot of the real-time features that we ended up
- 46:03having, it was a journey to get there, you know?
- 46:06It's so I'm very, very excited for that future.
- 46:09For sure, we've got to say some Demetrius All right.
- 46:16So what are the things I was thinking about?
- 46:17You know, again, long time to get to this point.
- 46:21It's like having an open source release.
- 46:23And I'm just curious if there's anything about, like, through
- 46:26the process and maybe not even just feather, but maybe your
- 46:30work or generally or more. Broadly, is there anything that
- 46:33stands out as something that you're particularly proud of and
- 46:36that work? Well, I'm very proud of the work
- 46:43that the team has done in terms of being able to actually do the
- 46:47heavy lift of mood of getting a project that has been in
- 46:50existence for a long time and turning it into an open source
- 46:54solution that can be used outside of the context in which
- 46:57it was incubated and originally built.
- 46:59That's definitely you know not easy to do.
- 47:04So there was a lot of you know, it would like I said Heavy lift
- 47:10their folks on the team who worked very hard to make that
- 47:15happen. We had help from our partners
- 47:19that Azure that I mentioned previously who have, you know,
- 47:22done a lot of work to do to make this thing useful in the, you
- 47:27know, outside of Lincoln context.
- 47:29Even though we had built it for years within LinkedIn.
- 47:32Anyone who's built a big software project at a at a
- 47:35medium sized to fit company over the course of many years and I
- 47:38was that like, I can over time, you do get like a lot of you get
- 47:42layers of dependencies and relationships with other
- 47:46internal Tech and the ability to actually rationalize those
- 47:50things and lift and make a release that works outside of
- 47:53the context is obviously a lot of work.
- 47:55So I'm just super proud that we, we delivered that and that we
- 47:59are, you know, we're that the solution is is out there right
- 48:04now producing value for for other teams and companies
- 48:08outside link. And I just think it's, it's
- 48:10really, really cool to see that at this point in the life cycle
- 48:13of this project, that that I've been working on for a long time.
- 48:17So that's the thing that I'm most proud of I guess.
- 48:19Like if that answers switch here?
- 48:21Yeah. Well don't worry about it.
- 48:23Yeah, I love it. So, if you were to get to go
- 48:26back in time and do one thing differently, when you were open
- 48:30sourcing feather, what would you do differently?
- 48:34Because I'm sure there was a lot that you learned along that
- 48:37journey of open sourcing it. Yeah, this is interesting.
- 48:41I there's a lot of reasons why we do and don't do things that
- 48:50are, you know, based on, you know, the focus in the
- 48:54priorities of teams and the needs of internal users and
- 48:58various factors right over over time that are kind of hard to
- 49:03Kind of hard to fully characterize.
- 49:06So it's not like, you know, I could go back and change it.
- 49:11It's not like I would go back and take a different turn
- 49:13because I think we respond. You know, we went on the the
- 49:16timing and the roadmap we did for, you know, those various
- 49:18kinds of reasons. But I would say open-sourcing
- 49:20sooner would have been nice. Like I would have been, it would
- 49:24have been easier to do earlier on and there would have been
- 49:28fewer bumps in the road. But then again there a Why we
- 49:33didn't do that. We were very focused on
- 49:35supporting LinkedIn, internal users and building.
- 49:39What we thought was a good solution and supporting
- 49:43different kinds of migrations. You're doing these kinds of, you
- 49:45know, obvious things. So we didn't get to it sooner.
- 49:49But if I could change anything about the timeline, with regards
- 49:51to open sourcing or I would have done it done it earlier.
- 49:55I think that we it's cool that we've been in this domain for a
- 50:01while and That would have been one thing other than that.
- 50:09Yeah, I'll probably leave that one at that.
- 50:12No, it's a perfect answer and that's a perfect one to end end
- 50:16on. I really appreciate you taking
- 50:19the time. I learned so much, man, if
- 50:22you're such a deep thinker in you obviously like choose your
- 50:27words very carefully. I love how much thought you put
- 50:30into each sentence. As opposed to me, I just kind of
- 50:33like verbally vomit all over the place and ramble on But I'm man,
- 50:41there's so many great takeaways on this and Skyler and I are
- 50:43going to talk about him right now.
- 50:45I can't thank you enough for coming on here David and we will
- 50:50hopefully be seeing more of you when it comes to feather.
- 50:53I think the last question is and we can leave this at the very,
- 50:56very end. So, in case we need to bleep it
- 50:58out, we can. When are you going to spin out
- 51:02feather into an its own company and do that Playbook?
- 51:08Well, yeah, there's no plan to do that.
- 51:10I I think that one of the things that I tell people and that is
- 51:16is this is really, this is really the truth is that
- 51:21LinkedIn is actually a great place to incubate a technology
- 51:24like feather, because we have a huge variety of just businesses
- 51:30and teams that are doing, machine learning a large-scale,
- 51:34small-scale different kinds of problems.
- 51:38It's like there's an end the company is big but it's not like
- 51:42too big. You can still meet people and
- 51:44bump into them and the cafeteria if you're in the actual office
- 51:48and learn from users about what matters to them, kind of like
- 51:50how I know Skylar because he was really on one of the user teams,
- 51:54the internal users within LinkedIn.
- 51:56That, you know, it was making use of the feather frame, you
- 52:01know? And the other machine learning
- 52:04platform tools that we've been working on and trying to build
- 52:06and improve over the years, So we being able to have close
- 52:10relationships where they've large variety of, apply demo
- 52:15users is like a great place to build a really good solution.
- 52:20Just in terms of, like, your questions, Beatrice, I had a
- 52:22friend who are, have a friend who asked me like years ago,
- 52:27like what like five or six years ago when I was, you know,
- 52:30thinking of this new project, I had a question from friend like,
- 52:33oh, you're building a canoe project around this interesting
- 52:36thing. Like, why are you doing this?
- 52:37At least. In like why wouldn't you just go
- 52:39like try to, you know, talk to some, someone get funding.
- 52:42And I was like, well, you know, I actually think that it's like
- 52:45I can do a better job of building a better thing in the
- 52:48context. I LinkedIn because I'm have, you
- 52:51know, I know all these users. I know these problems, I can
- 52:53talk with them. I can see their code, we can sit
- 52:55together, we can build something there.
- 52:57So that's kind of the answer to your question.
- 53:00I would turn around and say that like LinkedIn is actually a
- 53:02great place to do this stuff. There's no plan to make it a
- 53:05another company. If folks want actually And help
- 53:08build really great ml Ops tools for LinkedIn.
- 53:12I mean like for for the industry, you can come do that
- 53:15at LinkedIn and I'd be happy to talk to anyone.
- 53:17Who wants to do that. There we go.
- 53:18You hiring. Yes, we are hiring.
- 53:22There we go. You can you can ping me?
- 53:26If you're interested. Awesome!
- 53:28Dude! We'll sweet.
- 53:29Will end on that. Thank you.
- 53:30David, thank you very much. It's my pleasure and hopefully
- 53:34we'll talk again.