AI Apps in a Flash: Ship to GPUs Without Docker — Dean Quiñanola, Runpod

AI Engineer· 14 min· 1,746 words· 8 min read· English ·Watch on YouTube

This is the full transcript of AI Apps in a Flash: Ship to GPUs Without Docker — Dean Quiñanola, Runpod, published on YouTube by AI Engineer. Every paragraph carries the moment it was spoken, so you can click any line to jump straight to that point in the video, search the whole thing for a word, or copy it out.

0:12Hello, good afternoon everyone. I'm uh Dean Kinyanola from Runpod Flash and um I want to talk to you about how you might be able to deploy AI applications without Docker. So currently this is how you deploy a serverless application. Well, especially AI applications. You write code, you build your docker file, you run a bunch of commands, docker build, all that. And

0:41then you push the image to docker hub. Then you execute it. Then maybe you'll get what you want. If not, you have to change your code again, rebuild it, repush it, execute. Um, in my experience, sometimes this one loop takes about 15 minutes depending on the changes you're doing. So, my name is Dean Kinyanola. I am a staff engineer at RunPod and I have an entire team that's

1:09working on making that easy. So, why did we build flash? development iteration loop requires a makeover. It's really a hassle. A lot of you guys are software engineers or ML engineers who really don't want to deal with all the DevOps. So, as you're working on your ideas or as you're working on your experiments, you want the results. So, no more need for Docker. Run code like it's local, as if you have the GPU. Uh test your changes instantly and debug

1:42quickly if you need to. So this is how we're thinking about keeping it simple. You write your code, you execute, you get the results. Rewrite your code, execute, you get the results. Right? Of course, there's the deployment part. I'll talk about that later. So it's so simple it feels like it's running locally. So what are the features that we have? So we are able to build and deploy faster. We optimize the resource utilization. There's a lot of tricks happening under the hood and it's intuitive. It's just Python code. It's really whatever you can run locally with

2:20a GPU, just do it on the cloud. So, what can you do with Flash today? We have serverless endpoints. It's mostly locked on serverless right now, but we're working towards doing it for pods. Uh we have Q endpoints for it and load balance endpoints that you can use it for. Here's the uh really cool feature that I put in an endpoint to endpoint communication. Sometimes you're building all these servers, but then you still have to know how to contact each server, right? You don't have to do that with this because it's just a code talking to another code. You execute a function and it looks like it's just local, but once

2:58you deploy it in different endpoints, it's all talking to each other. It's all happening under the hood. We also have network volume attachments. Um we have warm caching in network volume attachments so that if you ever have to scale up with your serverless endpoints then it has those cache carried over through the network volumes. And then the most important part is the live serless. Uh you are coding and testing as if it's all happening in your local system. And then you know this would just be a toy project if you can't deploy to production, right? So you want to deploy to production. So serve the inference, serve all the uh stuff that

3:37you're building. And we're making that possible all through the CLI. So let's get a demo. Hopefully I can do this with one hand. Okay. All right. So my demo here shows the the rapid iteration and evolution of a function. So the first function is just talking to torch getting what kind of GPU you have. So I'll do this live. I'll do flash dev. And what this does is it launches a fast API local host. So you can actually toy around with it. So now you want to

4:18try it out. Let's try it out. Execute. So it's provisioning this serverless endpoint. And if we go to runpod console, refresh this, you'll see this. This is running now. And as it's loading, let's let's show the logs. So you can actually see it.

4:44All right. Workers ready.

4:52Yep.

5:02Oh, John. Cold start. This is common with all serverless platforms. Oh, there it is. So, it's running. We got logs, container logs. So, it's testing all these things, making sure it's all healthy, and it ran the job. So, now if we go back here, you'll see the result. It ran on an Nvidia GeForce RTX 4090. You see all the RAM, GPU count. Now, here's the kicker. What if I want to change this function and just want to test it? So, here's a

5:42different iteration of this function. What we do is we add more code. And this code really just does generation of text. And I've added some dependencies, the Python dependencies here. Oh, actually, let's do this without the hugging face token first. Let's see what's happening. See, it refreshed everything. I refreshed this. Test it again. What prompt do we need? Uh, let's do

6:13string cheese. Is it real? Run it. You see it again here.

6:30Container. Okay. It's coming up. You'll see all the the logs are simpler here because you're not supposed to be inundated with so much stuff. But what it's doing is in on the fly installing the dependencies and it even gave me a warning about communicating with the hugging face server without the token and it should

6:54be finished. Okay, now it's finished. Let's see the result. I ask is string cheese real? I'm sorry but I cannot provide answers. All right, that's that's spicy. All right, let's let's change that up. Let's enable my HF token. That's just changing the code right now. We release this again. Let's change the uh prompt. Let's see

7:29who is Batman. Let's execute that. Ready? And let's see how's this working here. It's cool. I'm doing this with one hand. All right, let's finish. Now we see the result. Oh, there. There you go. Batman's a fictional character. All right, we knew that. Let's go for something that's more intensive than just generating text. Now, we'll do

8:04an image generation. All right, it refreshed. Let's refresh this local host. Now you see generate image and then we'll test this out with a prompt. Let's create an image of a string cheese Batman. All right, this is how creative AI could be. Let's look at what's happening here. Running logs. Oh, look at that. Roll out in progress.

8:55Okay. I got plenty of time.

9:07That's not it. All right. I just had to terminate that because it was running the the older version. All right. Now it's new. I didn't want to wait for that roll out. I just want to see string cheese Batman. All right. So, it's it responded with a base 64. Okay. Let me clean that up before I show

9:31that. So how you can render this is through the browser.

9:47All right, let's see what string cheese Batman looks like. That's not string cheese, but that proves it right. It did it. Now, what if you want to deploy this? So, check this out. When I cancel it, it actually deprovisioned that endpoint. So, you don't have to have that lying around. See, it's gone now. Now, what if we want

10:12to deploy this? So, let's deploy that. Flash deploy. That packages up the whole thing, builds it up, sends it to our servers. Again, no Docker. You're not dealing with Docker here. This is instantaneous packaging of your application, sending it out to our servers, and serving it. Now, here's the cool part. Once it's out there, I have prepared this prompt, but I just need to change this ID later because this is going to matter. All right. So, it's created the archive

10:54built flash. All right. Sending it out. Uploaded. Deploying. Now it's up. All right. Let's see the ID here. Okay. Now, let's get this going. So, my prompt is a cute baby sea otter with a bow tie. Generate that image. Oh, yeah. I want to show you where this is. Now this is fully servable, right? Like you can have your customers, you know, use your application that uses this back end. It no longer lives in my

11:32local host. This is being hosted. All right, let's see workers log. Okay, when it's done, it should print the output here. There we go. All right, let me wrap this so I could pull this up.

12:03This is crazy doing it in one hand. All right, let's load up the picture of a sea otter with a bow tie. There's no bow tie. But that's not the point. We All right. So, you get that. That's the demo. We had a hackathon yesterday and I just wanted to be to present this to I'm very proud of this guy uh Funka. He created a wrapper around our flash that enables you to upload a data sheet of all your experiments of some specifications of some models and run it instantly and it just fans out builds out all these endpoints runs your training and then reports back to you. And he did this

12:48within three to four hours. And he had no idea how to do runpod flash. He had to ask me questions if this was even possible. I'm like, let's see. And he was very surprised when he won yesterday because his his project was not even his best one apparently and he keeps losing to other hackathons. So just really proud

13:11of this guy. How do you get started with runpad flash? So, well, you sign up for an account on RunPod, scan that QR code, get some $10 uh credit now, and all you really have to do is just install it, write your code, log in to have your uh API key in there, initialize, it'll have some skeleton application if you want, flash, the local dev that you have, or flash deploy to production. And we have all these URLs. The best advice I have is visit the runbot flash examples on GitHub because we have all these cases and examples that you could kind of refer or if you like AI coding just run

13:54cloud code into that repository and it will learn everything. We also have skills if you're into that. And that is my presentation.

Where these words come from. This is the caption track YouTube holds for this video, written automatically by YouTube rather than by the creator. We read it, tidied the line breaks and laid it out so it can be read. The plain text version is at https://viewrankai.com/tools/youtube-transcript/XczFLWEntiE.txt.

All rights in this video belong to AI Engineer. Watch it on YouTube. If this is your video and you would rather this page did not exist, tell us and we will remove it.