Latest / Agentic Conversations (formally mlops.community) / Uber's Michelangelo: Strategic AI Overhaul and Impact // #239
Transcript
- 0:01What's going on in Melbs Community?
- 0:03I am your host Dimitrios, and this is another podcast episode.
- 0:06This time we're doing something a little different because I
- 0:10just read the Uber blog post all around their evolution of the
- 0:15Michelangelo platform. And so since they've released
- 0:19this in-depth blog post documenting what they've done
- 0:23from 2016 until now, I thought, why don't I break it down?
- 0:29We'll do an episode where I'm going through some of my key
- 0:33learnings and takeaways, and I'm doing this because two out of
- 0:37the four authors of the newest post are going to be speaking at
- 0:43the AI Quality Conference on June 25th in San Francisco.
- 0:47So I thought it was only right. I also will be triangulating
- 0:52this post with a few other resources, namely the original
- 0:58Michelangelo post that came out back in 2019, some podcast
- 1:04episodes that we've had with people who created the original
- 1:09Michelangelo post, primarily Mike from Tecton, and also a few
- 1:15podcasts that we've had with Melissa and Michael who are
- 1:20working on Ubers, internal education, data and AI
- 1:24education. And I'll also be mentioning that
- 1:28one of the writers of this blog post gave a talk already at the
- 1:33latest AI in production virtual conference that we had.
- 1:36O there's all kinds of resources that I'll be citing and talking
- 1:40about. And all the links of this are in
- 1:43the show notes, including the main blog post, which I highly
- 1:47encourage you to go read and soak up.
- 1:49But here's going to be my breakdown of it.
- 1:52And before we start, let's give a shout out to the amazing
- 1:56engineering culture that Uber has to make these learnings and
- 2:01what they've done over the years public.
- 2:04I mean, we've seen so many of the Uber team go and start,
- 2:09create companies and it's been cool to see them in this space.
- 2:15It's been really nice. I mean, shout out to Aparna at a
- 2:19Rise, Piero at Pretty Base, Kevin and Mike at Tecton, all
- 2:24these folks. They were part of Michelangelo's
- 2:28story and they've since come on the podcast and they've shared
- 2:31what they've learned. And so Speaking of sharing
- 2:35learnings, as a random side note, I just want to shout out
- 2:40some other company blogs that I find just as good, maybe even
- 2:45better than Uber's engineering blog.
- 2:48And I love how they talk about what they build slash they show
- 2:53how the sauce is made. So these blogs that are
- 2:57fascinating to me and always high quality I would say are
- 3:00DoorDash. Shout out to Hayne, friend of
- 3:03the pod, and I just love that guy.
- 3:07I love hanging out with that guy.
- 3:09Instacart Sahil came on the pod too.
- 3:11That was great. Airbnb does a really good job
- 3:14with this. Nobody from Airbnb has ever been
- 3:16on the pod, which is fascinating to me, but maybe they've never
- 3:20heard of us. I don't know.
- 3:21If anybody is a listener and you're working at Airbnb on the
- 3:25ML platform or doing stuff with machine learning AI at Airbnb,
- 3:29hit me up. I'd love to chat.
- 3:31LinkedIn does a great job with their blog, Spotify.
- 3:35And my favourite and what I think is the most underrated
- 3:41educational engineering blog out there is The New Bank Blog.
- 3:45Absolutely. I've said it many times.
- 3:47I will say it again, new Bank Engineering blog is a hidden
- 3:51gem. Alright, let's take a minute to
- 3:53thank our sponsors of this episode, Weights and Biases.
- 3:57Elevate your machine learning skills with Weights and Biases
- 4:00free courses including the latest additions Enterprise
- 4:05Model Management and LLM Engineering Structured Outputs.
- 4:10Choose your own adventure with wide offering of free courses
- 4:14ranging from traditional ML OPS, LLM's and CICD to Data
- 4:19management and cutting edge tools.
- 4:23That's not all you get to learn from industry experts like Jason
- 4:27Lewis, Jonathan Frank, Shreya Shankar and more.
- 4:31All those people I will 100% vowed for.
- 4:35They are incredible friends of the pod.
- 4:37Enrol now to build better models, better and faster and
- 4:41better and faster and just get your education game on.
- 4:46Check the link in the description to start your
- 4:47journey. Now let's get back into the
- 4:50show. All right, let's set the scene
- 4:52for the blog post. Uber started building their
- 4:57internal mill tool in 2016. This internal mill tool was
- 5:03called Michelangelo. They say they've been through 3
- 5:09distinct phases when it comes to this internal tool.
- 5:15From 2016 to 2019, that was the foundational phase of predictive
- 5:20ML and tabular data. From 2019 to 2023, AKA last
- 5:27year, that was a progressive ship to deep learning, and from
- 5:342023 onwards that is the venture into generative AI.
- 5:40This is the platform evolution that we're going to be talking
- 5:44about, how Michelangelo went from just predictive machine
- 5:48learning to now supporting Gen AI and deep learning and what
- 5:53that looks like, what some of their design principles have
- 5:56been along the way. From the start of Uber's journey
- 6:01in AI and ML, real time has been at the core of the Uber product
- 6:06experience. And some use cases that have
- 6:09leveraged classical ML have been ride, ETA, fraud detection,
- 6:15search, driver matching, dynamic pricing.
- 6:18And for Uber Eats, it's been ranking systems, intelligent
- 6:23photo carousels, recommender systems, upsells on checkout.
- 6:28In the original phase, from 2016 to 2019, the inspiration for
- 6:34creating Michelangelo was because machine learning was
- 6:40happening in a very ad hoc way at Uber.
- 6:44Let me read you a quick excerpt from that original blog post.
- 6:49Before Michelangelo, we faced a number of challenges with
- 6:52building and deploying machine learning models at Uber related
- 6:55to the size and scale of our operations.
- 6:58While data scientists were using a wide variety of tools to
- 7:02create predictive models are psychic learned, custom
- 7:07algorithms, et cetera, separate engineering teams were also
- 7:10building bespoke one off systems to use these models in
- 7:14production. As a result, the impact of Mill
- 7:18at Uber was limited to what a few data scientists and
- 7:22engineers could build in a short time frame with mostly open
- 7:27source tools. Specifically, there were no
- 7:30systems in place to build reliable, uniform and
- 7:35reproducible pipelines for creating and managing training
- 7:39and prediction data at scale. Another way of saying this,
- 7:46there was no established path to production, nor once it's in
- 7:50production, what are we doing with it?
- 7:52And you'll see that this idea of trying to unify the system so
- 8:00that there's not so much ad hoc action happening that comes U
- 8:05again and again in the blog post.
- 8:06They are really crucial about building for flexibility.
- 8:11So they want to give you templates and make your life as
- 8:14easy as possible unless you need to go deeper down the rabbit
- 8:20hole. And then you have that
- 8:21customizability also with the Michelangelo platform, but
- 8:26they're not going to let you have that be the default mode.
- 8:31They want to make it as easy as possible.
- 8:33In the newest blog post they show that the tech they were
- 8:37using during this time when they created Michelangelo 1.0 was
- 8:45Tensor Flow, Spark, Xgboost and they also called out how they
- 8:50were using Cassandra and Mill Lib.
- 8:54This 1.0 iteration of the platform is where the concept of
- 9:00a feature store was introduced. In a podcast with Matt Leifer,
- 9:06one of the founding engineers at Tecton, he talked about how at
- 9:12the time of the Michelangelo blog post being released, he was
- 9:17working at Twitter and he was at an off site trying to design
- 9:23Winter's system. And I think it was the
- 9:26recommendation system that they had for the feed, and they read
- 9:32the Michelangelo blog post and they were like, ohh, there's
- 9:35this thing called the feature store.
- 9:36Wow, maybe we should try that. And so they implemented it at
- 9:39Twitter, which I thought was a nice little fun fact about it.
- 9:43And as a cool flex, the newest blog from the Michelangelo
- 9:49evolution, they talk about how the Uber feature store now today
- 9:55hosts over 20,000 features that anyone at Uber can use when
- 10:00they're building models, which is incredible. 20,000 features,
- 10:04and they still have a feature store.
- 10:06It's still in use, but there were some challenges when it
- 10:10comes to Michelangelo 1.0. Remember, this gets us U to
- 10:162019. Then they started to see that in
- 10:192019 there were things that needed to change, and so they
- 10:23created basically Michelangelo 2.0.
- 10:25The first iteration, Michelangelo 1.0 fell over on a
- 10:31few different fronts. For one, there was lack of
- 10:36quality definitions and project tearing.
- 10:40And project tearing is a huge one that's going to come up over
- 10:43and over again. That I think is fascinating to
- 10:46really reflect on because the idea there is that if you do not
- 10:51have project tiring, you do not know which projects are most
- 10:56important. And so I like that they
- 10:59specifically call out that each project in Michelangelo 1.0 was
- 11:04treated the same regardless of impact on the business.
- 11:08So theoretically you could have a model that was driving
- 11:12millions of dollars in revenue per day getting the same
- 11:16attention and support and SLA's as a model that still had not
- 11:21clearly defined what the ROI was.
- 11:24So that is the whole reason that they were like, OK, we need to
- 11:27figure out this project tiring and what projects are the
- 11:32highest value for us so that we can give them priority.
- 11:36And another issue on the Michelangelo 1.0 version was the
- 11:40lack of deep learning support. And that is a huge theme in the
- 11:46newest blog post that's like basically front and centre.
- 11:49They talk about it a tonne. The lack of deep learning
- 11:53support meant that something had to change within the Uber
- 11:57Michelangelo platform because they specifically called out,
- 12:03they had the data for these deep learning models, but they did
- 12:06not have the developer experience.
- 12:09So things were getting fragmented and it wasn't fun.
- 12:12And I remember that Mike Delbalso, the founder of Tecton
- 12:17and one of the creators of Michelangelo 1, he came on a
- 12:22podcast and he referenced that when he was leaving Uber.
- 12:26I think it was around 20-19, maybe 2018.
- 12:30One of the big questions that they routinely would go over was
- 12:34like this idea of many different models versus a bigger model and
- 12:42a large like deep learning model and especially for like use
- 12:48case, sorry, city specific models.
- 12:52OI think if I remember correctly, it was Mike saying,
- 12:54you know what we would ask ourselves?
- 12:57Should we train one generalised big model that understands each
- 13:02city or should we train city specific models that can
- 13:07understand the city? So you have a Detroit model, you
- 13:11have a Denver model, you have a New York model, that type of
- 13:14thing. And ultimately, those were the
- 13:17questions that were being asked as he was leaving.
- 13:19And what we see from this blog post is that they eventually
- 13:23said, we got to allow people to try with deep learning.
- 13:27We got to make it easy for them because what was happening is
- 13:31that the data scientists were going and they were trying to
- 13:35use deep learning and they were doing again, this whole idea of
- 13:39like this ad hoc style of, alright, well if you're not
- 13:42going to support me with the Michelangelo platform, then I'm
- 13:45just going to go and bolt on some ways that I can do it
- 13:49myself. So the third downfall in
- 13:53Michelangelo 1.0 was the lack of support for collaborative model
- 13:58development. They mentioned this fragmented
- 14:02developer experience with some teams trying to support the deep
- 14:07learning use cases and creating the ad hoc tools they had to
- 14:11work with. And they said, you know what,
- 14:15that's the whole reason we created Michelangelo was to have
- 14:17that unifying experience. We need to bring deep learning
- 14:21to front and centre. Now this gets us into Phase 2.0
- 14:26and the architecture design principles behind 2.0.
- 14:30And again, Phase 2.0 lasted from 2019 to 2023.
- 14:35What happens here is that by 2019 they realised, you know
- 14:40what, we've got some serious ROI and revenue being driven from
- 14:46our machine learning projects. Let's double down, let's
- 14:51encourage people to do more with this and let's optimise our use
- 14:57cases. You know what's better than a
- 14:58little bit of revenue, a lot of revenue being generated from MU
- 15:02cases. So they were encouraged to
- 15:04optimise their different ML use cases.
- 15:07And this means that the data scientist and the teams that
- 15:11were working on the AI and ML initiatives, they began to use
- 15:18more advanced techniques like deep learning.
- 15:21And so the platform had to evolve with these teams because
- 15:27they were asking for more deep learning support.
- 15:31And they set out, the platform team set out to create an
- 15:34architecture that allows for a bit of a Lego plug and plate.
- 15:40And some of the tools that users can have at their disposal are
- 15:46internally built tools, but they can also grab the best in class
- 15:51open source tools and bring them into the Michelangelo platform.
- 15:56So now if you look at the diagram of what tech they're
- 16:00using in this phase, they started to open it up and add
- 16:06support for pied torch, Pytorch, Lightning and ray.
- 16:10And let's read real fast the design principles of
- 16:14Michelangelo 2.0 define project tiring.
- 16:18That is #1 design principle focus on high impact use cases
- 16:25to maximise Ubers mill impact. Provide self-service to long
- 16:31tail mill use cases so that they can leverage the power of the
- 16:35platform. And one way that they did this,
- 16:39as we'll see in a minute, is they created a unified GUI.
- 16:44They called it MA Studio. They also invested a tonne into
- 16:52empowering anyone at the company to learn ML and how they can
- 16:57incorporate it into their jobs. And so for more on that, we did
- 17:02a whole podcast with Melissa and Michael, as I mentioned, on what
- 17:06they do specifically to get people into the understanding
- 17:11and mindset of how to leverage data science, machine learning
- 17:15and AI at Uber and anyone. It's almost like they have a
- 17:19mini university in Uber to try and get people doing more stuff
- 17:24with data science, machine learning, AI.
- 17:28I thought that was super cool. The second design principle from
- 17:33the blog is that they had this monolithic verse Lugin play.
- 17:40The architecture will support plug and play of different
- 17:44components, but the managed solution will only support a
- 17:48subset of them or the best user experience.
- 17:52Bring your own components for advanced use cases.
- 17:56Again, going back to that, trying to make it easy.
- 17:59Template bized right out-of-the-box for anyone to
- 18:01come and use. But if you're super advanced and
- 18:04you want this really in-depth capability, then you can bring
- 18:08your own. The third design principle is
- 18:12API code driven versus UI driven.
- 18:17O take the API first principle and leverage UI for
- 18:22visualisation and fast iteration.
- 18:24Support model and iteration as code for version control and
- 18:30code reviews including changes made in UI.
- 18:34The 4th design principle is build versus buy decision.
- 18:38Leverage best of class offerings from open source or cloud or
- 18:43building in house. Open source solutions may be
- 18:46prioritised over proprietary solutions.
- 18:50Be cautious about the cost of capacity for cloud solutions.
- 18:55And the 5th design principle was that they wanted to codify the
- 18:59best practises like safe model deployment, model retraining and
- 19:05feature monitoring inside of the platform itself.
- 19:09So I encourage you to either read the blog or just go
- 19:13directly to that specific diagram that we can leave in the
- 19:17show notes if you are curious about how they set it up because
- 19:21they have the whole online, offline and then like this
- 19:24control ane, which I thought was, yeah, it's it's nice to
- 19:29look at. It's confusing, a little bit
- 19:31confusing honestly, but you spend a few minutes, you look at
- 19:34it, you kind of understand what's going on.
- 19:36And also they explain some of the milk quality considerations
- 19:42that they started to grapple with when they're creating
- 19:46Michelangelo 20. And they have another diagram
- 19:51that is really cool where it's the different phases of the ML
- 19:55lifecycle and then the quality considerations that they wanted
- 19:59to be thinking about in these different phases.
- 20:02So you've got code review and test coverage.
- 20:07And the reliability when they're training models and also the
- 20:10hardware cost when they're training models On the actual
- 20:13model itself, they're looking at things like accuracy, freshness,
- 20:18reproducibility. That's one of the quality or
- 20:20some of the quality metrics that they're taking into account for
- 20:24serving the model. There are thinking about
- 20:26latency, availability and cost. So those are the quality metrics
- 20:31that they're looking at. And these are just a few things
- 20:34they thought about when they're looking into the quality of the
- 20:38system. They ended up launching a whole
- 20:41framework for measuring and monitoring key metrics.
- 20:45They called it ME or the Model Excellence Score, which granted
- 20:54not the name I would have gone with, but it is also easy to
- 20:59judge. So to tackle the reproducibility
- 21:02piece, they created what they called modern iteration as code.
- 21:08You all have heard of infrastructure as code.
- 21:10Well, they've got model iteration as code.
- 21:13And this did a bunch of things like it created an mill repo
- 21:18that it also managed dependencies by using immutable
- 21:22Docker builds, and they created continuous integration and
- 21:27delivery pipelines. And all of this was to tackle
- 21:31the reproducibility piece to make things more reproducible.
- 21:35So that's cool, but by far the meat of this article is what I'm
- 21:41about to explain next, and that is the steps that they took to
- 21:46make deep learning what they called a first class citizen
- 21:51within the platform. The first thing that they
- 21:54mentioned is that they brought deep learning support to feature
- 21:59transformations. Next up they talk about the
- 22:03model training upgrades and a big one is switching from Spark
- 22:09to Ray. And that was mainly because deep
- 22:13learning workloads have lots of ways that they can fail on
- 22:17Spark. And funny enough, the
- 22:20researchers that I know training foundational models not at Uber,
- 22:25but just out there in the community, they don't really
- 22:29talk that kindly about Ray. So I wonder what the feedback is
- 22:34on Ray now that it's been a few years on the serving side.
- 22:38In this blog post about Michelangelo 2.0, they call out
- 22:42serving latency as something that is the most important thing
- 22:46for them. Because of the use cases like
- 22:49driver ETA or a lot of those that I mentioned before, the
- 22:54Uber Eats feed ranking system, you've got lots of different use
- 22:59cases that need to be very fast. As soon as someone opens the
- 23:03app, they gotta get that. So they switched from Neuro Pod,
- 23:09which I have never even heard of before this blog post, to
- 23:13Nvidia's Triton Serving because it works better for serving deep
- 23:19learning and you can also serve Tensorflow and Pytorch straight
- 23:22out the box with Triton Serving. And last but not least, I've got
- 23:28to call this out because when I read it I was amazed honestly.
- 23:34How have they not done this earlier?
- 23:37But OK, right on. Over the three-year time period
- 23:42or four year time period from 2019 to 2023, bringing
- 23:47Michelangelo 2.0 into existence, they made the switch from Mezzos
- 23:54to Kubernetes. And it's just like what?
- 23:58They weren't on Kubernetes before.
- 24:01Wow. It's taking them a long time to
- 24:03get off Mezzos. The reason that they did that
- 24:06specifically is for their GPU resource management.
- 24:12Michelangelo 1.0 was using Mesos and then they when they upgraded
- 24:18to 2.0 they got rid of it and they switched to Kubernetes.
- 24:21And of course they mentioned how they have thought long and hard
- 24:27about how CPUs and GPU resources should be shared amongst the
- 24:33teams so that if somebody is not saturating that GPU or CPU,
- 24:38other teams can come in and utilise the GPU to the Max.
- 24:42Because I guess like GPU's are expensive or something, I don't
- 24:45know. And last but not least, the era
- 24:49of Genii is among us. This final part of the blog.
- 24:56They go into what they've done since last year to bring looms
- 25:01into the fold and have Gen AI workloads be a first class
- 25:07citizen on the 3rd iteration of the Michelangelo platform.
- 25:12The first piece that they've done is they created the
- 25:16capability to use both external LLM APIs and internal looms.
- 25:23And so to do that, they had to create a Gen AI gateway is what
- 25:29they're calling it. And that's basically just which
- 25:31model are we going to use. They leverage the larger APIs
- 25:37for tasks that are more general. And then they use the internal
- 25:43models robably, some open source off the shelf and probably LAMA
- 25:48three honestly or minstrel. And they will use those and fine
- 25:53tune them with all this rich data that Uber has.
- 25:56They definitely called out a few times that like, wow, we've got
- 25:59a tonne of data and we want to use it.
- 26:01We want to train models on all this great data that we've got.
- 26:05So they're probably fine tuning those internal models that open
- 26:09source, but then when they need to, they will use the external
- 26:13models for like more complex tasks is what it sounded like,
- 26:17and more generalised knowledge. If they need that generalised
- 26:22knowledge, then they'll go out there.
- 26:24And so they created this AI Jen API Gateway and it gives a
- 26:28unified experience. So you just make the call and
- 26:31then boom, the Gen API Gateway will figure out what model it
- 26:35should be going to in this like Jen AI Gateway experience.
- 26:40There were some key factors that they called out because it's not
- 26:43just like routing it to the right model.
- 26:45They also said we want to have logging and auditing O we can
- 26:51track and audit models because maybe some government agency is
- 26:56going to knock on our door and say, what are you doing with AI?
- 26:59And we can show them exactly what we're doing.
- 27:01They also set up cost guardrails and attribution so they can know
- 27:07how much they're spending and attribute it to different use
- 27:11cases and projects. And they get alerted to
- 27:15overspending when it happens, which makes me think like, OK,
- 27:21what happened? So that they had to put that
- 27:24guardrail into place. There has to be some kind of
- 27:27story there like, oops, I didn't realise it was costing us that
- 27:32much to make all those LM calls or whatever it may be.
- 27:36Imagine you pushed a new feature and millions and millions of
- 27:40people are using it and now you just made a whole lot of LM
- 27:45calls and gave open AI a whole lot of your money.
- 27:48I want to know what the story is behind that or if they
- 27:51preemptively thought they probably did because they're
- 27:54smart engineers, right? They they had to have thought
- 27:58that beforehand before pushing anything to prod what's the
- 28:01story there? As you would expect, they put
- 28:04safety and policy guardrails presumably into place because
- 28:11they don't want to end up on the front page of Internet news.
- 28:16All right, last but not least, Michelangelo 3 point O, they
- 28:20made sure that when people are using Jet AI capabilities, PII
- 28:26or the personal identifiable information is redacted.
- 28:32O specifically when any data is being sent to an external LLM,
- 28:40all the PII gets redacted. And it seems like they've built
- 28:45a very robust evaluation framework to easily be able to
- 28:49compare models. When a new model comes out, they
- 28:52can just throw in their use case specific evaluation frameworks
- 28:56and data sets and get pretty good approximation on if it's
- 29:03better or worse than what they're working with.
- 29:05So let's conclude with that. Let's wrap it up.
- 29:10That's the blog breakdown. It was something that I felt
- 29:14like I wanted to do specifically because the original blog post,
- 29:18the Michelangelo 1.0 or Meeting Michelangelo, it was so
- 29:23influential in the Milos community.
- 29:25And also I wanted to do this because two of the four authors
- 29:31of the newest post are going to be speaking at the AI Quality
- 29:34Conference. And so I felt like it was only
- 29:37right. They spent all this time and
- 29:39hard work creating this blog post.
- 29:41It's my ode to them. A little bit of a hat tip.
- 29:44And as a quick reminder, only a few tickets are left if you want
- 29:49to come to the AI Quality Conference on June 25th in San
- 29:53Francisco. We might sell out by next week,
- 29:55which is absolutely incredible to me.
- 29:58It's mind blowing. Huge shout out to everyone that
- 30:01is coming and supporting the conference.
- 30:05It is a lot of fun and we haven't even started yet.
- 30:09As I was reading through this blog post and specifically the
- 30:15evolution of Ubers Michelangelo, I was in awe at all the
- 30:23customizations and how advanced they seemed to be.
- 30:27But also it reminded me that we have this vision of companies
- 30:33who have been doing AI since the 20 tens, the mid twenty 10s.
- 30:38And we're like, they're so advanced, they're so far ahead
- 30:43of the pack. And then you read something like
- 30:46this and it reminds you. Ohh yeah Uber just was able to
- 30:52migrate from Mesos. Like how far ahead of the pack
- 30:57were they if they were on Mesos until like last year?
- 30:59Come on. And So what it reaffirms in my
- 31:03mind is that a lot of infrastructure from these big
- 31:07companies that started doing ML in the early days, it's like
- 31:12this snapshot in time. They had to make certain tech
- 31:16decisions and choices because there was nothing else out
- 31:19there. And if you compare that to the
- 31:23tooling options that we have today, like think about the
- 31:26tooling options that they had in 2016 for mill workloads versus
- 31:33the tooling options that were out there in 2020.
- 31:35And that's another snapshot in time versus the tooling options
- 31:39that are out there today. It's just you see how much the
- 31:43field has evolved and it is so much easier to get an mill
- 31:49platform up and running today than when these folks set out to
- 31:54do it in 2016. They were basically creating
- 31:57everything. But now because they had to
- 31:59create everything, there's almost like this legacy that was
- 32:03left behind. And so they have these legacy
- 32:05systems and you start out your journey so early on, which means
- 32:15that the platform team that is tasked with upkeep of this
- 32:23platform in this use case or in this case it is the Michelangelo
- 32:27platform. But let's just generalise it to
- 32:31any AI platform out there. There's constantly going to be
- 32:36these conversations of like, do we invest in upgrading our
- 32:42system right now? Is there enough demand?
- 32:45Is there enough pull? Is there enough of a reason for
- 32:48us to do that? And all forever.
- 32:50Remember this conversation with a nurse from Pinterest when he
- 32:56was talking about the conversations that his team has
- 33:01for the ads platform, the machine learning ads platform at
- 33:05Pinterest. And they also were one of those
- 33:09ones that they, they found success early in ML in like the
- 33:1320/15/20 sixteens. But he has to be tasked with
- 33:18keeping that ads platform up to date.
- 33:21And so his team has conversations around the ROI of
- 33:26upgrading from an open source tool that like no longer has a
- 33:32maintainer or community support around it.
- 33:36But it's a major part of their system.
- 33:38So should they be the main maintainer of this open source
- 33:42tool that people are moving away from, or should they just work
- 33:47to move away from it themselves? And those conversations are
- 33:53fascinating to me because you're always going to have to evolve
- 34:01your platform. And so making the decision on
- 34:04what parts to evolve versus what parts to leave, those are fun
- 34:11decisions and and deep decisions because you don't want to move
- 34:18off of something if it still is serving you and only a few
- 34:21people are actually going to benefit from that move.
- 34:25So I will leave you with what I think is arguably the most
- 34:31important sentence in the whole evolution of Michelangelo's blog
- 34:37post. And thanks for joining.
- 34:41If you liked this episode, I would love to get feedback
- 34:45because it is something new that I'm trying and so I might do it
- 34:50more. Maybe not though.
- 34:52Just just let me know what you think it would mean the world to
- 34:54me and share it with a friend if you found it useful.
- 34:57Let's get into the most important phrase of the whole
- 35:00blog post, which is not all ML projects are created equal.
- 35:08Having a clear milk tiring system can effectively guide the
- 35:13allocation of resources and support.
- 35:18We'll talk to you later. This has been another edition of
- 35:20the EDL OPS Community Podcast.