The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
As ideas develop, we’re seeing more and more ways to use compute efficiently, producing AI systems that are cheaper to run and easier to control. In this talk, I'll share some practical approaches that you can apply today. If you’re trying to build a system that does a particular thing, you don’t need to transform your request into arbitrary language and call into the largest model that understands arbitrary language the best. The people developing those models are telling that story, but the rest of us aren’t obliged to believe them.
This session took place in track Natural Language Processing & Computer Vision and was classified suitable for intermediate domain / novice python by the speaker.
Transcript (auto)
Auto-generated from the recording utilizing Open-Source AI. Speaker labels (Speaker 1, Speaker 2) reflect diarization, not identity. Timestamps refer to the recording.
Speaker 1 [00:07]
been a lot of talk about generative AI and large language models and with the innovation here has almost been shockingly simple just make the models bigger like a lot bigger and with all of these new models bigger and bigger it's fair to wonder are we heading further into a black box era with bigger and bigger models controlled by big tech only available via APIs well as you can tell from the title of my talk. I believe that open source means there's no monopoly to be gained in AI and it's also actually what led me to start an open source company, Explosion. Some of you might know us from our work on Spacey, which is an open source library for NLP in Python. It was really designed for production use and we've also put a lot of work into all these boring things like backwards compatibility, API consistency, and that really had a nice side effect more recently, which is that ChatGPT is actually pretty good at writing spacey code, at least for now, until the internet gets polluted with AI-generated content. And another thing we do is Prodigy, which is an annotation tool for machine learning developers. It's also entirely scriptable in Python, and all that work is leading into our next product that we've been working on, Prodigy Teams, currently in private beta. And the idea here is that you can use all these expert workflows in the cloud while also keeping your data private in a cluster that you run and collaborate on your data development with your team. And actually, a lot of the points and the philosophy that I'll be talking about today really directly influenced a lot of the design aspects of the product and pretty much everything else we're doing. so if you're here you've probably used open source software before um i always like to do a show of hands so who has contributed to open source software before wow yay and who works at a company that relies on open source in their work yeah wow that's actually again i should have asked who doesn't um so yeah so there are many reasons companies choose open source software it's transparent it doesn't lock you into a specific provider it's extensible you can fork it you can run it in-house it's easy to get started there's a community vetting aspect to it it's programmable of course and it's also often up to date because many projects are developed by small teams can accept community contributions and so on and looking at this you might notice that one aspect that many people commonly associate with open source software hasn't even made the list, which is that it's also usually free. And I believe that actually software being free isn't really the main reason that companies choose open source. They choose it for all the other reasons, and it's just a nice side effect that helps. And of course, what we'll be talking about today is machine learning. So that's code plus data, and you train models. And there's also, in addition to open source software, there's been a growing ecosystem of open source models. And those usually fall, I would say, in three categories. So on the one hand, we have the task-specific models that we're trained to do a specific thing, like the ones we developed for Spacey, community projects. There are lots of them on the Hugging Face Hub. And these models are small, often fast, cheap to run. But, of course, they don't really generalize that well. And they need data if you want to fine-tune them to do a different task. Then we also have a new category of models that I call encoder models. So that includes stuff like Google's BERT and local variants like Camembert or Alberto for different languages. And these models also often power the task-specific models. So they're used for the encoding step. And they're still relatively small and fast, especially given today's standards. They're affordable to run, and they generalize and adapt a lot better, but also need some data to fine-tune them and make them do whatever you want them to do. And all of this development has led to this third category, which are the large genitive models. There are lots of them, and there's new models being released regularly, and those models are, as the name implies, very large. They're often significantly slower and more expensive to run, but on the other hand they generalize well and need little to no data to make them do a specific thing and one thing that really doesn't help here is that pretty much all of these models have at some point or another been called an LLM which really confuses the discussion and which is also why I'm trying to avoid this terminology going forward and really mostly refer to large generative models because if you're looking a bit deeper the way they work the way these models work is actually quite different and so I think it's important to make that distinction because if we're looking at encoder models versus large generative models we there is a one main difference that we see is that encoder models if you want to make them do a specific task you use them to train a task network specifically for a given say structured prediction task whereas in comparison with large generative models you really have the models that generate text and that text that comes out you can then pass into whatever specific output you're looking for but you explicitly do not have a task network that you train so this also implies quite different use cases and different ways these models fit into your workflows for example in industry and going back to this these two types of models task specific and encoder models they're pretty established now they've been in production at companies for quite a while and many have also started exploring the large generative models and of course because they are very large and expensive to run there A lot of providers, they let you use them via an API for a fee. And so how is this possible? So how is it that you have all these open source models and you still have companies charging money to access them? And the simple answer to this is economies of scale. So the concept here is pretty simple. Large companies like OpenAI and Google, they have a lot of advantages to offer services cheaper. They have access to talent, can hire the best people, can use compute at wholesale costs, and there are all kinds of other business reasons why more output makes the output cheaper. But for machine learning specifically, one aspect is the API request batching that you can do, and the fact that GPUs are actually very, very parallel, And you can't just chop up the user's text because the context matters, so you either have to wait until there are enough texts available for a batch, or you just have to have enough traffic that makes it worth it. And you can think of this a bit like a train schedule. For example, here at Alexanderplatz, you have trains running every few minutes because there are enough people. But if you're from a smaller town, you might only have a train or a bus every hour, and it simply has to wait until there are enough people to transport. Otherwise, it wouldn't be viable. But what we can also see here is that, while, yes, being a larger company definitely is an advantage, we're not we're actually having a situation where companies are competing on price for providing these APIs and that's pretty much the opposite of a monopoly that's competition and so what are you going to do like are you at you know this point in the curve are you doomed well not quite So one other distinction I think is very important and that often gets glossed over is the distinction between human-facing systems and machine-facing models. And I think actually this whole terminology and the fact that people are not making that distinction is what led to a lot of these narratives around monopolizing AI and whether open AI or Google are winning, whatever that means. So on the one hand, we have the human-facing systems and products that are OpenAI's ChatGPT, Google's Gemini, and on the other hand, we have the machine-facing models that are, for example, GPT-4, BART, and so on. And for the human-facing systems and products, the most important differentiation is actually product, not the technology. So that includes stuff like UI, UX, customizations, marketing. We don't fully know how ChatGPT works under the hood, but there's probably a lot of product features implemented around it, for example, to prevent the model from just outputting something that's offensive. And on the other hand, we have machine-facing models. These are swappable components. They're based on openly published research that's publicly available, and the impacts are quantifiable, so speed, accuracy, latency, cost. and now you might be asking okay um if even if it's if you know this distinction is important what about data uh don't open ai google have enormous amounts of user data that can help them make the ai better and um well that's certainly true about the data user data really gives you an advantage for product not the underlying um foundation for the machine facing tasks because in fact if we've learned one thing from the more recent developments is that you don't actually need specific data to gain general knowledge that's kind of what the whole innovation is about so open ai might very well dominate the space of ai powered chat assistants but that doesn't mean in conclusion that they will dominate or monopolize the software components that are the underlying models. And these are really what we are talking about when we're talking about AI and the technology. So if we're looking at how these models are actually used in industry, we mostly can distinguish between two types of tasks and two types of things people are doing. On the one hand, we have generative tasks, which is stuff like summarization, paraphrasing, newer models, and in-context learning has enabled. And there are a lot of use cases and things that we couldn't easily do before. And in these tasks, you have text coming in, text comes out, and that opens up a lot of new possibilities. And on the other hand, we have predictive tasks. Those are tasks where text goes in and some kind of structured format comes out at the end. And these are things that produce structured data. And if we are looking at the actual use cases in industry and what people have been doing, we'll notice that a lot of the things around this have actually largely remained the same, even since before the introduction of computers. The only thing that really changed is the scale and the number of projects. So if you're using index cards, there's a limit to how much you can structure, but with the introduction of more technology, you can of course do new things and add new capabilities to your projects, but you can also do a lot more of what you've been trying to do in the first place, which is create a lot more structured data and do more projects. and so how do we tell computers what to do and define these problems well in the beginning we had rules and instructions so that's stuff like conditional logic and rules and with the introduction of machine learning we unlock the second way of telling computers what to do which is programming by example so you know we can really describe things in context and then which is also referred to as supervised learning. And then finally, in context learning, we've unlocked another new-slash-old way, which is defining rules and instructions via natural language prompts. And there are pros and cons to both approaches. Of course, instructions are inherently human-shaped. They really mimic how we tell a human what to do, and that also makes them very easy to get started with, even for non-experts. But on the other hand, there's a risk of data drift, So if the model or the data changes, your rules might not apply anymore, and that can be a problem. And then on the other hand, examples, well, they let us express behavior that's very nuanced and intuitive, like the kind of stuff where you know the answer, you know what's right, but you can't really articulate it and put it into words. And they can also be very specific to a use case because you can really define behavior on the data that you're working with. But a big downside is that, well, creating examples is a lot more labor-intensive than writing one specific general rule. So there are pros and cons here, and now the question is, well, is there a way we can take sort of the best of both worlds and combine that? And I want to show you one practical workflow of what you can do in a specific use case that's predictive. So, on the one hand here, you have a large general purpose model that can do a bunch of stuff, and you have your domain-specific data that you want to work with. And now, of course, you can prompt that model using all of its weights and everything it can do for an output, and then you can also evaluate this and basically determine a baseline, which is how well your model with prompts performs out of the box. and now what you can do with those predictions is you can stream them into an iterative model assistant annotation or data collection process and you can look at these predictions in context and you can basically select those that are correct you can correct them and you can really only extract that type of information out of all the weights and everything that the model is capable of doing that are relevant to your problem and to the specific task you're trying to solve. And then using transfer learning, you can create this distilled task-specific model that is really trained to do the one thing based on your specific data. And you can evaluate that, and you can essentially keep doing that until you beat the baseline, which often might surprise you how little time it takes. And transfer learning is incredibly powerful here, and I think people often forget that this was really one of the main motivations for deep learning in the first place and just because we have a new technology available now which is in context learning doesn't mean that transfer learning is outdated or has been replaced it's simply a different technology um that um you know maybe there's not so much focus and research on but that can be incredibly useful for these kinds of workflows so now in the workflow like this from prototype to production, what you can essentially do is, during prototyping, a lot of models, even those that you can only use via an API during development phase, can be very useful, and they really let you bootstrap a working system very quickly, which used to be much, much more difficult. And in order to mimic a task-specific component, we, for example, have a library that we developed, which is Spacey LLM, that essentially wraps a lot of open source models and proprietary models that are available via an API in a component, extracts the structured data, and gives you this machine-facing object that you can work with and that you can build on top of. And once you have a prototype, you can basically work on swapping, replacing, and mixing these components for your production pipeline. And that looks something like this. So you have the individual components. They can be very small. They are really these standalone units, and you're only depending on the API at development time. So to summarize, like if we're looking at, okay, what does this help us do? We can actually have a solution that's modular. We don't have a lock-in because we own the models that we train at the end. We only use maybe proprietary services during development. We have components that are individually testable. We can extend the pipeline with other components, with other technologies. We have a flexible system. It's cheap to run, sometimes depending on how you optimize it, even on a CPU. So it's very nice. Runs entirely in-house, entirely private as well. Programmable, because especially with structured data, you rarely do machine learning for the sake of machine learning. There's usually some other computation steps that you want to run. It's predictable. It only does one thing. You don't have a system that can go rogue. And it's very transparent and very easy to understand what's going on and what your system is doing. And so if you look at this in summary and all these advantages, you might notice that this is actually quite similar to what we pointed out earlier about why companies use open source software. And that's not a coincidence. That's Ultimately, if we're looking at it, AI development, it's really just software development and all the best practices and development philosophies that we've come up with and that we've identified as important. And the main reason why we choose open source software really also apply to how we're building our AI or NLP systems. so now to go back to the overall question of is it possible to you know monopolize this or take this away from us and there have been a lot of companies a lot of companies over the years especially companies have been really thinking about the strategy of how to you know really monopolize their area of business and how to get rid of all this pesky competition that companies and investors hate so much. And they're basically different strategies, and you want to tick as many boxes as possible. So one idea is, well, you can have a compounding advantage. And by compounding advantage, I mean things like network effects, not really the case here, but it makes a lot more sense for social applications or Google for ads or economies of scale but as we've seen economies of scale is a pretty lame mode because a it's competition companies are basically competing on price here and plus we don't have to use any of these systems at production time we can use these things at development time and that really changes the whole calculation. Finally well we Controlling a resource, that's not really something that's relevant here. There's no AI mine or phone lines in the walls that like Telecom owns and things like that. So, OK, we can ignore that. And then finally, there is a third point, which is very attractive if your company looking to monopolize stuff, because it's I have a monopoly because the government tells me I have. And this can happen if we're not actually making that distinction between human-facing products and the machine-facing models. So if we are not correctly regulating the products and actions and instead regulating the technology, then yes, we can accidentally end up gifting someone a monopoly. And that's really something we have to watch out for. So, to summarize, I don't think that the AI revolution or AI technology in general is going to be monopolized. The software industry in general does not run on any secrets. Knowledge is published in academic research for every proprietary system and model. There's an open source version of it. any secrets on that level will not give anyone a significant advantage or monopoly. And usage data, which a lot of big companies have that you might not have, they're great for improving a product and dominating a product space. But that kind of data does not necessarily generalize, and data itself will not give anyone a monopoly here. And another aspect is LLMs, or large generative models or AI models in general, they're usually part of a product or a process, and they can also be swapped for different approaches. You can replace ChatGPT with a regular expression if your use case offers that, or you can replace it with distilled components for a specific task. And that kind of interoperability that these workflows provide, That really is the opposite of a monopoly, and open source plays a very pivotal role in that, because open source is all about interoperability. And now, yes, regulation is definitely something that could give someone a monopoly if we let it. If we let regulation not make a distinction between actual products and technologies that are published openly, then yes, we might be gifting someone a monopoly here. And especially if we are trying to regulate this vague idea of software components. And so if we're seeing big tech leaders lobbying in front of Congress under the guise of keeping people safe, we should keep that in mind and also keep in mind that their intentions might not be entirely pure and not something we really have to watch out for.
Speaker 2 [23:17]
Thank you for the really interesting talks. We have a few questions on Strido. So the first one is, what's your take on meta open sourcing the way it's for the Alarma models?
Speaker 1 [23:32]
Like my general
Speaker 2 [23:34]
What's your opinion, I think?
Speaker 1 [23:37]
I think it's kind of, you know, it's sort of a natural consequence, in a sense, like, I think, in general, if we're, you know, if we're looking at which companies choose to open source weights versus not, it's always, you know, a question of pay is something similar going to be, you know, available? How can, you know, do we have any advantage of keeping the model in house? And I think what we're actually seeing is that, well, a lot of them, a lot of companies make that similar calculation of, well, we can always open source a model, but the advantage that we have in general for everything is the product. And we're not open sourcing our product, we're open sourcing the underlying model that's kind of on par with what's available in research. I don't have any strong opinion on that, but I do think a lot of companies are making very, very similar calculations.
Speaker 2 [24:26]
So the second question is, how much effort does it generally take for the task-specific digital model to perform better than the original baseline?
Speaker 1 [24:36]
I mean it depends on the use case but actually the answer might surprise you and my co-founder Matt did a talk on that where he goes a bit deeper into the research and some experiments we also have some case studies coming out we did a PiData New York workshop where we actually had the audience do the data collection so we had GPT for streaming examples make corrections and then trained a model on that as part of the workshop and we were able to do that in a one-hour workshop with all the participants and that included a lot of discussion about data edge cases like what's an ingredient because even for a simple task once you really look at it it's not so black and white so we estimate that in general depending on the use case you might be looking at 40 hours of work you can be looking at a lot less if you're running experiments where you're basically taking an existing data set and then comparing the few-shot baseline against a model trained on different portions of the examples, we've seen that you can often beat the baseline with as little as under 100 examples. And that's often because the baseline is quite low and the task is hard. So if you're really putting some work into it, you can spend a lot more time tinkering with hyperparameters or, I don't know, getting your GPU to work in the first place then, you know, creating some data and then, you know, yeah.
Speaker 2 [26:02]
So we have a lot of questions. I don't think we have time to answer everything.
Speaker 1 [26:06]
But you can also talk to me afterwards.
Speaker 2 [26:07]
So one of them is, if data is only in one's hand, isn't it monopoly? How can others develop without the data?
Speaker 1 [26:16]
I mean, it depends on what you mean by data, like what I'm, you know, and, you know, we're not really looking at a situation here where any particular data, whether it's like our, you know, user data or, you know, the underlying pile of internet text that models are trained on is really in anyone's hands. Like, yes, there's a whole other rabbit hole of, you know, copyright and who this, all of this stuff actually belongs to. but you know what I was really referring to is users you know what how users are using you know something like chat gpt and yes that is that's not a monopoly but this having this data is like really really valuable but it's not valuable for the AI it's valuable for the product and so it is it is you know it's a big deal but not in the way that I think many people assume Mm-hmm.
Speaker 2 [27:09]
One question is, big tech seems to run on a lot of free labor. What's the business model of explosion? How can open source development be financially supported and sustainable? So what was the first one? So it's just an opinion. Big tech seems to run on a lot of free labor.
Speaker 1 [27:32]
bit tech
Speaker 2 [27:33]
Mm-hmm. So Google.
Speaker 1 [27:35]
ah big tech oh sorry sorry I was um I mean I guess like it depends on if you if you're looking at like you know Google or if you're looking at for example companies like us who are doing open source and yes open source um you know itself is um you know a task where mostly you know you give so um and you know I would like you do have to be very strategic about what um the work you're doing in the open source space means for you and how you're going to use that for example it can be you know it doesn't magically guarantee you a business because you're just giving away things for free but you can use it for example to get your work out there and to get you know to show hey here's what we can do and build a user base and then you know have other things that you can commercialize on top of it specifically products that really you know tie in and not just you know lock up parts of the library because that's something we've seen you know not work very well in other projects. So in our case, for example, we make spaCy open source and free because we also feel like, hey, there's not really any secret source in the algorithms. We're really providing a framework. And usually, if you're using any of these technologies in a serious way, you want to be training your own models. You want to be customizing them for your use case. So for example, Prodigy is a commercial tool that helps you train custom models, helps you with these distillation workflows um helps you work with data so that's something we commercialized and we're basically you know using that as the entry point and there have been others they've also been you know there are a lot of startups that are kind of not you know not necessarily sustainable and it's very it's difficult um definitely yeah
Speaker 2 [29:15]
Yes, I think we've run out of time now, but there's still a lot of questions. I can still find her.
Speaker 1 [29:21]
I have stickers.
Speaker 2 [29:24]
So one last round of applause for her.