Latest / Agentic Conversations (formally mlops.community) / Inside Uber’s AI Revolution - Everything about how they use AI/ML
Transcript
- 0:00We actually tier all the different machine projects, Uber
- 0:03into four different tiers with the tier one being the most
- 0:06business critical projects. Can measure some proxy metrics,
- 0:09how many models we we trained the last week, how many models
- 0:13they deployed. For those users, we provide a
- 0:17way for them to directly access the the info layer.
- 0:21Michelangelo is the machine learning and AI platform for
- 0:26Uber. All of the AI and ML use cases
- 0:29are powered by Michelangelo, which is a feat.
- 0:33That's a freaking crazy thing to say just because of how many use
- 0:38cases you have. So we are, yeah, we're actually
- 0:41open sourcing. Mike.
- 0:42Angel, do you want to touch this?
- 0:43No. We are.
- 0:46What? Yeah.
- 0:48Holy shit. Let's align on something first.
- 0:55That is the definition of AI because, you know, nowadays
- 1:00everybody talks about AI. Even my mom asked me, hey, I
- 1:03heard you're working on this artificial intelligence thing.
- 1:05What exactly are you working on? So I think when a lot of people
- 1:10out there talk talk about AI, they think of, you know,
- 1:13charging. Yeah, that's what AI means to
- 1:15most of the people out there. But from the AI platform
- 1:20perspective, AI is not just ChatGPT AI is not even just the
- 1:24large energy models for general VI, which is technology behind
- 1:28the chat. GBT AI actually covers the whole
- 1:31spectrum of machine learning from the very simple linear
- 1:35models to tree based models like random forests and actually
- 1:39boost to the traditional deep learning models like
- 1:41convolutional neural network and recovering neural networks and
- 1:44all the way to generate. So let's keep that in mind and
- 1:49then let's talk about Michangelo.
- 1:50So Uber's AI journey started back in probably 2015 when a few
- 1:59teams like maps, pricing and risk, they started thinking
- 2:05about, you know, if it's feasible to replace the rule
- 2:09based systems with the machine learning with the machine
- 2:12learning systems. So when this team started, they
- 2:16all build their own, one of, you know, workflows or infras to
- 2:19support their machining needs for like training models or
- 2:23deploying models. These are, you know, the random
- 2:27or ad hoc Python code sitting in notebooks.
- 2:30So these notebooks were very hard to manage, they're very
- 2:34hard to share. So it's basically non reusable
- 2:37and non shareable. And non shippable.
- 2:40Non shippable exactly. Very hard to production on it
- 2:42and impossible to scale, which leads to, you know the
- 2:46inconsistency in performance and also duplicated efforts across
- 2:51teams at Uber. So that's actually where Mike
- 2:53Angel comes into play. So Mike Angel provides the
- 2:57centralized platform for our machining developers to manage
- 3:01the whole machine life cycle end to end without worrying about
- 3:04the underlying infra and system complexities.
- 3:07So that's why we actually start building Mike Angel back in
- 3:102016. Yeah, get that scalability.
- 3:12And I think there's something super cool that you pointed out
- 3:16in the recent blog post, well, recent, like it's now a few
- 3:20months old on from predictive to generative AI and how
- 3:25Michelangelo has had this journey.
- 3:27And you talked about how folks want their own way of doing
- 3:33things. And so you have this centralized
- 3:36platform that's supposed to be helping them and streamlining
- 3:39things. But then you have those people
- 3:43that are pushing the boundaries and they're pushing the edges
- 3:46and they're asking for, hey, we want more deep learning use
- 3:49cases or we want to be able to support deep learning use cases.
- 3:52And then you had to go and figure out how to make
- 3:55Michelangelo adapted for that. And so the flexibility on that
- 3:58platform. Can you talk a little bit about
- 4:00how you thought about that? I think one of the lessons we
- 4:02learned along this journey is that you should let the
- 4:07developers choose which tool they wanted to use.
- 4:10So what we do is what we did is that we provide a abstraction
- 4:17layer on top of all the infra, you know, all the infra
- 4:20complexities with the prebuilt templates and pipelines for, I
- 4:26want to say more than 80% of the users for them to easily build
- 4:31machine learning applications. And for the rest, like 20%
- 4:35users, these are the advanced power users as you mentioned,
- 4:38they want to build highly customized workflows.
- 4:41They want to use different trainers to train different
- 4:43models. For those users, we provide a
- 4:47way for them to directly access the info layer.
- 4:50For example, we have a tool called Uniflow, which is
- 4:54orchestration framework, Python orchestration framework, which
- 4:58allows our users to write their own code to customize their
- 5:01workflows and directly access the the the ray clusters to run
- 5:05their own training and then deploy in models on Mac Engine.
- 5:08So that's how we think about this 80% and 20%.
- 5:12Yeah, and speed that process up so much.
- 5:14I can imagine from that time that you have the idea to
- 5:19actually like deploying. The idea is unreal.
- 5:23Is that something that you look at as a key metric?
- 5:25Yeah, if we talk about North Star metric for make Angel,
- 5:28right, let's let's go back to to the make Angel goal here,
- 5:32because the the success metric is supposed to measure how well
- 5:36the product meets the product goal.
- 5:37So make Angel goal is to provide best in class machine learning
- 5:43capabilities and tools for woofers machine developers for
- 5:46them to rapidly build and iterate high quality machining
- 5:50applications. So there are two keywords here.
- 5:531 is the rapidly which measures the developer velocity.
- 5:57That's what you just mentioned. The ideal metric is time to
- 6:03production. Basically from the idealization
- 6:05of a project, how long does it take for that project actually
- 6:08launch into production. So that's a that's a very nice
- 6:14metric on paper, It turns out very hard to measure in
- 6:18practice. That was what I was going to ask
- 6:19you. That's so funny that you say
- 6:21that. Yep.
- 6:22I can tell you why, right? First of all, use cases, They're
- 6:28all different. There are use cases, you just
- 6:32need a linear model. The other use case, you probably
- 6:35need to train a large agreement from scratch and just give, for
- 6:37example. Yeah, yeah.
- 6:38So you can imagine the time takes for these two different
- 6:41projects to to launch. It's totally different.
- 6:44And the the second variable here is the how do you say the team
- 6:50capabilities? Probably a engineering team with
- 6:54five machine engineers. Everyone has like 10 years of
- 6:57experience, probably can do things much faster than a team
- 7:01consisting of one like applied scientist, which who just
- 7:04graduated. Yeah.
- 7:06So we also see this kind of difference based on our
- 7:08experience. Unless they're going on vibes
- 7:11these days, you know the vibe can take you a long way.
- 7:15Yeah, jokes aside. Yeah.
- 7:19Didn't mean to derail you. You know, then it's true that
- 7:22you do have these very different teams capabilities and maturity
- 7:26levels and how they attack the problems.
- 7:28And then you also have these different use cases that if
- 7:31you're training a large language model, it's very different than
- 7:34if you're just using a random forest model.
- 7:36And you can't take the average of those and then think, oh, our
- 7:41time to velocity is decreasing or over the last quarter it
- 7:45increased because we trained some large language models, you
- 7:48know, Yeah. It's really hard to
- 7:50systematically measure this metric.
- 7:52Yeah, But what we do here is we do two things.
- 7:55The first thing is we work with individual teams.
- 8:00Just watch how they actually use Macandra to launch their
- 8:03project. So we'll get some anecdotal
- 8:07feedback from these teams. For example, our rider pricing
- 8:11team, they share the feedback saying by using Make Angel it
- 8:15actually reduce their engineering cycles by 80%
- 8:18compared to them building everything by themselves.
- 8:20Interesting. Yeah.
- 8:21So we have such like anecdotal feedback.
- 8:23From objectives in a way. Subjective.
- 8:25And each team has their own way to measure speeds, which measure
- 8:29the engineering cycles. The second thing we do here is
- 8:32that, yeah, this North Star metric is really hard to
- 8:36measure, but we can measure some proxy metrics, things like how
- 8:41many models we trained last week, how many models are
- 8:45deployed, how many evaluation pipelines we run, how many eval
- 8:49reports are generated. All these proxy metrics can be
- 8:52an indirect indicator about your developer speed, developer
- 8:56velocity here. So we track all this
- 8:59systematically on back Azure level.
- 9:02It's funny, now is probably a good moment to bring up to when
- 9:05you talk about evaluation pipelines, you're probably
- 9:08talking about the predictive ML evaluation pipelines less than
- 9:13the new generative. Now you're talking about both,
- 9:16actually, both, OK. But they're totally different.
- 9:18OK, I got the point. I, I, I see where you're coming
- 9:20from. Yeah, they're totally different.
- 9:22So in a way, you're looking at all these proxy metrics.
- 9:25You probably have a a page or a spreadsheet of them and you can
- 9:29see if they're going up. We're doing more is good, right,
- 9:33And less is bad. That means that there's
- 9:35something that's slowing people down.
- 9:37And you can correlate that to that North Star metric of
- 9:41velocity. Yeah.
- 9:42So we track this at two at 2 levels.
- 9:44Why is that the like the mic Angel level?
- 9:47I will look at all the training pipelines run last week or all
- 9:50the models deployed last week. That gives us a very good idea
- 9:53about the like velocity or how, how people are using our
- 9:57platform. We also track this at project
- 9:59levels. For each project, we have a
- 10:02dedicate dashboard to show all these metrics for just for that
- 10:05dashboard, just for sorry, just for that project.
- 10:08So we know if there's certain things going wrong with certain
- 10:11projects we need to fix. So we do at both levels.
- 10:14It's worth noting that all of these different projects, I'm
- 10:18sure you are powering a million different models that I can't
- 10:24even fathom because I was telling you earlier before we
- 10:26hit record about a few blog posts that I read on that were
- 10:30more on the predictive ML side. And it was a breath of fresh air
- 10:33to read these posts about the one was around recommender
- 10:35systems out of application and the other one was I think it was
- 10:38like a multi bandit scenario. And they were so unique.
- 10:43These use cases were like, wow, this is so cool to see how
- 10:47mature and how advanced these use cases are.
- 10:50And it made me think when you enable the teams, when you have
- 10:56something that's not blocking them and they can quickly
- 10:59iterate like you were saying, evaluate if it's worthy to
- 11:03continue forward and then get it into production.
- 11:06You can throw ML anywhere. It's like the more creative
- 11:11ideas the better. Yes, you can.
- 11:15Yes, for sure. You can throw ML everywhere.
- 11:18But do you want to do it? Because ML is expensive, right?
- 11:22Especially if you want to use deep learning, it's very
- 11:24expensive, yeah. Does your use case actually
- 11:27require machine learning like or even deep learning?
- 11:31That's the first question you need to answer because that the
- 11:34machining does come, doesn't come for free.
- 11:36Yeah, so you have price to pay. It's so expensive.
- 11:39So do you want to actually want to do it?
- 11:41You want to evaluate on that from first, then start building
- 11:44a project, training your models, prepare your data, training
- 11:47models, deploying models. Do things like.
- 11:49And are you looking at the cost? Because I, I remember in the
- 11:52From Predictive Degenerative blog, you talked about how
- 11:55there's different tiers of model support.
- 11:58And so if it's obviously the Riot ETA, that's probably one of
- 12:03the most important models that can never go offline ever.
- 12:07And then if it's something maybe a little bit more experimental,
- 12:10you are more relaxed about it. Yes.
- 12:12When Mike Angelo started back in 2016, at that time our mission
- 12:17was to enable machine learning for Uber.
- 12:21Basically get Uber started with machine learning and at that
- 12:25time when when Mac Andrew started, we only had like 3 use
- 12:28cases on Mac Andrew, but now we have like 1000 yeah, so.
- 12:32Each one has their own dashboard.
- 12:34Each one. Has their own dashboard.
- 12:35And you are looking at, hey, if the metrics aren't going right,
- 12:38we got to go look and see why. Yeah.
- 12:41For example, if your model performance degrades, it
- 12:43automatically send our alerts to that team and then they look
- 12:47into why. And for you, if they're not
- 12:49shipping enough, then you're going to go look into why is
- 12:52there something blocking them exactly in the platform?
- 12:54Yeah. Is our system, is there some
- 12:56system bug that blocking the development?
- 12:59Is the pipeline keeps? Does the pipeline keep failing
- 13:02and all things we need to look at.
- 13:04So, but anyway, sorry, I just, I distracted you, but thousands of
- 13:08dashboards, it just blows my mind.
- 13:10Yeah, yeah. So whichever team monitor we
- 13:13use, machine learning, come to Mike Angel will help you get
- 13:15started. And Fast forward a few years,
- 13:19actually most of teams, they already had incorporated machine
- 13:22learning into their core user flows.
- 13:24So this is the, I think the end of 2019, early 2020.
- 13:30So at that time, we actually pivoted our strategy a little
- 13:34bit instead of focusing on enabled machine learning because
- 13:38that's already done. We pivoted to improving the key
- 13:42project performance. That's when we introduced that
- 13:47machine learning tie ring systems.
- 13:48So based on the business impact, mostly based on the business
- 13:52impact, we actually tier all the different machining projects,
- 13:55Uber into four different tiers with the tier one being the most
- 13:59business critical project. This some examples like you
- 14:03mentioned the pricing matching like rider driver matching and
- 14:08also ETA fraud detection nothings right if this model
- 14:13doesn't work, it will cost like a high level outage for for
- 14:17services. Yeah.
- 14:18So these are tier one projects and all the way to like Tier 4.
- 14:22These are some personal experimental projects use like
- 14:26you mentioned users just won't try different things.
- 14:28So those are Tier 4 projects. So today we have about 40 tier
- 14:32one projects, about 100 Tier 2 and like 5-6 hundred Tier 4
- 14:37projects. So that's how the tie ring
- 14:39system works. And when it comes to
- 14:42prioritization, right? Which project should we support
- 14:46first? Then it's very clear we should
- 14:48focus on tier one first, then Tier 2, the move on tier 3, Tier
- 14:514. And a lot of times we just don't
- 14:54have bandwidth to support Tier 3 and Tier 4 to be honest.
- 14:57The majority of the use case is still, and I can bet that almost
- 15:03all of those tier one use cases are still predictive ML versus
- 15:07generative M AI. Again, to be in the Tier 1
- 15:11project, you have to be in the core.
- 15:14However, score user flow, meaning when when user book a
- 15:18ride or order food or buy some grocery.
- 15:22Yeah. Is your model actually in that
- 15:24critical path? If it's not, that means you're
- 15:26probably not tier one projects. So based on that definition,
- 15:30100% of our Tier 1 today that's still predict predictive memo.
- 15:34Yeah. And I can imagine there's been a
- 15:36lot of people that have tried to think about ways to put
- 15:39generative AI into that core product.
- 15:42But when you think about the flow of me signing on to an app
- 15:48and then getting a car or getting food, where can you even
- 15:53put it in right that's. Very good, very good point, Very
- 15:56good question here. There are some, there are some
- 15:59scenarios and use cases I think where we can actually apply JNI
- 16:03and to improve that experience. For example, we have to, we're
- 16:07actually working on 2 projects right now on the Uber Eats side,
- 16:12use the the first project is we use the large entry model to
- 16:16improve the personalization experience to generate better
- 16:21like these descriptions to actually match your users
- 16:31interest to what we actually show on the Ease home feed.
- 16:35Sorry, Ease home feed screen. That's one thing that I can
- 16:39really help. The second one is we actually
- 16:43use large model to improve the search quality.
- 16:48When you use a search something in the in the ES app, we
- 16:51actually use that model to improve that search quality.
- 16:54Because it can pick up if I'm saying I want something fancy
- 16:58and then it understands fancy a little bit more than if it were
- 17:01just. Semantic, semantic
- 17:02understanding, yeah, that's one thing.
- 17:03And also we can use the larger model to build taxonomy of all
- 17:07the dishes and restaurants within Uber heats.
- 17:11That's done with a large action. Model.
- 17:13In a way, it is a little bit of this recommending with LLMS,
- 17:18especially on that first use case you were talking about
- 17:20where you understand me, I'm a vegetarian, I go on the Uber
- 17:24Eats, you don't show me any food.
- 17:26And then when you talk about different restaurants, you're
- 17:31not going to highlight their meat dishes, you're going to
- 17:35highlight their vegetarian dishes.
- 17:36Exact. So in the past, if you, I don't
- 17:38know if you noticed this in the past, if you log on to the Uber
- 17:41ESAP, we have these carousels, right?
- 17:46Because each carousel we show different restaurants or dishes.
- 17:49And in Paris, we only have like Korean food, Chinese food,
- 17:53burgers, hot dog, very boring. You look at it, you don't want
- 17:57to water. I don't want to water.
- 17:58It's just as Korean Chinese. It doesn't, it doesn't really
- 18:00intrigue me, right? So what we do is we first of
- 18:04all, we use the large energy model, try to understand the the
- 18:07menus and dishes from all our restaurants, then come up with
- 18:11that new set of carousel titles. Now we have like spicy Sichuan
- 18:19food, yeah, meat lovers and all those catching, you know,
- 18:22carousel titles. And then we use that large
- 18:25engine model to to tag each of the restaurants with the new,
- 18:30with this new carousel titles. This is how we act.
- 18:33Then we use this information to match our eaters with the
- 18:36restaurants. Oh, fascinating.
- 18:37So that's how the large engine model is used for
- 18:39recommendations. Yeah.
- 18:40And I can imagine also you could do it with like user reviews,
- 18:44maybe not in Uber's case you're not giving reviews after you eat
- 18:48right normally. We actually do, but not many
- 18:52people doing that. Yeah, yeah, yeah.
- 18:54And that's good. I didn't even know that you had
- 18:56that. And but it in a way it's like
- 18:58that sentiment. You can see if somebody or if
- 19:02there's many people that are ordering the same dish, then you
- 19:05can know that. All right.
- 19:06We really want to figure out how to message this dish correctly.
- 19:13It feels like it's a bit of predictive and generative ML
- 19:17like because if I'm ordering the same dish over and over, you
- 19:21don't need an LM to be able to siphon that out.
- 19:24I guess that's more that's very clear tabular data in a way.
- 19:29Yeah, but that's a very good point.
- 19:33Coming back to that review thing, right, We actually, we
- 19:35just launched a project, a Jedi project into an online
- 19:38experiment. What we do is we we use the
- 19:42large junction model to look at all the reviews for certain
- 19:45restaurants and also the the scores and other sources of
- 19:49data. Then try to summarize how the
- 19:52eaters actually like or dislike about this restaurant.
- 19:55Then we give that feedback to the restaurant owners and they
- 19:59can make improvements on their dishes or on their services
- 20:02based on that feedback. So that's one of the projects.
- 20:05We call this customer feedback summary for merchants.
- 20:09Are there any other interesting use cases that you like talking
- 20:13about or that you've seen and you kind of got your mind blown
- 20:16by? I can talk, I can talk broadly
- 20:19how much money has been used at Uber from the, you know,
- 20:22predictive machine learning all the way to Jedi here.
- 20:24So like at any certain moment we have, we have more than 55000
- 20:31models in production making 28 million real time prediction per
- 20:36second at peak. So that's a scale we are
- 20:41operating on. And everything happens on my
- 20:44occasion. Sorry, I have to break.
- 20:48Yeah. So virtually every single
- 20:52interaction our users have with the Uber app involves machine
- 20:55learning under the hood. Let's take the Writer app for
- 20:59example, right. This is all predictive machine
- 21:03learning so far. So when you try to log into your
- 21:06account, we actually use machine learning to detect if this is
- 21:10actually you try to log into your account because this
- 21:12account takeover. Oh wow.
- 21:14Yeah, this part of our. Fraud detection.
- 21:18Mechanism here, Yeah, once you log in, machine learning used
- 21:21for, you know when you search for destination, it's used for
- 21:25search, right? It's used for ranking of search
- 21:28results and once you identify your destinations then machinery
- 21:33is heavily used for match you to the driver for the pricing for
- 21:38ETA calculation. You want to recommend or
- 21:42recommend the right product to you.
- 21:43I don't know if you notice this. If you open the Uber app it
- 21:47actually shows you a lot of different like Uber X, Uber
- 21:49black, Uber everything. Right.
- 21:51Comfort, all that, Yeah. Actually that list is
- 21:53personalized. Everyone see a different list.
- 21:56Uber thinks I'm way richer than I am because they're always
- 21:58recommending me comfort. Like give me that cheap option.
- 22:02Why are you giving me the more expensive?
- 22:05I know I don't like that. I don't like that at all.
- 22:08OK. I do choose comfort though.
- 22:10Those they got me. I'm a sucker.
- 22:13OK, I let our product recommendation team know.
- 22:17Yeah, but coming back to this, right, all the way to like where
- 22:21you are on trip, we give you the real ETA that's also machine
- 22:26learning and all the way to payment, fraud detection,
- 22:28payment and also the, of course the customer support.
- 22:32Now we use Shanghai for customer support.
- 22:36Then if we take the Uber ESAP is the same story.
- 22:39Machine learning is everywhere. We focus more on the
- 22:43personalization recommendation and also ECTD.
- 22:47So these are ETD's estimated time of delivery.
- 22:51Yeah, OK. So yeah, that's on the
- 22:55predictive side. Now let's talk about Jiang I,
- 22:58Right, Yeah. If we look at the Jiang I use
- 23:01cases where we can roughly divide them into three different
- 23:05categories. The first category is we call
- 23:08this magical user experience. These are the general AI
- 23:11applications that directly impact our end users.
- 23:14For example, any of the chat bots or customer support chat
- 23:17bots. We also have this earner
- 23:19copilot. We build a copilot chat bot for
- 23:21our drivers to answer their questions, to guide them where
- 23:24you drive so that you can maximize your earnings.
- 23:27Cool. Things like that.
- 23:28It's still in the works, but yeah, that's something in
- 23:32progress and something else like the personalization experience I
- 23:38just mentioned, that's one of the use cases belonging to the
- 23:43magical user experience. Then the second category here,
- 23:46we call it process automation. We basically use generative AI
- 23:53to automate some of our internal processes.
- 23:55We'll further automate some of our internal processes and for
- 23:58example, we use AI to generate the the menu item descriptions
- 24:05for restaurants. Because a lot of times if you
- 24:07log into Uber Eats app, you will see a lot of the menus, they
- 24:10only have the title, the dishes, they only have the title.
- 24:13There's no description at all. So we're using GMI to generate
- 24:16descriptions for 100% of all the dishes on Uber Eats.
- 24:20And what else do we do? We also use GMI to try to
- 24:25identify like fraudulent accounts.
- 24:29One of the key characteristic of this fraudulent account is that
- 24:32their usernames are usually gibberish usernames.
- 24:36Like interesting. Yeah, like I love dot.
- 24:39That's probably not a real real person.
- 24:41I thought it was just like FXYW by exactly exactly.
- 24:44So we use our language model, just get through all the
- 24:48accounts, try to identify this. So fascinating.
- 24:51Potential fraudulent accounts. Something else in terms of in
- 24:55this category is the driver background check.
- 25:00When the new drivers you know when they try to avoid to the
- 25:03platform, we do very thorough strict background check for each
- 25:08of the drivers and we use actually large junction model to
- 25:11accelerate that process. So that's the second category.
- 25:14We call this category, we call this process automation and then
- 25:18with. Process automation isn't, it
- 25:19doesn't have anything to do with like back office processes of
- 25:23hey are like in a way bureaucracy of when you need to
- 25:29do something and if I want to submit time off, maybe I need
- 25:35it. That's the third category.
- 25:36OK. What do you call that?
- 25:37We call this internal employee productivity.
- 25:40OK. Yeah, that makes sense.
- 25:42This is where we build all those tools as you mentioned the
- 25:44workflow automations and for example, we also have this.
- 25:50We build this data GBT which is because vast amount of data and
- 25:56we have so many data scientists, product owners that need to
- 25:59analyze the data every day. Today they do that by writing
- 26:02SQLS. So we build this data GBT to
- 26:05help them first of all write better SQLS and 2nd just query
- 26:10data with a natural language. So that's one of the internal
- 26:17employee productivity projects. This text to Sequel is becoming
- 26:22a very standard Gen. AI use case.
- 26:25You see it in so many companies, and that lift that you get by
- 26:31allowing the data analysts to write more queries more quickly
- 26:36or just get answers quicker, Yeah, is very valuable and it's
- 26:40something that you can show value really easily.
- 26:43The other stuff, maybe it's debatable.
- 26:46If you do it right, let's put it, let's, let's keep that in
- 26:48mind. Yeah, you can do some, you can
- 26:51do things really fast, but it has to be, you have to give you
- 26:54a correct answer. That's, yeah, that's the key,
- 26:56yeah. Yeah, yeah, because you can
- 26:58spend 20 minutes trying to get a simple answer because you didn't
- 27:01do it right. Yeah, exactly.
- 27:02Yeah. So you're talking about doing it
- 27:03right from the end user perspective, not doing it right
- 27:06from the infrastructure side of things and how you're
- 27:09architecting the agent to go in and.
- 27:11Write the sequel because you're from the infra side.
- 27:14If you do it wrong from the infra side, you're screwed.
- 27:16Yeah. Let's forget about end user
- 27:18experience. Yeah, exactly.
- 27:21There is another thing I wanted to talk about, which is the
- 27:24scale and all of this inference and what are some gnarly
- 27:28challenges that you've gotten into because of the amount of
- 27:34models that you're using. And you're now using what not
- 27:38smaller models, but you're using all these predictive models.
- 27:42And so those have a certain style and flavor of needing to
- 27:45use imprints. And then you're using the
- 27:48generative models and those are a different style and flavor.
- 27:50And so how do you attack that within Michelangelo to be able
- 27:53to serve both of those? Yeah, very, very good, very good
- 27:56question here. So I think there are a few
- 27:59things we we did to enable general AI to extend micro Angio
- 28:06from supporting the predictive machine learning to general AI.
- 28:12First is the compute resource, the computer map, it's totally
- 28:17different. Yeah, right now you need a lot
- 28:20more GPUs and high end GPUs, H100, all those.
- 28:23GPUs Tier 4 doesn't get that kind of stuff huh?
- 28:25Tier 4 usually no. Oh, by the way.
- 28:29That's a very tier point, yeah. So we prioritize higher tiers
- 28:33over lower tiers for sure. Yeah.
- 28:35We also prioritize production jobs over offline training jobs,
- 28:40batch jobs. That makes sense, right?
- 28:41Yeah, yeah, yeah. OK.
- 28:42So that's how we prioritize. But coming back to the to the
- 28:47infra change for JNI, so that's one thing we need to procure
- 28:51more compute resource that's the prerequisite for you to do
- 28:55anything for JNI, right. And secondly, the tag stack has
- 29:00to change, has to evolve, but for GI models, because now the
- 29:03model is much larger, right, it doesn't fit into one GPU,
- 29:08usually it doesn't fit into one GPU.
- 29:09So you need model parallelism for the traditional deep
- 29:12learning usually can get by using data parallelism, it's
- 29:16totally enough. So for to enable the GI because
- 29:20of this restriction, we actually integrate a deep speed and use
- 29:24deep speed injunction with Ray. Yeah, you have to 1 is the
- 29:29illustration layer, the other is the model optimization layer.
- 29:32So use both for large angry model fine tune.
- 29:36We also enabled Triton from NVIDIA, NVIDIA, yeah, for
- 29:41serving large energy models. And now we actually using the
- 29:46same infra to serve one of our large traditional different
- 29:50models like our recommended recommendation.
- 29:51Models. Wow.
- 29:52OK. So it's not just for Geni.
- 29:56We also use that for some of our traditional machining, which is
- 30:00really cool. Wow.
- 30:02So you had to add, it's almost like you had to add a few new
- 30:06tools into the tech stack. But then when you did that, you
- 30:09found those tools help for the other.
- 30:12Stuff it's actually useful for. Something else?
- 30:15Well, we've already doing for years.
- 30:17For those bigger deep learning models, but not for the smaller
- 30:20models. It does not for tree models.
- 30:21Yeah, you suppose you don't need that.
- 30:23Yeah, it's not needed. Yeah.
- 30:25And then they can choose what they want as far as that or
- 30:29you're the one that's optimizing the inference.
- 30:33On the inference side is us. But when we talk about
- 30:36optimization of serving the model right, it's always two
- 30:41things. One is the optimization on the
- 30:42inference side, that's what we do.
- 30:44The other thing is on the modeling side, that's what our
- 30:47users do. For example, you can like
- 30:49quantization. That's something they should do,
- 30:52but we should support quantization, quantize the model
- 30:55serving that's on infra site. It's always a collaboration.
- 30:58We also collaborate with other teams.
- 31:00I imagine they're coming to you all the time asking you for
- 31:03support for certain things like, oh, well, now we want to distill
- 31:06this model. Can we figure out how to make it
- 31:08easier for us to distill it or compress it or quantize it, all
- 31:12of that? How do you go about choosing?
- 31:15Because there's no tears there, is there?
- 31:17Or are you still bringing back in this idea of the impact?
- 31:22There's still impact base, There's still impact base.
- 31:24They are larger. There are Gen.
- 31:27II use cases with larger impact compared to the other like more
- 31:30like experimental Gen. IU projects.
- 31:33So even there are still Tier 3 today because they are not in
- 31:36the core user flow, but they still can prove their impact,
- 31:41business impact. So once the as long as they can
- 31:44prove their business impact, we can prioritize.
- 31:46We talk about generative AI use cases.
- 31:49How are you looking at the agentic use cases and when the
- 31:56agents are going and doing things and it in the, at the end
- 32:00of the day, it still is just, hey, you've got models, you're
- 32:03focused on that inference of those models.
- 32:06Are you adding extra infra support for the agents, quote UN
- 32:11quote agents? Because as we said before, it's
- 32:13probably good to define what you think when you think of agents.
- 32:17But in my eyes, it's like the LMS or the generative AI that
- 32:22can go and actually do stuff as opposed to just giving you these
- 32:25answers. So starting this year, our focus
- 32:28has shifted to support exactly what you just mentioned.
- 32:32We want to actually enable Uber to build a genetic AI systems
- 32:37going forward. So we're extending Mike Angel.
- 32:40So in the past, we call that more like model studio where you
- 32:45manage your models and all the, you know, relevant, you know,
- 32:49components related to model training and serving.
- 32:52Now we want to also build a agent studio for agent knobs for
- 32:56you to actually build, evaluate, deploy your agent and manage
- 33:00your agents. So that's something actually in
- 33:02the works. I just got out of a meeting this
- 33:04morning with our engineering team who is actually building
- 33:08this tool right now. That's very cool to know.
- 33:11So how are you looking at it and is it any different than the
- 33:16other stuff? Or if so, maybe the better
- 33:19question is how is it different? So in the past, we all that we
- 33:27care is the model. We make sure you can trade the
- 33:30model, then deploy the model to endpoints.
- 33:32Now you can call the endpoint to make predictions.
- 33:35Yeah, that's what we care as the platform team.
- 33:39But the agent is different. Agent is application by itself.
- 33:43So we're now at the application level.
- 33:45So we have the Model Studio here, then Agent Studio on top
- 33:49of Model Studio. The agents in the agent studio
- 33:52will leverage the models to build in model Studio.
- 33:55So it's at the whole application level.
- 33:57Now, how do you actually accelerate that agent creation,
- 34:05evaluation and deployment flow? That's something we are actually
- 34:10evaluating and deciding. How do we allow our users
- 34:14quickly spin up some agent, evaluate agent performance, then
- 34:18go back to iterate on agent and evaluate again and deploy?
- 34:21Same thing as what we do for models, but now it's more of the
- 34:24application. Now that's a major.
- 34:25I think that's a major. How do you make sure that the
- 34:28agent has the right permissions so you're not writing to some
- 34:32database that it shouldn't be and all that stuff and.
- 34:35Yes, very good point cuz one of the major value prop of the HS
- 34:40studio on my handle is that no matter what model you use, we
- 34:44allow you to access Uber internal data and also open
- 34:47internal tools. And then the Security question
- 34:53you just mentioned come into the picture, there are certain data
- 34:57you have access, there's something that you don't have.
- 34:59So to enforce that, we actually work with our Ng SEC team, we
- 35:04have engineering security team to work with them to build this
- 35:10security protocol for this agent.
- 35:13So if I create an agent then it knows my permissions, yes?
- 35:19And it is only allowed to do those things.
- 35:21Yeah, it's either yourself or your team.
- 35:24Yeah. So it depends on your
- 35:28authentication. But then the utopian scenario
- 35:32here is that you have this agent studio and another team can come
- 35:38and grab my agent that I built and now start implementing it
- 35:41for their use case. Or they tune it and do a little
- 35:44bit more and now cool, I'm up and running with an agent.
- 35:48I didn't have to build it from scratch exactly.
- 35:50But the big question in my mind is, does it automatically know
- 35:55that now it's another team, it's another person, and now they
- 35:59have these permissions? He should, he should.
- 36:01So we're still building this. It's not in place yet, but we're
- 36:03still building that. And the thing just mentioned is
- 36:06actually we called it agent registry.
- 36:08So we have a repo of all the agents building build within
- 36:11Uber and every single team can look into, you know, look, look
- 36:15at that agent repo to see if there's any anything you already
- 36:19existing so that I can just reuse.
- 36:21We're going to. Have that because you have the,
- 36:23you have the model repo. That's classical one.
- 36:26Most folks have that, but then I've read the Prompt Toolkit
- 36:31blog that you have. Yeah.
- 36:32The prompt repo. Yes.
- 36:33And you have the prompt repo, which is another great one, and
- 36:35where folks come and they see, oh, here's a prompt for this
- 36:40model and it is for this specific thing.
- 36:43Somebody already spent the time to tune this prompt.
- 36:46I don't have to start from zero. Yes, yes.
- 36:49And now we have agent repo. Yeah, we're also building the
- 36:53MCP repo. Really.
- 36:55MCP is a cool thing now, yeah. So yeah, yeah, I want to build
- 36:58MCPS for a lot of the Uber internal services so that it can
- 37:02be leveraged by the agent, by the users to build agents.
- 37:05You're thinking, all right, well, all of the internal Uber
- 37:08tools should have their own MCP server.
- 37:10Not all of them, but some of them, yeah.
- 37:12We look at which tools are used a lot today by by our, you know,
- 37:18users. Then we want to build MCP for
- 37:20those tools. There's agent builders and then
- 37:22there's tool builders in a way, and maybe it's the same person.
- 37:27It can't be the same. It just is that depending on the
- 37:30state or their their moment in time, they're building tools or
- 37:34they're building agents. But at the end of the day, I
- 37:36think all of us want to be building agents and not as much
- 37:41tools. But and Uber, usually the two
- 37:43owners, they build the MCP server for that tool and that'll
- 37:48be used by all the other agent builders.
- 37:50And then they'll they'll say, hey, this is standard practice.
- 37:53This is what we want you to use the tool for.
- 37:55And I published my MCP server to MCP repo now read the
- 37:59documentations to see if this is useful for you if you guys
- 38:02follow this and to use it. Yeah.
- 38:04Yeah, that's how we envision that.
- 38:06It's still in work. Yeah, I can imagine you'll come
- 38:09up with some cool stuff again because you can throw AI
- 38:13anywhere, right? Or ML on helping folks select
- 38:18tools. Yeah.
- 38:20And helping that search, getting that search really clean on I
- 38:23want this. And so it's almost like I
- 38:26describe what I want and I see a world where that internal tool
- 38:31can look like, OK, maybe you want to use these agents, or
- 38:36maybe you want to use these servers, MCP servers, and they
- 38:40have these tools that you can leverage.
- 38:42Yes, so we talked about supporting different inference,
- 38:45right? But what about supporting
- 38:47different evaluations? So I think evaluating A Gen.
- 38:50I applications for agents is totally different story compared
- 38:54to all the evaluation for the predictive machine learning
- 38:58where you just you know, you know exactly what metrics you're
- 39:01looking for, you measured AUC, the you know, precision recall
- 39:05and you have standards pipelines or standard.
- 39:08Frameworks. Yeah, exactly to to measure the
- 39:12the accuracy there. But for JNI it's totally
- 39:14different. I think this is still a problem.
- 39:17The whole industry is trying to figure out how to do the
- 39:20evaluation right. But at Uber we built our own, we
- 39:25call it JNI evaluation frameworks, which allow users to
- 39:28do 2 things. One is the LLM as a judge,
- 39:32basically use another LLM to judge the output from these
- 39:34LLMS. I think that's a lot of teams out there in the industry
- 39:39are using. The second is to include the,
- 39:43you know, human in the loop. Basically whenever you need
- 39:47human to make a judgement, you just involve the human to do
- 39:51evaluations. Those are the major 2 methods
- 39:54we're doing we're using today. And also the third one is, yeah,
- 39:58of course you can, you can provide a golden data set even
- 40:01for your Gen. I use cases, right?
- 40:03Yeah, provide a golden data set, then use a golden data set to to
- 40:07to evaluate performance. Those are the few things we've
- 40:10been we've been working on. Sweet dude you wanted to touch
- 40:13on? That so we are, yeah, we're
- 40:15actually open sourcing micro engine.
- 40:16Do you want to touch base? No.
- 40:19We are. What?
- 40:21Yeah. Holy shit.
- 40:23Yeah. Really.
- 40:24Yeah, our plans in two years open source, a full back Angel
- 40:30starting with our orchestration framework called Uniflow.
- 40:34Wow, that's huge news. That is so wild.
- 40:39Yeah. So you're open sourcing first
- 40:43the orchestration framework and then everything else?
- 40:47Yep. And it's gonna come out in
- 40:48spurts or it's gonna come out. You basically have to clean the
- 40:51code base. Yeah, a lot of cleaning work.
- 40:54Yeah, in the works. Yeah, we have to clean the code
- 40:56base. And our plan is to, at least for
- 41:01this year 25, we want to selectively work with some
- 41:05enterprise partners in a closed source fashion.
- 41:10So we give access, give access to them to our open source
- 41:14Ripple and they can contribute. Then next year we'll probably
- 41:18want to fully open the the ripple to to the whole that.
- 41:21Is so cool, that's why I was asking about the prompt tool kit
- 41:27and if it was ever going to be open source then it would be
- 41:30open source. Yeah, probably, probably H2
- 41:34sometime Q4 maybe. Yeah, this year, this year.
- 41:37Oh, so there's going to be some things that will come out super,
- 41:40super fast. We already have something, but
- 41:44again this year is all closed source like only those few
- 41:47partner teams have. Closed.
- 41:48Open. Yeah.
- 41:49Closed. Open.
- 41:50Closed, yeah, but next year we try to fully open.
- 41:53Wow, that was it. That's so cool.
- 41:55Why? Why now?
- 41:58Well, you know, when the, when Mac I just started like back in
- 42:032016, there were, there was not, there were not many options out
- 42:08there. So we had no choice.
- 42:09We had to build everything by ourselves from scratch.
- 42:12Of course we use open source technology like Spark and other
- 42:15things. But then Fast forward 10 years
- 42:17now 9 or 10 years, there's so many startups out there.
- 42:21The, there's all the cloud players, they provide their own
- 42:24ML OPS tools and there's such a huge ML OPS community out there
- 42:29like yours. So we do think allowing like
- 42:33external, external contributions to Macengio can can actually
- 42:37drastically accelerate the innovation of Macengio.
- 42:40That's why we want to open source this.
- 42:43Yeah, which, you know, in turn will benefit our Uber ML
- 42:45community. So, so yeah.
- 42:48And also the other thing is now we're in this era of Gen.
- 42:52I, right? And Gen.
- 42:53I, if, if machine learning has been advancing so fast, Gen.
- 42:57I is even faster. So we, our team, we have like
- 43:01100 people, but still it's a smaller team compared to the
- 43:04whole community. It's hard for us to be honest,
- 43:07it's hard for us to keep up pace with all the advancement in that
- 43:12industry. So again, that's why we want to
- 43:16allow the external contributions so that we can keep ourselves
- 43:20always at the front of the technology advancement.
- 43:23All right, so that's awesome. Now I always wondered what it
- 43:29would be like to work at Uber. I am not the big company type.
- 43:34I think I would get fired very fast.
- 43:37HR would have a problem with the things that I say.
- 43:41But I want to know like what do you like working at Uber and
- 43:44what do you not like about working there?
- 43:47Sure. I think what I like first thing
- 43:52first, the the engineering team, the micro engineering team is
- 43:59truly world class. Move really fast, like highly
- 44:04capable. They can get shit down, OK,
- 44:06let's put it that way. And incredibly collaborative,
- 44:10very supportive of your PM work. So as a product manager, I could
- 44:16not ask for a better engineering partner.
- 44:19That's the most thing I like. That's the thing I like most
- 44:21about working in my current position.
- 44:24Secondly, personally I do believe product management is
- 44:29the best job in the world if done right.
- 44:31If done right, and I'm deeply passionate about AI and ML OPS,
- 44:36so my current job is a perfect combination of both.
- 44:39So I really enjoyed every single minute for the past four years
- 44:43I've over what else? Yeah, since, as I mentioned,
- 44:49since all the Uber's machine use cases, AI use cases manager Mike
- 44:52Angel, it gives gives me this front row seat right to to see
- 44:57how much is actually driving business impact across Uber.
- 45:01So from pricing to recommendation yields to fraud
- 45:05detection all the way to Jenna chaos.
- 45:07It has been a fantastic experience.
- 45:10I want to say yeah.