Local AI Changes Everything!

Ray Deck explains how open-source models, quantization techniques, and tools like Ollama and LM Studio now make it practical to run AI locally on consumer hardware. The Llama-cpp/GGUF toolchain enables aggressive compression to 4-bit, while vector databases like Chroma support retrieval-augmented generation without cloud costs. Local-first AI offers privacy, cost savings, and independence from US cloud providers.
Chapters
Okay, let's get rolling here. Thank you so much all for joining today. It's a real privilege to come down here. I actually live up in northern Vermont, so I get to come down here to— yes, Western Mass is for me past civilization. So I'm hoping to talk a little bit about local AI and some of the things we're able to do now that we couldn't do before. My background is I was originally trained as a data scientist. I just didn't know it yet. I was a political science major but trained by some of the people who would later become leading lights in the world of data science, and it became much more quantitative and sort of a fun place to be. I went into some management consulting and thinking that's what I was going to be doing, and then I kept on getting sucked back into the world of technology. I started learning my coding on the streets, and I built a couple of software companies that have had some reasonable degrees of success. And then most recently got into the world of low-code/no-code, which is sort of back to my happy place of, you know, being right there where business is actually applying this technology. And over the course of this, I keep on getting sucked into my other happy place, which is numbers, uh, and working in like in the late teens around, uh, machine vision work, uh, which is, uh, where a lot of the previous generation of, um, of AI was. Had big, big developments. And then much more recently around natural language work, which is the, the broad zone that surrounds the language models that have sort of gained a lot of notoriety today. I currently run a community called StateChange where I'm helping people who are building, mostly using no-code, low-code, and AI-enhanced tools, build pretty cool projects. And then if people want to talk about the business technology, I'm glad to do that too. The at the end of all this, and you'll see how all that intersects as we go along. But today we're going to talk about that corner of AI which we call language models, and sometimes the L in LLM, the first L, is called large language models. But I just want to demystify this for a second. One of the— if you ever take like a YouTube tutorial or what have you on how to build your own language model, the thing you're going to be shocked by is how simple these things are. There was this white paper that came out in like 2011 that was based— that was for, um, a deep learning in machine vision, um, which was the so-called AlexNet paper, which took all these sort of crazy ideas about like how we should be doing machine vision with all this complexity into these very large things called perceptrons, and they reduced it to things that can run actually on just the hardware that the authors actually had access to, which was a couple of NVIDIA graphics cards. And that led to a revolution in the way that we would look at computer vision. And it was much simpler. Their idea was instead of saying, hey, create a big, big complex thing, let's just layer a bunch of simple things. And that's what led to the idea of deep learning, layers that were stacked on top of each other. And then, and people thought, okay, well, machine vision, sort of, that's gonna be the big thing. But in this natural language side, actually interpreting words, that didn't get the same level of evolution in the first half of the previous decade. Until this sort of crazy paper comes in called Attention is All You Need, which said, look, it's sort of the same basic thesis. We're doing a bunch of crazy things with all of this way we're looking at natural language processing. How about we just keep track of the position of the words or of the tokens, as it were? And this idea of multi-head attention meant that the complexity of the models went way, way down and their ability to feed in more data Went way, way up. So when we talk about large language models, we're not talking about them in terms of having a whole lot of code, as it were. What we're talking about is them having a whole lot of what we call weights and biases. But basically, it's like you have a function that has like, you know, 4 or 5 lines of code to it. And you can sort of imagine it having like these huge dummy variables inside, right? And those are what we call the weights that actually drive the way the code works. As a result, the code is actually relatively simple, but figuring out what the right weights are is hard. As we think about this idea, we call it training, which is a very computationally intensive activity where basically these models are trying to figure out, okay, we see the sequence of text, what's the most likely thing to come next? And that's really the thing it's trying to predict under the covers. And then everything we've seen in terms of the magic, like chat or giving instructions or whatever, are kind of these special cases, right? When we say, you see these instructions, what comes after that? And then because you can sort of do word after word after word, That's the reason why when you're using like ChatGPT or whatever, you're seeing the things stream across because predicting that one word or one token at a time. And a lot of these models are just about trying to be smarter and smarter and smarter about figuring out what that right next word is in these very special cases. But under the covers, the idea is it's just attention-based models that have this little bit of code and a whole lot of weights. And then the other key thing that really changed up that becomes important for these open source models, this idea of LoRA. Because we had a notion that like if you had a model in natural language, you couldn't actually apply it to any other use case, right? If you train it on this corpus, like you train on Shakespeare, it would never understand, I don't know, like Shaw or any other playwright. Now you can transfer that learning through this idea of low-rank adaptation, which means that we can take these big models that took like millions of dollars of like training time to go build, build them a little bit more, and specialize them to all sorts of interesting cases. What this means is that— and this paper I think came out in like 2022, it's only become more useful really in the course of the last maybe 12 months. And the reason this is important is that when we think about large language models today, we tend to be thinking about the really big companies that built these huge models, right? Like ChatGPT came out in I think October of 2022, and like was like the fastest product ever to get to 100 million users. And it is seeing some competition now, right? Google has Gemini. We were just talking about like the Bard rebranding. Anthropic is a spinoff of OpenAI that creates something called Claude, which also has a pretty impressive model of its own. And there are, and there's some other players like AI21, the smaller one out of Israel. Cohere is another interesting one out of Europe. But the But the idea behind all of them is that they are closed source and you access them basically through APIs, right? From your point of view, it's not a model, it's a REST request, right? Or maybe it's a chat interface in the case of ChatGPT. It doesn't have to be this way. Because of this idea of having more models and because we can have this idea of specialization without the models having to be huge, there's actually this wider universe of open source models that are also available. And the so-called GitHub for AI, Hugging Face, has a lot of them up there. And you can sort of see hundreds or thousands of models that mostly are based on a few base models and then have been fine-tuned using that LoRA technology I was talking about to solve various specific problems, right? So that can be better at a specific job. Right, it's kind of like saying I want to hire somebody and I want them to do this very high-end job for me. Well, the easiest way to do that is to give them specific training in that job, right? Then they'll be a really good, maybe, lawyer, but they won't be a really good accountant. ChatGPT is trying to be both a good lawyer and accountant. That's one of the reasons why it has to be so huge. But if you want to be specialized in a given job, you can actually shrink the amount of training it needs to do, and that also shrinks the number of so-called weights and biases that are required., which means the file size can be smaller and the amount you have to load into memory gets to be much smaller. This is a really cool opportunity that in the course of the last 12 months we've been seeing a lot of this in form of like being able to run models off of, you know, services like Hugging Face, Replicate, AnyScale. But the idea was you're mostly still running them in the cloud because, well, who has enough horsepower to be able to run these models and to be able to keep all of these things in memory? But in the meantime, laptops have been getting better and PCs have been getting better. And the, you know, the— if you were to go buy like, I don't know, a MacBook today, how much memory would it have versus how much memory would have had, say, 5 years ago? Uh, and switching from like the Intel-based to the new, uh, you know, the A processors, which integrate both a graphics processor and the main CPU into one piece of silicon. And the advances in like NVIDIA processors, uh, that are on the PC side of the world as well. All of which mean we have more horses, more compute cycles running inside the computers that you either have directly in front of you or to the side of you or at home or whatever. But right now we're using them for glorified web browsing, right, or text editing. We're leaving lots of MIPS on the table. So I'm not the first person to say that, obviously that's why I'm giving a talk about it. And there's an opportunity for us to You know, take these ideas, these models that originally had to be really huge, but now they don't have to be quite as huge to still be effective. And originally had to be sitting off in the cloud because that was the only thing they had the hardware for. But now consumer-grade hardware, particularly over the course of the last 24 months, much more useful for that. And that means instead of really large language models, we can think about local ones. And we can run them today on consumer-grade hardware. Now, there have been a few runs at this. NVIDIA has actually just recently introduced their RTX chat system that's pretty interesting for that. There have been— there's GPT-4 All, which had its own binary output. But really, the most widespread, to my mind, most impressive tech on this is called Llama CPP, which is by a guy named Gerganov, who has open sourced all of this. And the idea is he has created an interpreter that for a certain set of known base models that have been put into open source. And there have been several companies that have taken their base models, put them open source, most famously Facebook, right? Took a model called Llama and they said, basically, look, we've all been working on this, you know, AI technology. And OpenAI first came out, they commercialized it pretty well. And then Google is like, we're really going to try to commercialize this thing. That's what they're trying to do with Gemini. And then Facebook did something very different. They said, okay, we're going to take this Llama model and we're just going to let you have it. Originally under kind of a restrictive license and now under a really open one. There are other companies have been doing this too. There's a European company called Mistral that has also put out some open models. And there are others as well. Well, because there's sort of a known set of base models and that most of the variety we see is because that fine-tuning sits on top of it, that means that instead of having something that has to know about every possible model to work, It just needs to know about a finite number of base models. And that was part of his insight, is you could have a standardized packaging for those models that then your interpreting, or we'll call it inference software, could just run those models without having a whole lot more complexity to it. So the toolchain is called LLAMA CPP, but to my mind, the real insight inside LLAMA CPP is called GGUF, which I think is named after him, Universal Format. Under the covers, it looks a lot like, if you are familiar with this kind of thing, an HDF5. I'll have a QR code for the slides at the end. So, you take whatever pictures you like, but I'll also have them for you. Where you can, or has anyone here worked with a protocol buffer before? Okay. So, basically, it's a standard way of articulating this information about how the model is structured, in a way that is nice and compact. And being compact is important, both so that these things can be transferred over the wire, right, over the network. That gives them— that allows them to be like gigabytes. But it also means it's easier to load it all up into memory. Because one of the problems with these models is if you don't have enough memory to be thinking about that model kind of all at once, it's very hard to make it work. That's actually one of the things that makes natural language models a little bit different than computer vision models. Computer vision models require more compute, but not as much memory, because you run through one convolutional layer after another. That's the idea behind being deep. That I was talking about. But the natural language models are still actually pretty— they're simple but pretty wide. We talk about like having those billions of parameters. Well, those need to be in memory, and then you're kind of doing like matrix multiplication directly over those. And that is, uh, it's kind of doing it all at once. And as a result, the memory requirements are much greater. So one of the cool things about GGOFF is that by making it a nice compact structure, it's easier for it to run. But it's also standardized. And that means we can have a number of different interpreting softwares that can take in one of those models, ask it questions, and get useful answers. So from my point of view, the economics of this are really cool because we already talked about how we have lots of extra MIPS sitting locally. But the other thing is when we think about like things at scale, when we put them out into the, into the back office, like running them off the server, there are certain things that scale well and certain things that don't. And the truth is machine learning stuff doesn't scale that well because you have to have all this memory allocated to running your model. It is memory intensive. So as opposed to like if you were running like serverless functions or something where it could be you're running your function, you can run a whole bunch of them, but each of them only take up a little bit of memory, right? That's sort of, or a little bit of compute because the idea is to do these little things, just lots of them. That's kind of the model of a lot of what we've been doing for cloud-based compute over the course of the last 15, 20 years, AI doesn't look like that, especially natural language AI, because of this kind of memory, uh, lock that it has associated with it. As a result, the economics are kind of favorable for running the stuff locally in a way that isn't quite as true for a lot of other cloud-based computing. It's also worth noting, of course, that because it's running locally, they're not charging you for invocation, right? So it's actually much cheaper to do a lot of interesting work, like they can all be going across your local hard drive or whatever, without having anybody, um, without having to go pay a bill, right, to a cloud-based vendor. And I've seen people get their, their bills get pretty high, like for, you know, running things for GPT-4 or what have you. And finally, uh, we were talking a little bit about, like, you know, what are the governors being put on things when you're running them through the cloud-based vendors and what they permit. And it's probably just true that, you know, you can run whatever model you want, and that means there's a lot less in the way of controls that are being imposed upon you. I would still encourage using models that are intended for good and using them for good, but you get a lot more control. You can decide what, what that means to you. Now, this whole AI thing can sound pretty scary, right? There's, hey, how are you actually going to run this locally, especially when I just show some GitHub repositories where you need to learn C++ to make any of this work. You do not. Let me just take a quick second here to show you what a couple of these things look like. So this is LM Studio, and LM Studio is, yeah, this is lmstudio.ai. This is their website. It is a download, right? You can download it for Mac, for Windows, whatever you like. When you have downloaded this piece of software, it will show you like featured models. Like this one down here, which is Mistral, which is a European model vendor. And you can download this model directly to your machine. And one of the cool things is that part of the Llama CPP toolchain is something called quantization. Do people know what quantization is? Okay. So when I talk about like having all these numbers, right, that are sitting inside the model, like all these weights I was talking about, you can describe them all as being numbers based between 0 and 1. And you can decide you're going to describe that number using 32 bits, having lots of fine-grained distinctions, right? The, the, uh, whatever, 4 billion distinctions associated with being 32 bits. Or maybe you only can describe it using 16 bits, which means 65,000 gradations between 0 and 1. Or maybe only 4 bits, which means only 16 gradations between 0 and 1. And the cool thing is that 0 and 1 are actually pretty close together, and like really what you care about is high versus low inside there. As a result, these models can work pretty well when they get quantized, which means instead of storing it the original way it was trained, using like a 32-bit number, you use a 4-bit number for each of them. And if you use 4 bits versus 32 bits, that means you can store 8 times as many numbers in the same amount of memory for the computer, which means you can use a smaller computer to look at a larger model. So you see over here it says Q4KS. KS refers to a methodology for compression. It's not that important. The Q4 basically means that we're using 4 bits for quantization. This one here is Q5. It's using 5 bits with like 32 gradations between 0 and 1 that I was talking about. These, that is why the models can be downloaded for like 5 gigs or 2 gigs. And by the way, these are all free. These are all downloads off of something called, off of the Hugging Face service that I was talking about before. You don't need an account on Hugging Face. There's nothing to charge. You download the software. The software is free. All you need to do is pay whatever your internet vendor costs you, charges you, which is probably flat fee by the month anyway. And then you can go download as much as you want. Your main constraint probably going to be hard drive space. It's pretty easy to fill up on these things. And you can play with these models. You get to see the best of what these companies have produced. This is Gemma, which is Google's alternative to Gemini, which is sort of a smaller model they've made. Mistral, which is actually a pretty good one. There's something called Mixtral that you can play with. There's Phi-2, which is something that Microsoft recently came out with, which is based on something they call Textbooks is All You Need. And then you can download them. You can chat with them. It knows how to chat with those models. And not only can you download those models in general, but you can also bring in a model that you might have done your own fine-tuning on. I gave a talk about 4 months ago back at Boston Code Camp. About how to fine-tune these open-source models. You can take a fine-tuned open-source model, you can then download this or load this in or sideload it into your LM Studio and just run it and use it. You can have it generate code. This is me running Phi-2 asking it to generate code. And it will use absolutely no network. It will cost you nothing. I think everybody should download LM Studio. It is the easiest way into this. And right now it is closed source, but right now they're not charging anything. And of course, because it's running on your local computer, it's not like you're creating a dependency on some third-party service. The only third-party service you're using is Hugging Face itself, and Hugging Face is staying nice and open and free. And there's this guy, the bloke, you see up there. If you get into working with local LLMs, you're going to start seeing his name pop up a lot, or her name. I actually have no idea the identity of this individual. But what they are doing is they're taking models that were made using Transformers or, you know, whatever structure they're using to do the fine-tuning, and they're just converting them to GGUF. And now because GGUF is just a file that can be downloaded using that structure I was talking about, which means it can be read by LM Studio, by anything else. LM Studio, here I'm using a chat interface, but also supports instruction interface. It also supports multimodal, be it images, if the model supports it. And you can tweak how the model works and how you're going to allocate GPU, etc., over here. But I wouldn't let yourself get scared by that part. The fact that you can just run a basic chat interface is a great way to get started and start to get a feel for the power that is available to you, and then start downloading different models and seeing how they behave. Pair of things. And they run in a way that is pretty, pretty slick. Like, I can just say, you know, code to— what should I have it do? Any requests? Yeah, make anagrams. Do you have like a process monitor or something so we can see how much CPU, how things are topping out, or is it single process or multi-threaded? Yeah, sure. It takes up a lot. Let's not kid ourselves. This is heavyweight. Right now, Canva is taking up a lot. We're going to have probably this guy's going to show up relatively high soon once we start running. Just need to wait for it to reload because that same thing about it taking up a lot of memory means it doesn't just sort of sit around waiting for you to show up. You gotta say, here I am now. Right, so now it's running. You want to see how the monitor was going? Yeah. LM Studio up here. At the top, there's still a lot of unused cycles there, it looks like. Oh yeah, well, I'm also running a pretty powerful Mac, but yes, it's, uh, this thing is only a 3 billion parameter model, and 3 billion sounds like a lot, but like, the, um, for, for context, ChatGPT 3.5, the original one that came out, about 20 billion parameters. Uh, we're not totally sure, but we think GPT-4 is somewhere around 200 billion parameters or 300 billion parameters. And I don't know what GPT-4.5 is like, but it doesn't have to be that huge to be really interesting in terms of results, particularly what's being fine-tuned for jobs. Uh, LM Studio is not the only game in town. Uh, there's also this— you can see sort of created permutations for, uh, for the anagrams. Um, the, um, there's also something called Jan, uh, which has a similar, uh, structure to it. It is actually open source though. You'll notice a little GitHub in the corner here. The cool thing about being open source is you can rip it open and see what's inside, right? See how this thing works. And that— I find that to be really an exciting part about how this tech is working. It also— JAN is also a little bit different from LM, although LM may have added this feature in the meantime. JAN also has the feature of being able to integrate with, say, OpenAI or Claude or what have you if you just give an API key. Right? So it becomes a BYOK, bring your own key, local chat agent in addition to being able to work with these open source ones, which is all pretty fun. The— so these two are super friendly. They also contain some additional superpowers behind them, which is they can act as servers. And this is where it gets really interesting to me because, you know, yes, we can sort of start with having nice graphical interface and this is a good way to sort of get into it. But then you're like, okay, what am I going to do with this now? How do I iterate over all the files on my drive? Be able to start to ask questions. The fact that it just works over a REST interface that I believe now is actually OpenAI interface compatible. You've wrote the code, we're working as an OpenAI. You can actually just say, I'm just going to set the URL to be localhost, in this case port 1234. It can just work with us, which is, I think, super slick because this gets us beyond, hey, here's a tool that we can interact with, just something where we can have our code interact with it and start to build on top of it. And like, what are like the newer functionalities we can do? Which brings me to the third local one that I would want to talk about here today, which is called Ollama. Ollama does not have this fancy interface. Ollama doesn't even have a fancy website. Let's bring up Ollama AI. But it is, I think, the most interesting of all these, right? Get started with LM Studio. Absolutely. That's how you play on Easy. But Ollama does not provide you with a fancy interface. They have a terminal interface, right, where I can bring up, you know, Ollama after I've installed it. And by the way, these are all downloadable for all 3 major platforms, Mac, Windows, and Linux. And I can run things from the command line. But what's really exciting about Ollama is that Ollama is server-first. And by not carrying around a big GUI, its memory footprint is less. And you could just use its— the fact that when you run it, it just goes into your system tray. If you're in Windows. It just goes into your command bar if you're on the Mac. It's just there in the background. It does not have the models loaded at that time. So you can be sending it commands through its REST API, all there on localhost, to say, hey, please spin up and serve this model. It will download the proper model for you. If it's not already downloaded, it will then run it locally for you, which will allocate space and memory. Then you can be asking questions and then have it shut down. This means that Ollama is at its best when you're not using it, but when you have software that's using it. And I think this is where local AI gets really exciting because local AI as an app is fun. That's where it's compared to ChatGPT. But local AI as a service, that's where we turn our computer into an assistant, into a robot that can do things for us. So the, um, and, and the, the, the way that you would, uh, work with that is you can just, you know, you can pop over their GitHub and you can be learning more about their API, which is, uh, it's just a REST API. It's very simple. And they have a couple of libraries, uh, like if you're using either Python or Node And because, by the way, it's being accessed over a REST API, it works equally well in either JavaScript land or Python land. And frankly, if you want to use a different language, you can. Those are the two they have as first-party support. And yes, both of these are completely open source, so you can, you know, go investigate them, tweak them, hack them as you, as you see fit. That hackability, to my mind, is really where, where the fun is in here. So just going back to, you know, thinking about this from a comparison point of view for a second. LM Studio, I'd say start with it, but it's closed license, right? So it's going to be the least hackable but easiest to go with, as sort of like the Microsoft model, if you will. Jan is starting to split the difference. It's actually the newest of 3 players. I think there's a lot of opportunity, and I would keep an eye on them. But right now, Ollama is the one I'm most excited about because of the way that kind of gets out of the way. You load it, it runs, terminates, stays resident, and then you can use it, use its service primarily as a way to integrate it with, with the rest of it. And its license, by the way, is also the most permissive of all of them. This one is closed. Do people know what the AGPL is? Yeah, the AGPL, it's a, it's a more restrictive semi-open source thing. Basically, Jan AI is saying, look, you're gonna make something and sell it, you know, we want to cut. Whereas this is more, more permissive than that, and that makes it a lot easier to be integrated into projects that might have some downstream commercialization to it. The— it also stays nice and small, you know, because you just download these files. It will— each of these systems will give you some recommendations as far as memory goes, but in general, don't download a model where the file size is larger than what you've got for memory. Or probably about 50% if you want to be able to do other things as well. This I think is also going to encourage us and probably encourage hardware vendors to be pushing the larger memory configurations a little bit more to the front. For my money, the most interesting thing that none of these models really advertise, but I think becomes important to make these things get really off the hook, is being able to make use of custom models. Like models are trained on your data. Training models is still something that's relatively hard, but what I'm thinking is the next 6 months, this is going to be the really fun place to be. Have your custom model that is about your data or that is more aware of how you want things to work, and then bring that into your local context to work with the rest of your— to be answering questions or to be doing agent work that's based on what actually creates value to you personally or to your organization. So let's talk about like the fact that Ollama is cool. It's cool because it integrates with other things, right? It leaves room to integrate with other things. And I would encourage you to check out like this open, this ecosystem of apps that are popping up that are using Ollama behind it. ChatD is a document chat system. You can load in a PDF or a whole set of PDFs or whatever. It will shred them, use them basically for retrieval augmented generation. You can ask questions and it will extract insights. It does an okay job. These things are all in evolution. Twiny, actually far more impressive. This is a Visual Studio Code plugin that works the way that GitHub Copilot does. Anybody here use GitHub Copilot before? Yeah. The idea is it will provide you both the ability to chat with your codebase, and ask questions about it and generate code that is relevant to where you are right now, as well as doing autocomplete. And that allows us to code a lot faster. Again, no bill, no nothing we're sending out to the cloud, right? It's all completely private because working off a model you've got, they're serving in, in OLLAMA. OpenInterpreter is a neat project that actually allows you to run code locally. It will, it will run commands directly in like macOS or Windows., and based on the code that is generated for it by whatever model is backing it. OpenInterpreter has support for OpenAI's models, but also now has support for, for working through Ollama to work with whatever, uh, model you want to run through there. There's an Obsidian plugin for, for, for Ollama and many, many, many more. I make them more an underline here because it's a link, so when you open up on the on the sheet, you'll be able to, on the download, you'll see more about that. Yes, we can continue to the external site. And there's just all, all, all sorts of stuff in here. But I don't want to leave it just with the app ecosystem. I want to talk about the service ecosystem. Because once we start thinking about having an AI running locally, the AIs actually really add value when they're able to do other things for you at the same time. So like I was talking about that ChatGPT thing, right? It was using retrieval augmented generation. That means it has to generate embeddings. That also means it needs to be storing this information probably in a vector database. Are any of you familiar— when I say vector databases, anybody know what I'm talking about right now? A little bit? Okay. So the idea behind a vector database is that it makes use of this natural language AI technology so that you can have a database like full of text, right? And it's going to chop up that text and like organize that text using what are called embeddings. Which are basically trying to figure out, okay, this kind of means something that's like this. This means something that's like this. So later when you ask a question, it can ask, okay, well, which chunks of the text kind of go with that meaning? Right? It's not like full text search where like you're matching the words or matching the lemmas. It's trying to match the meaning. This is super cool technology. It's also incredibly memory intensive. If any of you have ever tried like spinning up a Pinecone instance, they charge an arm and a leg. And the reason they charge an arm and a leg is because it takes so much memory. But you know where you've got a lot of memory? Right here. And so Chroma for Python and Orama for JavaScript are remarkable systems for being able to hold a vector database that allows you to do searching of text much better. You can embed, the embeddings we were talking, I was talking about like figuring out, hey, what meaning goes with what? That requires using one of these models. You could use something like Transformers.js, which, you know, has embedding models that will actually run inside a browser to be able to chop these things. You can also use something like Ollama to use one of those models for the purpose of doing embeddings, which means you get the two halves of it, right? The embedding part that's compute intensive and the vector query engine that's much more memory intensive. You can use both of those locally, which means you can take the thing that is incredibly expensive in the world of AI investigating your data and turn something that's incredibly cheap because it can just run locally. This ecosystem of like things that work with the AIs and make it more powerful, this I think it's just going to be a multiplier. It means that it's going to be more than just linear based on how much compute or CPU we have. How good the models are, because as we have more of those services, they're able to get more value out of them. We're going to have the multiplier, multiplier get bigger and bigger and bigger. So I guess the thing I want to bring back here is I work a lot with this no-code, low-code stuff, right? A lot of this is just about being in the cloud, having tools that you're running through a web browser. But I think there is an opportunity sitting in front of us of all this compute, that's sitting locally. I think we're seeing a lot more of it. I think we're seeing more of it. Like, one of the reasons why Mistral even exists is because people in Europe are worried about depending on, like, you know, technology vendors from the US. I talk a lot with high-end professional service organizations who are getting more concerned about, like, well, what are we actually sending up to OpenAI or the cloud or what have you? There was a big swing. Let's get more stuff to the cloud. I think we're starting to see something of a swing back, partially because policy issues. But also partially because of a shift in where technology costs are. It used to be it was a big cost savings to put things in the cloud, but now some things are cheaper in the cloud and some things aren't. And as we get smarter about that, we can realize more opportunities, right, to be creating a lot more value for a whole lot less cost, and certainly without having to decide that or having to allow, you know, some other third-party company to be deciding what we should be doing. And that, I think, will allow for a whole lot more creativity and unlock a lot of economic value. I'm really excited about this as movement. In fact, there's a, there's a conference, I think, in May called specifically— it's the Local First Conference. It's in Berlin, partially because of that whole Europe versus US thing I was talking about. And I think that the, the more we get our arms around this tech the more we're going to be able to realize that opportunity that's coming right at us, I think, over the course of the next 24 months. Okay, I really enjoy talking about and working on this kind of technology. I share what I can through my YouTube and Twitter feed and what have you. If you'd like to, you know, get a copy of these slides, here's a QR code for it. And if I can answer any questions for you about, you know, anything else you find interesting in here, let's keep talking.










