Your Moat Is Your Data Model — Mike Phipps, Gates Foundation
AI Engineer · 20 min · 218 sentences · from YouTube's caption track
Each timecode opens YouTube at the start of that sentence. Line anchors (#s42) are the cue ids in the WebVTT, and every line carries its start and end seconds. All transcripts has every talk, and the whole corpus as one file.
- 00:01[music]
- 00:12Yes.
- 00:13So my talk today is about the title your data models remote.
- 00:16We have a enterprisewide platform that we had just rolled out here this past month.
- 00:21And so I'll go into details on this.
- 00:24I'll give you some hopefully some practical lessons here and why we made decisions we made for this uh how how you could picture your processes within a similar type framework.
- 00:35So first just a quick introduction.
- 00:38So this gets into the the title here the talk and the the framing of you know what I hope you take from this but with AI moving very fast at the frontier
- 00:48what what's defensible you know you can move you can build things very quickly with clogged code um but once you push things to production there's constraints you find how much of your your
- 01:01uh deployed stack do you want to actually own you know there's monitoring there's upkeep there's uh you know people building dependencies off your stack that you have to be prepared to handle.
- 01:11How much uh appetite do users have for decentralized access?
- 01:15This gets into I'll show you what we built, but you know what's what's the access point for users?
- 01:21You know, is it another chat app?
- 01:23Is it clawed?
- 01:24Is it chat GPT?
- 01:25Uh is it something else?
- 01:28What's your product differentiation from from those different SAS products?
- 01:32And so our team then you know with this context in mind you know thought through here you know what's our skill set here what's our competitive advantage in this environment
- 01:42and this is what I you really hope that you you take from this talk and you picture yourself in this but our moat here was our understanding of our internal processes
- 01:53the tacet knowledge that you need to to run successful AI and this is true I think no matter how good AI gets how good models get and new releases that different companies put out when when
- 02:05Mythos comes out or when there's a new app from Claude.
- 02:08Yeah, I'm not I'm not worried because the part that we've built is the defensible part that that's that's durable.
- 02:15So, these are the I I'll tell you what this means here in more detail, but these are the the processes tacet knowledge that we've modeled into what we call the strategic intelligence platform or SIP.
- 02:26and it rolled out here this past month in production for enterprise use across uh the Gates Foundation.
- 02:32So about 4,000 people.
- 02:36So first I know this is an engineering talk but the the the scope of this talk gets into data modeling internal operations processes and so I want to give very quick background here over what the Gates Foundation does because then this is what we're we're modeling.
- 02:52So, as you're probably familiar, the the Gates Foundation has a has a very wide scope and it's a very ambitious work that we've been doing for the past 25 plus years.
- 03:02And there's all kinds of, you know, broad initiatives that we're doing, you know, whether it's for uh child mortality, whether it's for nutrition, agriculture, uh education.
- 03:14And these are kind of broadly the the different buckets that these different initiatives fit fit into.
- 03:19creating market incentives, spurring an innovation, collaboration between public and private sectors.
- 03:24And then the fourth one here kind of gets into the the lens that we're building here.
- 03:30You know, high quality data trying to derive datadriven insights from the from the actual investments, the the grants that we've put out.
- 03:38And over 25 years, there's a ton of structure.
- 03:41There's a ton of data that's developed.
- 03:43And trying to extract those insights at scale is difficult.
- 03:48And that's what we're trying to solve.
- 03:52So this slide here is a snapshot of the of some of the different uh of the work that went out in 2023 within the foundation.
- 04:01This gives you an idea.
- 04:02I just put this here to to show some of the structured the structure that we have that we're working across.
- 04:08So you have over 2,000 grants in one year.
- 04:11Many of these are 5 million plus uh many 100 plus countries that uh that that are targeted with these grants uh alumni.
- 04:21So there's 4,000 different employees of the foundation.
- 04:24Um you know many different strategies within the foundation the US within the US across almost all the states grantees the total annual dispersement over 7 billion dollars.
- 04:37And so this gives you some idea of structure that we're we're working with.
- 04:40And this one just finally here when I show the data model this will make more sense.
- 04:45But we have different divisions that that funding goes out through different divisions.
- 04:49And so this breaks down some of those divisions.
- 04:52So you can see different priorities and it'll make more sense in a second here.
- 04:56But global development, global health, uh gender equality, USP are just a sample of the different divisions.
- 05:05Okay.
- 05:05So the the fun stuff here now I hope the uh strategic intelligence platform so in a in a in a nutshell here structuring operational data for agentic retrieval.
- 05:17So we're building a knowledge graph with the idea of the agent consumer and here is an endto-end look of what this looks like.
- 05:27So we we have different systems of record structured unstructured these have been siloed traditionally the so part of our team here the work has been to create what's essentially a data lakehouse
- 05:42putting everything under one roof.
- 05:45This is our internal enterprisewide data.
- 05:47It's also different different programmatic data that are uh outputs of different investments.
- 05:54Once it's there it's easy for us to consume.
- 05:56So we have a data curation layer that does different processing to it and then finally SIP here at the end with aentic chat agentic workflow as the as the the UX you how users are consuming our platform and so it's a cross system semantic graph layer that agents can res
- 06:12across okay uh so some of this I'll try to speed through here just for the sake of time but this one is critical when you're dealing with systems of record with
- 06:23lots of complexity engagement ment is critical.
- 06:26This is something that we've we've found here repeatedly.
- 06:28We have to engage data owners to understand, you know, this tacet knowledge we're trying to to model.
- 06:33What's the full meaning of different fields, the structure of the data set, how do we join things together?
- 06:38How do we uh understand limitations, systematics of the data, safeguards, security trimmings, uh reporting conventions?
- 06:45You know, it's not enough just to answer it a question a certain way.
- 06:48You have to answer it the way that it's been answered in the past.
- 06:52And so, this is the comes back to the moat here.
- 06:55This is the procedural understanding tacet knowledge that AI needs and it's yeah it's the part that we that we own that's you know that's ours that um and that's what we're modeling here.
- 07:09Okay.
- 07:09So going back here just very quickly for this one this is the a snapshot here of different data curation considerations that we're that go into this pipeline.
- 07:17So you have
- 07:18[sighs]
- 07:19for different data sets whether it's structured unstructured there's different pre-processing filtering dduplication there's an order to different documents there can be uh inconsistencies across documents those need to be uh handled up front
- 07:31there's extraction so structured field extraction semantic chunking for unstructured documents if you have figures you need to convert this into text in some way so you can do retrieval across this
- 07:42uh various forms of tagging that these can form connections in your graph structure extra metadata that you create during this pipeline.
- 07:49Then that becomes different properties in your graph.
- 07:52And then the third bucket here, governance.
- 07:54This is a important one that I think AI makes more acute things that were that were accessible previously.
- 08:03They're much more accessible now with with AI.
- 08:06And so you have to consider this.
- 08:08Your risk sphere is is larger.
- 08:10So things like PII need to be masked.
- 08:12you need to reconsider different uh sensitive data classifying this um making sure that there's the right entitlements for each user who's accessing your system.
- 08:23Okay, so that's the overview here.
- 08:24The this the the data model itself.
- 08:27Now, this is the part I'll walk through here.
- 08:30There's a a nice animation here, but hopefully the takeaway is you can picture your own your own organization story within what I show here.
- 08:38I'll get somewhat technical but it's only to hope hope hopefully to give you an idea of how we how we solved our problem and then you can hopefully uh model this to yours as well.
- 08:48Graph is very flexible um practical representation of a physical model.
- 08:53[snorts]
- 08:54Okay.
- 08:54So I'll zoom through a few of these here but the just the the entry point here we have over 80 different strategy teams.
- 09:02These teams have annual reviews that happen.
- 09:04This is how the budgeting for each year is derived.
- 09:07And then so we model this here in the graph.
- 09:08The the the meetings are where unstructured documents uh enter into this system from but then there's they have a structured connection to your other systems of record.
- 09:18Um what I show here is a conceptual data model.
- 09:21So it's flat.
- 09:22So you're not seeing the instantiation.
- 09:24The actual graph there's you know many different nodes.
- 09:27Cardonality is it one one to n. So the actual graph it's you know even more complicated.
- 09:32But for the data model itself, let's let me let me show you the first different hier.
- 09:37So we have multiple hierarchies that exist within what we've modeled the there's different types of hierarchies you can have.
- 09:43In this case, this is a hopefully you can see all this very well, but it's a it's an it's a um additive DAG.
- 09:52So there's a all five levels here of this hierarchy from the top to the bottom matter.
- 09:59So you have to consider everything together.
- 10:01And so then there's different rollup patterns you can do to work across this this sort of pattern.
- 10:07In our case, we have a in path shortcut here that connects the funding path.
- 10:12Uh funds to bow is where we have the um the budget for each of these different funding teams that that's stored.
- 10:24So we have funding what's the the internal funding teams have portfolios.
- 10:28These portfolios then go towards different investments.
- 10:31Multiple funding teams fund an individual investment.
- 10:34So it's a endtoend relationship there.
- 10:38The investments are the thing that are our product.
- 10:42It's our it's our our business.
- 10:44But internally we have funds that then prioritize different different types of investments.
- 10:48That's what's shown here.
- 10:50And so you can take this down to the transaction level or you can have different uh annualbased aggregations that you map here as well.
- 10:59[snorts]
- 10:59And then from investment, there's a lot of interesting things you can do.
- 11:02You can map to all the different organizations and you can have different types of organizations and there's actually a lot here that is still kind of green space that we want to fill in.
- 11:11We have all these different observables that people have produced in the investments that we want to model here.
- 11:16So publish reports, products, you know, all this stuff is structured and connects to the entire uh organizational picture.
- 11:26[snorts]
- 11:27So I mentioned that there's different hierarchies.
- 11:28This is the second type of hierarchy.
- 11:30At this hierarchy, each level matters in and of itself.
- 11:35And so it's not a a DAG necessarily.
- 11:37And so you can actually do things like precomputing the the some of these these different shortcuts.
- 11:44So the hierarchy it goes from the top to the bottom contains connects.
- 11:48It this is showing the investment management side of the of the organization.
- 11:54And there's concepts of direct team management.
- 11:56So one team at like team level two manages the investment.
- 12:01But then there's also a concept of indirect management.
- 12:03So the uh children below team level two still should be attributed to the team level two.
- 12:09And so there's different things you can different games you can play with these sort of rollups to precomputee.
- 12:15I don't know if you can see this, but rollup manages m is a is a a derived edge that we that we create after we create the contains and manage manages
- 12:25edge.
- 12:27So I've shown two different two different lenses for one investment.
- 12:30There's the funding lens, the management lens and you can model both of these here.
- 12:34Then within within the graph, a third hierarchy here is people.
- 12:40You have organizations, you have org charts, and you have people who are owners, you have people who are attendees of meetings, you have people who are uh directors.
- 12:49There's all kinds of different roles they have.
- 12:50You can model these here.
- 12:51You can have their their uh you know, who they report to, what their uh team structure is.
- 12:57And these all are structured data that connects across systems.
- 13:00Traditionally, they existed in a just a HR source system, but they're relevant for the context of the the full story.
- 13:11And then that leads to this connectedness.
- 13:13So we have different source systems that were siloed.
- 13:16We to understand the entire picture for the agent to understand correctly across the structure you need to find these common B these common uh these common uh entities that you stitch together.
- 13:30And so that's what's shown here.
- 13:32These are different source systems but they're related quantity entities that exist there.
- 13:37And now the agent can traverse here and understand this pretty complicated organ organizational structure.
- 13:49One last part here that I haven't shown yet is the the document part.
- 13:53So, and this is still there's there's a lot more we can do to this part.
- 13:56We've just been uh ingesting one different document source so far, but this is where you combine unstructured and structured.
- 14:04And this gets into part of the magic here that you can model with Neo4j.
- 14:08But we have meetings that have documents.
- 14:12Documents then have different semantic sections that you can or chunks that you can uh that you can model here.
- 14:19You can put full text indexes across these to to aid in the different uh search and retrieval approaches for the agent.
- 14:26There could also just be a pure graph retrieval that that the agent does.
- 14:30And then all these things then connect back to your your your main organizational structure.
- 14:38So then as a whole this is what the data model looks like.
- 14:41So I've been zooming in here now.
- 14:42You can see the the full interconnectedness of this four different systems one graph uh one semantic layer that's exposed through an MCP then to the to the agents.
- 14:56And so this is the so if you think of the agent's perspective, this is the the structure that it can dynamically discover and reason across at query time.
- 15:04And for the developer, it's also a very cool thing because it exposes, you know, what you don't know about your your the thing you're modeling.
- 15:12You very soon you find out that there's a gap in your understanding or there's some data set that you're not, you know, fully including.
- 15:19And so this this process in in of it in and of itself is very valuable.
- 15:26Okay, let me give you a sense here what we do with this now.
- 15:29So this is the I showed you the platform, the graph, but then how does this relate to AI?
- 15:34So we've we've connected this through MCP and I you know I discussed earlier what the what's durable, what's defensible to us.
- 15:43What was not defensible was the was the the chat interface was the UI and even in some cases the the general chat cases the um you know the agent interaction
- 15:54and so we users themselves are included already or chat GPT and so we serve the platform where they are and so it's served here now through MCP here's an example just kind of a innocuous
- 16:07uh question here but Neoforj has some off-the-shelf uh MCP servers Here we've actually modified these quite a bit here.
- 16:15We forked it.
- 16:16And then there's various updates to the schema.
- 16:19Uh things to to pass state back to the to to our system.
- 16:25You know, the conversation uh ids, the the message uh numbers, stuff like this we we've we've modified in these MCP tools.
- 16:34But so that's a general chat experience.
- 16:36That's one entry point.
- 16:37The other part that we're building right now too that's very exciting is more constrained workflow experiences.
- 16:43And so these can also be offered through things like co-work uh clawed chat.
- 16:48And you can do things like um you can have your you can have MCP apps be the the you the standard entry way that users access you know different UIs that are
- 17:00uh ported into your your your your chat experience and you can have different sandbox based agents that then run the the workflow.
- 17:07And so these are these are active things that we're working on.
- 17:09It helps to constrain the experience compared to chat, but it at the same time it pulls from that same knowledge graph-based uh back-end platform.
- 17:23Okay, I've got a couple minutes.
- 17:24I'll kind of speed through this, but the the way eval relate to data modeling is that as you're doing eval, you find you find gaps.
- 17:34You find ambiguities in your data model.
- 17:36you find ways in which users are asking questions that uh that are ambiguous or it's um you not it's not returning things that conform with the reporting standards.
- 17:47So what we've done here then is we've worked with data owners.
- 17:50We've we've uh built targeted uh eval questions that that they that match their reporting standards.
- 17:59We've separated these into different complexity tiers.
- 18:02One challenge is that the the structured data is constantly changing.
- 18:05So we have to have the graph query itself that we that we create for each of these different questions and then at runtime for the eval we we pull from the live graph and then we compare that to what the agent
- 18:17is delivering for that question and so that's what's shown here then there's a feedback loop that you can do for this.
- 18:23So as you're running an eval pipeline, an eval structure pipeline, you have an LLM as a judge, we've modeled things like pass at one uh stability.
- 18:32So if you ask the same question multiple times, you get the same answer back, you can use LLM as a judge to to to measure this.
- 18:40And then there's a feedback loop here that you you can update then your your data model.
- 18:44you can update your uh your domain rules, your uh schema descriptions to help to help uh fill those those gaps that you that you find.
- 18:58Then after you do this, this is a this is just some some eval reporting here that we uh we show the pass at one and the the stability for our system.
- 19:08So we we've gotten this very very strong.
- 19:10the the questions that we that we end up do missing, it tends to be things that are ambiguous in some way.
- 19:15And so it's not wrong, it's just that it's things that might be right but not what the user intended.
- 19:22So that that's kind of the constant struggle that we that we that we're working around 30 seconds here.
- 19:27What's ahead for SIP?
- 19:28So we're continue continuing to fill out our existing uh data from systems of records.
- 19:33So things that fit into our current data model.
- 19:36We want to expand the primary graph to additional enterprisewide data sets.
- 19:41There's a lot of there's a lot of demand for a federated graph experience.
- 19:45So, we have a main enterprise system, but we have specific teams that have their own data that they want to link to this.
- 19:51And so, we're working on how to do this uh different agentic experiences like I mentioned as well.
- 19:58And that's it.
- 19:59Uh, so yeah, please if you want to ask questions, if there's things that you want to talk about, I'll be out back or you can add me on LinkedIn here and you know, keep the conversation going.
- 20:08Thank you.
- 20:10[applause]
- 20:27[music]