Lilypad 🛠️ Getting started & Overview
ETHGlobal·Wed, Oct 9, 2024, 12:00 AM
Join Ally Haire and Steven Coochin from Lilypad for a getting started workshop and overview of Lilypad's tech. Lilypad is building the universal compute cloud for AI, ML & more, making AI accessible & infrastructure open. This pre-recorded workshop anticipates ETHGlobal Sydney, the first major Ethereum hackathon in Oceania, hosted by ETHGlobal, happening May 3-5 at The Venue Alexandria. ----------------- Follow us: https://x.com/ethglobal Check us out: https://ethglobal.co​m Email us at: hello@ethglobal.com
Transcript
Hello everyone. I'm Ellie. I am very excited to be speaking here before you at ETH Global in Sydney. This is the first conference in Australia. With my accent, it's obvious that I'm Australian.
I should have said "good afternoon everyone" instead of "hello", but in any case, it's nice to meet you on home soil, and I'm very happy to be a sponsor of this round. So we're making this video to help you understand what Lilyad is and how you can use it in your hackathon projects this weekend. By the way, I would also like to introduce developer Steve, our CTO. He joined Lilyad with a long history of working in developer relations and data collection. Steve, let me introduce myself or say hello too.
Hello everyone. Greetings from the past, as you know, we record this in advance. Hi, my name is developer Steve. I'm the CTO at Ellipat, as Ellie just said, and I have a lot of experience. I've been programming since the Atari 800 XL days on QBasic, and of course we've come a long way since then.
But I'm always happy to chat with everyone about how we can help you run your computing tasks. Certainly. I'm really excited to be here because this is a project I've been working on for the last six months or so . You can use it for all your AI, machine learning, and other computing tasks. Today...
computing tasks. Today... this is a project that is a true passion for me because it has deep meaning. Which I'll talk about in a moment. Let's get to the agenda first.
So, in this workshop, we will explore the Lilyad architecture, learn how to run a node, how to create a job module, and also delve into the technical aspects of Lilyad to give you a comprehensive understanding of how to use this platform, how it works, and how it can be applied to a variety of Web3 and general computing tasks. So, whether you're an experienced developer or new to the world of decentralized computing, we hope to equip you with the knowledge and skills you you with the knowledge and skills you need to harness the power of Lily Pad in your applications this weekend. So let's get started. So let's get started. So , that's some background on Lilyad, and it's a story about data and infrastructure.
If we think about what a modern web stack looks like, it all comes down to data. We want to either transmit data, store it, or make it useful. And these three components— And these three components— network, storage, and compute— compute— form the foundation of almost everything we do in the modern era of connectivity. However, computing has so far been the missing link in the history of decentralized infrastructure, if you look around, except for a few experimental projects, of which there are more and more emerging this year , which is just great. This is likely due to several reasons.
First, the complexities involved in creating a fully distributed computing network are quite large network are quite large , and research is still ongoing. There is also a huge range, from white to black from white to black , essentially a whole gray area of ​​different types of calculations that can be performed. Therefore, when you talk about decentralized computing, it is very important to clearly define what kind of computing you want to perform on it. And what exactly are you optimizing for? optimizing for?
Secondly, I think the reason it didn't happen until probably this year is because we weren't quite ready yet. There were more pressing problems to solve, like internet- internet- scale storage that came from Filecoin, or blockchain scaling solutions, L2 networks, and some of the ZK networks that are now emerging. They are all very important pieces of the puzzle, and even account abstraction has become an important part of the growth of our ecosystem. I think that computing has never been as relevant a problem as it is relevant a problem as it is now. It's impossible to look around today It's impossible to look around today without hearing about AI, especially in the tech sector, and there's a good reason for that .
I believe that AI is one of those technologies that will fundamentally change how we function in the world, and it is currently driving exponential demand for computing and computing resources. And it's not just the demand for training large, basic models like ChatGPT or Llama, which Facebook recently made open source—and bravo to them for that—because right now, that's the domain of only large companies. So, sorry, training these large basic models is currently only available to large corporations with access to huge amounts of data and computing power. This is a point of centralization point of centralization , to which I will return, but the demand for computing power for AI also includes performing AI tasks: inference models such as Stable Diffusion for text- to-image conversion, queries to LLM, or fine-tuning models via LoRA or other new algorithms. So, this is what is really driving the demand for computing.
That is, not only fundamental models, but also the current mass use of AI. And both of these directions are the space and the future that we hope the Lilyad network will play a significant role in creating, and this is a space that I personally have called “the new frontier of open infrastructure.” Because coordinating such global participants in a network and creating efficient decentralized P2P decentralized P2P markets is something that the Web3 space is uniquely able to enable and stimulate on a large scale. So, Lilyad is a flexible, global, and permissionless distributed computing network at its core. It enables the execution of internet- scale computing tasks, including AI and ML workloads, while unlocking unused computing power and new market opportunities for participants.
I'll go into more detail about what exactly this means soon. In practice, this means that we are building a marketplace for computing tasks, or a kind of coordination layer for them, aiming to provide consumers with more affordable and cost-effective computing power through an independent global marketplace using a distributed hardware network with built-in trust mechanisms. And this is extremely important, because if we don't have these trust mechanisms—and as crypto enthusiasts you probably understand this well —it becomes very difficult for such a network to function, which is why most services are centralized. For example, if you want to run a text-to-image conversion model, you can do it on our hardware network. Additionally, if you have a spare computer, you can use it and get rewarded for completing verified tasks for other people.
This does not mean ZK- mean ZK- loading, but we will return to the consensus mechanism in a minute. We also want to make sure it's easy to use. After all, you shouldn't need to have a degree in AI to access cutting-edge open-source models for your next app idea. It should be as simple as any modern web modern web interface. And you also don't need to spend a fortune on maintaining a cloud GPU so you don't lose access to it for a training task training task that needs to be run once a week.
So both of these aspects are the flip side of the coin, in terms of the accessibility that we hope to provide. Um, I guess, as a little example outside of my notes, I was listening to a great Y Combinator podcast the other day about all the AI ​​companies that they've funded or that have gone through Y Combinator this year. And they said there were exactly half of them. Y Combinator provides access to batch GPU resources, which, you know, is just incredible. This is probably even more valuable than the $500,000 they get for participating in Y Combinator, because they get access to this computing power from day one without waiting if they are doing AI and want to train a model.
In this Y Combinator podcast, they said that exactly half of these people had never worked in AI or machine learning. They didn't have the relevant experience, but they spent about three months reading articles and were up to date with all the news. That's where we are now in AI development, and I think many could spend that much time to start creating truly unique models. I think we'll see an even bigger explosion of these kinds of projects, and it would be great to provide this kind of computing power to the broader community, not just Y Combinator graduates or startups, but this is just an example. So, what are the reasons why we need distributed computing?
The issue of accessibility is definitely one that I really like. If we look at the current computing landscape, we see a situation where there are only a few dominant players in the infrastructure and computing market. This effectively creates an oligopoly in data storage, computing, and infrastructure. This could lead to truly negative consequences for our society. At the very least, it stifles innovation.
The same players, if you look closely, have access to huge amounts of data and powerful hardware powerful hardware , which allows them to dominate the field of AI to dominate the field of AI . And now they are even pushing regulations that effectively mean that all AI models must be closed-source and proprietary. I mean, this kind of rampant anti-competitiveness under the guise of concern for safety, which is, of course, defined by corporations, is just wild thinking. But I'm sure some of you have been as impressed by the possibilities demonstrated by developments like OpenAI as I have been. I am an active ChatGPT user.
I'm not going to give up a tool that helps me in my daily work. However, I fear that what we are seeing is effective vertically integrated control over AI. This is a situation where models and our access to them and our access to them are either a “black box,” or they are limited in speed, or there are questions about their origin. We really need honest and honest and truly open AI and access to technologies that are poised to fundamentally change our society at least as much as the internet did internet did . So in both of these areas, we hope Lilyad can contribute by helping to co-create a vision for both distributed crowdsourcing computing and building a decentralized, open AI stack.
Sorry, Sam. In Sorry, Sam. In any case, as I mentioned earlier, the availability of computing power is one of the main obstacles to innovation, although in reality we do not have a shortage of power. If you look around, everyone probably has a fairly powerful device on their desk. If you look at future Macs, for example, they are introducing a new chip capable of running tasks on them , such as inferring AI models.
So if you can take advantage of some of this inefficient allocation of resources, then suddenly there's actually a lot of computing power in the world. We can make it more efficient. It's better for the environment. This is better for the markets. This is better for anyone who needs access to computing.
Here's one of the things we're working on. Combine this exponential demand for AI tasks with unused resources. And not just with personal devices. Of course, there is a lot of capacity in data centers that could support the operation of other networks for several hours a day and receive additional economic resources for this. So, it's beneficial for them too.
So this is not only a philosophical but also a practical solution for such networks. Lilyad— for such networks. Lilyad— one of the main reasons for Lilyad's existence is the possibility of creating decentralized AI thanks to a network of distributed computing. So, just as a single company should not control access to scientific breakthroughs, centralized entities should not control access to AI advances or the datasets on which they are trained. So, we should all be stakeholders and owners of this future, and we should all be able to influence its collective development.
Actually, this is what Peter Wang, one of our advisors, explains very eloquently in his video about the evolution of property and rights in the age of AI. He explains everything perfectly and helps you understand how useful the community is for solving such issues. Another interesting point about open AI is that according to this leaked Google article, and this article is about a year old, maybe a little more. Oh, she's almost a year old. May 4 almost a year old.
May 4 . May the Fourth of May be with you. How do you like that? However, according to this article according to this article , it is becoming clear that open- source AI and machine learning are superior to some centralized versions because they more easily define use cases and are better amenable to fine-tuning fine-tuning . I'm not saying that there is already an open source model that is superior to, say, ChatGPT.
But I say that we can outperform ChatGPT in many other ways because we see usage scenarios, we can fine-tune them to specific data, and we need less data to do so. So you can also better determine where exactly the common good lies. Just as Arduino revolutionized IoT hardware and development by opening up access to enthusiasts, giving people and developers AI tools and access to computing power. This, in my opinion, accelerates the search for solutions and innovation. So, that was one of our initial theses.
This raises an issue that Elon Musk also eloquently described last year: access to GPUs. This is a problem that everyone has faced, even OpenAI at one time even OpenAI at one time . The situation has improved a bit, but demand has definitely not dropped, and the price has not decreased either. So this access to GPUs at a reasonable price is another key issue for the competitiveness of open AI and machine learning in the market. As I said, GPUs are everywhere, we just need to distribute them effectively in the market.
And this is where decentralized physical infrastructure networks, or DePINs, really come into their own . This lies in their ability to create efficient markets with open access and fair incentive structures. So it's similar to how Uber disrupted the taxi industry with its peer-to-peer model. So, Lilllyad also offers pricing and distribution efficiencies. This is probably practically obvious to many people.
Overall, Lilyad provides better pricing and global hardware distribution, creating a level of coordination to match CPU and GPU demand with supply, which promotes more efficient market dynamics and helps reach more parts of the world. If you look at centralized data centralized data centers, they are obviously located in certain regions of the world. We can serve many more users without relying on a centralized data centralized data center. In summary: from both a practical and philosophical perspective, distributed computing networks computing networks such as Lilllyad can provide a number of benefits to participants on all sides of the market. This helps combat issues such as censorship, restricted access, and lack of competition, and also ensures more efficient markets, stimulates innovation, improves accessibility improves accessibility , and develops shared value systems and distribution models.
This gives open AI a new market entrant and a viable platform for competition. I love this quote from A16Z. They released a podcast about AI and crypto, I think, late last year. Here's exactly what they said about where AI and crypto intersect. The vision is to make this very centralized product, AI, more democratized through crypto, because crypto is a very democratic field, whereas AI can be quite centralized.
So by providing these decentralized computing networks computing networks —sorry, connecting them to the data provenance systems that are already being built, to decentralized storage models, open source decentralized storage networks, and open source models—if we can create these plug-ins and infrastructures based on decentralized computing, then we can realize this horizontal, truly open vision of AI. So I'll leave it to Steve to dig into how it actually works. Sorry for talking a little. But I'm just really excited about what we're building here, and I want to share it with everyone. Steve is going to walk you through the practical aspects of how...
Oh, am I going to do this? Actually, I'll tell you about this part myself, right? So, it's my fault. I'll walk you through this part and explain how it works, and then we'll move on to a demonstration from Steve. Uh, yeah, next slide.
Okay, cool. So, the technical details. Lilypad is launched. It is fully compatible with EVM. Built on Go and Solidity.
The test network is working. We call it...well, you know, we call it the Lilypad Milky Way test network. This is the Aurora update. Hooray, we've reached version three.
This is the first time I'm announcing this, even though it will only be up and running in a week. You heard it first. I don't know. This is the future. This is the future future.
This is the future . We will also be deploying to many EVM to many EVM chains in the future. So what happens with Lilypad is that we perform computations off-chain and ensure verifiability using smart contracts and other game theory mechanisms, which I will talk about now. They are built on Solidity contracts, which means we can deploy on different EVM chains and have access to that computing network. So wherever you build your apps, you can use Lilypad in the future.
"Lilypad everywhere"—that's what we call it. Lilypad is built on this modular architecture, sorry, stack. It is designed for flexibility for developers and users. We pay a lot of attention to making it simple for both developers and users. Obviously, this is still an alpha version, so please send feedback and we'll continue to work on improvements.
Starting with basic code libraries, we add verification via smart contracts and off-chain marketplace reconciliation services , and finally make everything accessible through simple SaaS through simple SaaS layers for users and developers. To ensure that network tasks are performed according to specifications. Lilypad uses a game theory approach to verify tasks or calculations. It uses optimistic replayability to incentivize honest participants and prevent fraud and collusion on the network. In practice, this is how it works: we have mediators in the network, which are like L2 validators, checking whether the tasks were completed exactly as they were supposed to.
Each node in the network must deposit a certain amount of collateral to perform computational tasks or place bets on them. When they complete the task correctly, they get paid. If during the inspection it is found that the task was performed incorrectly, their deposit is confiscated. The client can also dispute the assignment, although this requires them to pay a certain amount of the deposit. This is necessary to avoid a DDoS attack on the network.
There will be more privacy on the web in the future , and as you might have guessed from my words, we are currently taking an optimistic approach to verifying the correctness of tasks. This means that the input data must be equal to the output data equal to the output data . It doesn't matter how you got there. But this means that the process is deterministic. Therefore, all tasks in the network must now also be deterministic be deterministic .
We are working with the great researcher Stanley Bishop on how to move to non-determinism and also add layers of privacy to the network. Both of these issues are now being carefully investigated. They will be implemented in future versions of Lilypad once we have everything figured out. We are also considering the possibility of creating a direct marketplace for GPU rental without the need to verify the correctness of the tasks. There's a lot going on here.
A lot is happening. And what exactly is the task? And these are deterministic modules. A module is essentially a repository on GitHub that defines a computational task to run on Lilypad. I guess I didn't explain it that well.
At its core, a compute task is a Docker task is a Docker container or an arbitrary Wasm task. He has a repository on GitHub with the Lilypad specification, which he uses to find suitable GPUs on the network. This is how the network understands what exactly needs to be run and how to do it on Lilypad. Several modules are currently available, and we will encourage the creation of new ones in the future. For example, Stable Diffusion, LLM, LoRA coming soon, and it seems there is another secret project from developer Steve.
But I won't reveal his intrigue ahead of time. The best thing about this modular system is that it gives users the flexibility to define their own parameters for performing computational tasks. This also gives you the advantage of being able to create a marketplace. So, if you're a module developer, if you've created a cool task and want to share it with others, you can list it on our module marketplace and charge a small fee. Then everyone who uses this task will pay you a small fee for continued use.
Of course, this is a market, so if you just wrap an open source model, you're unlikely to get much payment, because someone else will do it for free. But overall, if you put in the effort, then at some point you should be able to make money from some of your cool computing tasks. A lot is also happening in this direction, in particular, we are developing a market for modules using reputation systems. As I said before, we want all of this to be easy to use. Therefore, there are several ways to access the Lilypad network.
There is the Lilypad CLI, which Steve will now demonstrate. You can now access it through smart access it through smart contracts, and in the future we will make this process even easier. And it will work on will work on any supported chains in the future. We're targeting a few of them right now, but we're currently running on our own Ethereum testnet, which allows us to control the funds for the faucets so that no one at the hackathon says they can't access the resources— access the resources— we've taken care of that. There is also Lilypad AI Studio, or "Lily" as we call it, which we will be developing throughout this year, adding API keys and SDKs for developers.
This service is currently under maintenance and we are working to make it more functional. Stay tuned for updates. Okay, enough of my rambling. Let's move on to practice. Steve, it's your turn.
Let's go. Wait, wait. Should I start already? I'm kidding . Okay, let me switch screens.
Oh, wait. Did you turn back? Let me switch screens. Good, because I need to get to work on the code. Code, that interesting code.
And it will definitely work the first time, because this is not a live demonstration at all . Certainly. Hello everyone. Well, was it impressive? I know you're all looking for Peter Wang's video to learn more about that incredible talk he gave.
But wait gave. But wait , that's not all. I'll show you how to get started with Lilypad CLI, how to install it, and how to create your own dockerized containers to run tasks over the network. So, it's very simple. But let me switch the screen first.
So, let's start with someone who loves gifts. We all love gifts. Now you can create your own, as there are tons of gift box images gift box images that you can create with Lilypad. It's actually funny that you mentioned that, Ally, because we have a whole bunch of new modules coming out, like this SDXL pipeline module. And this is the same prompt that I used to create not only this create not only this , but also this .
Well, I got a little creative with other options. You can tweak the prompt a bit and add extra steps to make the image better, which I didn't do for that option, but have started doing for this one. You may notice that it looks a little better. Plus, the colors are much more pleasant. I may have added a few rainbows to the prompt to make sure of the result.
Well, I mean, everything looks better with rainbows, right? And even more so with this. Anyway, here's how to do it. So, you need to start by setting up a testnet in your MetaMask, which is very, very easy and simple. And if you want to repeat this at your own pace, you can also visit docs.
lilypad.tech to go through all these steps and get the details, as copying them from a screen or video recording can sometimes be inconvenient. So I'll talk a little bit so you have enough time to import all of this. I hope you succeeded. And if not, then, as I said, everything is in the documentation.
Once you're all set up and have your MetaMask wallet address that you want to use with your test account, you can go to the faucet and also get your own Lilypad tokens and imaginary ETH, which are really...well, really imaginary. They run on our blockchain, but allow you to create gift images, as we saw earlier, and much more, which we'll look at next. Maybe a video. This is also a new module that hasn't really been talked about yet , but I'm going to show you how to do it.
Of course, the other part of this is installing the CLI itself. And there are two different, well, there are several different ways to do this. Um, the first one is using a binary release. So, head over to GitHub and you can choose a binary release that matches your system architecture or development environment architecture. Um, there's also another way to do it using some echo commands that you can take from the documentation if you want to do it that way, but this way will work too.
Once you download it, make the file executable and then move it to the user local bin folder in your development environment. Is there anywhere else development environment. Is there anywhere else we work from? Apparently. Another way to do this, and probably the easiest, is to use the wonderful Go language.
You may have heard of this language called Go. Here she is. Well, it's not actually her. This is her logo. But once you install Go into your development environment, you can literally just type one line.
How easy is it? And he will set up everything you need so you can work. Now there's one more thing you need to do before you start: install the web3 private key along with your MetaMask key that you topped up in the previous step. So, I won't go into detail on how to do this, but you can just grab this private key from your MetaMask wallet, your browser extension, or your phone. Take this key, save it as an environment variable on your system, and you're ready to go.
You can type lily pad and hopefully, if all goes well, a menu will appear in your CLI, indicating that you are ready to build everything you need. I usually start by making sure everything is working correctly by running a cosplay demo. which, for those who don't know, essentially does this. Oh, see what I did? This is not it.
Now I should point out Now I should point out that it doesn't come with Rick Astley, well, Rickroll. This was just added for fun. It was a little joke. Once you run the task, you will see a screen like the one on the left, where it will go through the various stages of executing that particular task particular task , and then the result will be output to your local environment like this . So in this case, you just need to do this for different modules, and we'll go over a few different options in a moment.
Different modules will have different types of output, depending on what the module does. So, in this case, your calculation result will appear in the standard output, i.e. std out —calc, for some reason I always say cosway, I don't know why. Your calc file will appear and you can simply open it with the cat command or open it in a text editor text editor if you prefer.
It looks better through cat because the output is displayed more correctly, and depending on what shell you are using, it may even be in color; but yes, it depends on what you use. I'm just using the default settings here to give you an idea of how it works. So one of the other options that we have options that we have , and this is actually one of our newest modules, one of our new and exciting ones—the SDXL pipeline, which is very similar to the previous one. You simply type lipad run, specify the job name, such as SDXL pipeline, and then the tag version, such as version one base lilyad 3, and then -i one base lilyad 3, and then -i —this is the input, so for any of our modules, the dash i means that this is what you are adding to the specific job to run. So in this case, we're creating an astronaut creating an astronaut riding a unicorn in cyberspace, which looks something like this .
Which is pretty interesting, but we can do it a little better. Here is an example I ran earlier. Another one I ran earlier with refinement steps added, which again is another input query. So the number of steps is 200. These input requests depend on the module itself that you are running, as well as the various flags and inputs that it can accept during execution.
Therefore, it is always useful to review the various flags and prompts that a module may support. In this case, it got a little better, but sometimes you need to keep improving these things. Maybe this is a request to get the desired result. But it looks much more magical. I have to say that the rainbows in this image look pretty impressive.
And by the way, we can improve this a little bit more with...Oh, there were supposed to be animations, but they didn't quite work. Oh, that's all now. Let's pretend we didn't see this. Let's cut this out.
Um, now things get a little more complicated because we're also using an image scene. Sorry, this is... this is the Stable Diffusion video generator , which is very, very new and obviously requires a lot of GPU power to run, which is good because we have Lilypad on hand, as well as that amazing wallet with a bunch of almost unlimited credits in the testnet phase. In testnet phase. In any case, as before, we simply use the lilypad run command, followed by the prompt for the container.
We've also added a seed image, which you can of course experiment with to get different results. We have a prompt, just like before, like in the image generator. We also have steps to refine the result refine the result . And we have video steps . And we have video steps , which determine how many frames in the video will be available.
And of course, the more you add, the more complex things become, the longer the execution time, the more load on the GPU, etc. But the good thing is that you can experiment with this . And here is the spoiler from the beginning of the video. This is what it looks like, pretty good. And you know what?
It worked, it worked pretty quickly. And now we have a bunch of everything, as Ellie said, I'm just interrupting to say that this is so cool. Of course, right? I know. Oh, by the way, I have to mention one thing about that video, I need to go back.
You see, there's so much going on here. That's it going on here. That's it . I have to mention one thing . I have to mention one thing , um, it's...
I know it comes out in three different video formats different video formats . So, this is the MP4 version. There was also animated PNG, as well as WebP. WebP. In WebP.
WebP. In any case, when you run it, you get three different output formats. I can't even imagine where we will be in six months. The pace of development is simply insane. Just crazy.
Just look at this. This is amazing. In amazing. In any case, continue any case, continue . I will definitely create a module I will definitely create a module , and maybe it will be an inspiration for someone.
I will create a module that will replace me in meetings and replace me in videos. But, ultimately, we'll work on it . I will definitely reduce your salary. No, continue. Oh, we'll have to start paying AI now.
Um, we have, uh, it's an ever-growing list. Um, so this is part of the current list. Actually, there will be more, because there are so many, just an explosion of ideas, including replacing me in the video, but more on that later. Um, yes, please look at them. Uh, they're in our GitHub repository, as well as in our documentation, but you can create your own, which I'll talk about in a moment.
Um, I think Ellie wanted to talk a little bit about that, about the concept. Oh yes. Um, for those who may not have seen this: last year we released this proven concept before we even started really building Lilypad. Uh , and this confirmed concept was called water lily.ai, of course, named after Lilypad, and I liked the connection to Monet at the time.
Uh, what's really interesting is that to me this is a great example of what else AI and cryptocurrency can be used for together. So, uh, basically, this application used a pipeline that was tweaked to fit the artist's style. Er, so an artist could voluntarily go online, upload their images, which were then deleted after the model was created, and a fine-tuned Stable Diffusion model was created for their image. And then the user would come in and pay a small amount in cryptocurrency to get a response from Stable Diffusion for a text query, that is, text to image, and we would give them four images in the style of the artist they chose. And this payment, this contribution, was returned to the artist minus the cost of the calculations, but we did it for free, so everything was returned to the artist.
And in the case of open access artists, meaning people who are long dead and most of their work is in the public domain, we channeled the funds to one of the creative spaces in California spaces in California . So, I think this application really demonstrates the power of combining blockchain with its verifiability, trust, and payment channels with something like AI to achieve a better result. In this case, we were trying to solve attribution problems in AI, specifically in creative AI. Um, yes, a small interesting tutorial that I think explains it well. Um, of course, it's not perfect, but it's a step in the right direction.
Yes. I can also talk about the use of smart use of smart contracts. More educational materials on this topic will be released soon materials on this topic will be released soon . I think we're a little out of time. Um, there will definitely be more information coming out about how to use Lilyad from smart contracts as we go about deploying it on other networks, on other testnets.
So this is already in the plans and will appear soon. Currently, you can use Lilyad from smart contracts, but it's not as easy as it should be. So, you can use this. There is some information on how to do this. But you actually need to set up a small server to be able to use this from a smart contract at this point.
So it's not as simple as it should be. We're working on it, but if you want to try it, the documentation on how to do it is definitely there how to do it is definitely there . Interesting that you mentioned that. Here is the documentation. I also want to say: if anyone has a use case for this or a need for it, please reach out.
We would be happy to chat, discuss this in more detail, and figure out how to make it scalable. There were a lot of use cases for a smart smart contract example, for example in gaming for example in gaming : you could automatically create assets in a blockchain game based on certain outcomes using a computational layer like Lilyad, and then have them— have them— sorry— sorry— sent back to you. Um, there are definitely use cases in DeFi. Um, unless, I guess, there's a requirement that it happen faster than a millisecond. Use cases in DeFi are possible.
There are definitely use cases in decentralized science that we're working on, and, you know, there's probably a lot more that I can't even imagine right now. I think, uh, but yeah, anyway, sorry, go ahead, Steve. This is what I love as a developer love as a developer —limitless possibilities. That is, it is a containerized computing network computing network . Isn't that cool?
You can literally run almost anything there. So, anyway, yeah, we called it "Lambda plus" for a while called it "Lambda plus" for a while , right? Serverless computing. So, we did small tasks. Uh small tasks.
Uh , so it's like "Lambda plus" plus plus. Um, also, if anyone is interested in running their own node as part of the network, you can do that. I will not address this in this session because we do not have much time. But please reach out to us, join Discord, we'll be happy to discuss anything, or check out our documentation, as we have a very detailed description of how to do this, and you can run it on pretty much anything, which is what Ellie was talking about at the beginning. And if you are not just a single node operator, but perhaps have more powerful GPUs, multiple graphics cards, or a data center, please contact us.
We are currently running a calibration network with rewards ahead of our incentivized test network, which is due to launch later this month, where the initial offering will be significantly incentivized. So stay tuned or write to us. Yes. I'll quickly walk you through how to create your own containerized module to run on Lilypad, because if it runs in a container, you can run it almost anywhere. There are certain rules for this.
So, where do we start? Oh, yes, there it is. There are a few rules on how to do this. Basically, as I said, it's essentially Docker. If it can run in a Docker container, you can potentially run it, provided you follow a few rules and have the right structure and source data for its containerized environment.
Essentially, you need, besides defining a container to launch...I had the Hugging Face logo here. He disappeared during the animation. Maybe AI did it. Maybe my AI alter my AI alter ego, no, an AI alter AI alter personality.
In personality. In any case, you can use, for example, Hugging Face, or if they have a containerized task in which you usually run code, or if you have something that you want to containerize—it's quite possible. The main way to launch is to use the to use the Lilypad module JSON template, which must be publicly available so that the network can retrieve it and launch it according to the parameters you specify inside. So, essentially, it's a Go template where you can configure Go configure Go templates to set default values ​​and perform other template-related options in your spec file. Here we have a new module that is not quite released yet.
I need to work on it a little more, I named it Lily, we'll take a look at it now. Actually, we're going to launch it. But, essentially, it pulls data from Docker Hub. And because of that, I also point out: if you're downloading an image from Docker Hub, like I am in this particular template, you also need to add a SHA 256 hash as part of the image ID so that the network can verify that the correct image is being downloaded and that everything is there to work correctly. The only thing worth mentioning is...
oops, I missed my gopher animation. As you can see in the file, we also add the machine specifications. That is, GPU, CPU, and RAM. This is a variant of the calc image, I pronounced it correctly this time, where I simply fork the original repository, pull the base image from Docker Hub, and add my own ASCII art. Oh, spoilers.
We didn't need a GPU to run this particular task . Only CPU and RAM, as this is a fairly easy task. The other part is ensuring determinism, which Ellie mentioned at the beginning. I was trying to come up with a really good technical joke. I love technical jokes.
So if you have one, please write to us, because we are looking for examples for deterministic tasks. I will let you know the result as soon as we receive it. Oh, I think it could have been one of them. In any case, we'll come back to this later. So, here are some recommendations for ensuring deterministic output for your tasks: Make sure the module output is reproducible.
Try saying this quickly three times. Make sure you remove the timestamps from the output. While developing your containerized task, you will likely task, you will likely encounter some errors. It's just part of the development process. There are several ways to define some of the raw data, which we also cover in our documentation.
But again, if you get stuck, please get stuck, please reach out, join our Discord. We will be happy to chat and help you figure it out. Also, just understand what you're creating, because we've already seen some incredible use cases. Another thing to mention is to avoid reading from entropy sources like dev/random, for example. Just make sure you get a stable result when containerizing via Docker.
Lately, I've been doing containerization every day. Yes, this is about me. This is definitely about me. It's pretty easy to build using the regular Docker engine. You probably already have Docker in your development environment, or you can install it.
Essentially, you first create a container there and then you can use it in your Docker environment with a few prompts. And then all that's left to do is tag it and send it to Docker Hub and send it to Docker Hub so that it can be referenced in the task, which leads us to the task. I'll switch now, as the launch is actually no different. Running a Lilypad task for your containerized tasks is no different than the ones we covered earlier, except that you provide a link to GitHub where this template file resides , which will then link to the image in Docker Hub with the appropriate prompts. So, what does it look like in the example with the cows, let's say, this time I guessed.
I thought I had already guessed with Lily. Actually, I was wrong. I'll switch windows because there's an example here that I prepared in advance. In fact, we'll be running this live . So while it's running, I'll probably switch back because it'll take a second.
Although, it probably won't take long , because it's almost ready. It's already over. Oh, that's it . Well, how are you? Just a dream, not a launch.
And as you can see launch. And as you can see , here I have several different lines of output. So I'll take the path to standard output ( standard output ( stdout). And here it is. Here.
See? Got the result. Ha. How do you like that? So, that's it.
Now I have one more thing to add—an additional input request switch so I can switch between two images loaded into ASI. I almost tripped. So yeah, I still need to add this to the next version, and that's it for now , because do these things these things ever end? There will always be some little thing. So some little thing.
So , you will be able to switch between different image types and add different queries. This is just for fun. But it's important to note that you can't pass an environment variable. You can't pass variables like this into an environment variable like you do in the Docker world. At this point, you will need to use an input query to pass these variables, as you have seen in previous more complex examples complex examples .
And that's probably all for my all for my demo. And hey, I'm just glad this demo worked. On the first try, it was epic. Really well done. This is just wonderful.
Thank you, Steve. Surprisingly. I liked some of your jokes, I think you almost made a joke about determinism. It was spontaneous. That was apt.
Very good. We rehearsed. Let me just share my screen again, or I'll just use yours. Just say " click" to present, to share. Actually, I can handle it myself.
I can handle it. Technology sometimes. Yes. As I said, Lilyad is made for everyone. So you don't have to be a developer to use Lilyad.
You shouldn't need, even though it's very simple, to open a command prompt, type a few lines of code, and start typing what you want to get. You don't need to be a developer to use AI. Part of our accessibility mission is definitely not about creating hardship. So, we have Lilyad AI Studio. It's working now, but it's a bit under maintenance at the moment.
It will be available at app.lyad.te, but we are currently updating it we are currently updating it . So there are some service issues and you can't use it right now. But the idea is that Lilyad can be used simply by logging in to Google.
You won't need to deal with MetaMask. Which is great for everyone else who might want to build integrations, plugins, or don't even know about MetaMask but wants to use these AI tools. So we want to make these AI tools accessible to almost everyone. There is a video on our YouTube channel about how to use AI Studio. So if you want a quick look at how it works, check it out.
The idea is that there will be API keys here. You will be able to integrate this into your frontend or developer tools, and there will also be SDKs, for example for React Native. You might be able to use this on mobile devices or through the Unity SDK—we hope to have it by the end of the year—in your games and similar platforms. Or you can just use it in other decentralized applications. We try to make it as accessible as possible for everyone, whether you are a developer or not.
I want to share a few resources as we wrap up. Join the future with us. Here are some ideas and useful materials. I know you're participating in a hackathon this weekend. Our documentation docs.
lilypad.tech has a section with project demonstrations. Check out other projects that people have created before. Just keep in mind Just keep in mind that some of these were on older versions before you start. But there are some great ideas out there about what you can do with Lilypad, and they remain relevant.
What's next for Lilypad? We still have a lot to do. We hope that in the next six months we will go mainnet, that is, there will be an official launch. The real token will appear . We should be on some DEXs, and hopefully by then the products will be deployed everywhere.
There will be SDKs or API keys ready, and you will be able to use this from smart contracts much easier than today. And even across different EVM even across different EVM networks—this is part of our initiative for the second quarter. And in the near future, we are launching the incentivized incentivized testnet that I mentioned earlier. We will go through several phases of this incentivized testnet. The first will be the involvement of computing power providers.
So if you have a GPU or even a CPU in certain cases, you will be able to earn rewards for working on the network. Next, we will talk about incentivizing modules and creating that module market that I briefly mentioned. Therefore, there should be significantly more tasks for AI, ML, and other deterministic processes. In fact, Lilyad is not just for AI and ML. You can run any type of deterministic computing tasks on Lilyad and create any deterministic modules to run on this system, and in the future, hopefully, even non-deterministic ones.
So we will encourage the development of such solutions in the development process. This is what awaits us next awaits us next . We would like to see any plugins, anything that would make it easier for other developers to use our tools, tools, any network updates you can think of, developed for this hackathon as well. I know how innovative you are, as I have been following ETH Global for the past few years. A big thank you to the team who do an incredible job at every event.
But I just know how innovative this Web3 innovative this Web3 community is. So I look forward to what you will come up with and create for our prize pool. It's great that the event is taking place in Australia and that we have the opportunity to sponsor it. It's simple, I don't even know. It's like achieving a life goal.
So, whatever, we'll stop there. I think we've definitely gone over the allotted time. Is this the end? It seems so. Good.
Good. Just checking. Perfectly. Thank you all for your attention. I wish you success in your development, and please come say hello.
We will be there.
Automatic transcript — names and jargon may be misspelled.