Calculating compute cost
How to calculate the cost of your deployment on Cerebrium
The cost of your deployment is based on the hardware you select and the amount of time it executes for. Essentially, every time we run your code, or you specify that a machine should be running - we charge you. GPU, CPU and Memory usage are all charged per second while persistent storage is charged per GB per month. You can view the pricing of various compute on our pricing page
When you deploy a model, there are two processes we charge you for:
-
We charge you for the build process where we set up your app environment. In this step, we set up a Python environment according to your parameters before downloading and installing the required apt packages, Conda and Python packages as well as any model files you require. You are only charged for a build if we need to rebuild your environment, ie: you have run a
build
ordeploy
command and have changed your requirements, parameters or code. Note that we cache each of the steps in a build so subsequent builds will cost substantially less than the first. -
The app runtime. This is the amount of time it takes your code to run from start to finish on each request. There are 3 costs to consider here:
- Cold start: This is the amount of time it takes to spin up a server(s), load your environment, connect storage etc. This is part of the Cerebrium service and something we are working on every day to get as low as possible. We do not charge you for this!
- Model initialization: This part of your code is outside of the predict function and only runs when your app incurs a cold start. You are charged for the amount of time it takes for this code to run. Typically this is loading a model into GPU RAM.
- Predict runtime: This is the code stored in your predict function and runs every time a request hits your endpoint
Let us go through an example of how you can calculate the cost of your deployment:
The model you wish to deploy requires:
- 24 GB VRam (A5000): $0.000356 per second
- 2 CPU cores: 2 * $0.0000532 per second
- 20GB Memory: 20 * $0.00000659 per second
- 10 GB persistent storage: 10 * $0.3 per month
In our situation, your app works on the first deployment and so you incur only one build process of 2 minutes. Additionally, let’s say that the app has 10 cold starts a day with an average initialization of 2 seconds and lastly and average runtime (predict) of 2 seconds. Let us calculate your expected cost at month end with you expecting to do 100 000 model inferences.
From this, you can see that the cost of your deployment is:
Now you would expect the cost to grow linearly with the number of requests you get however, we want to help you grow your business and so we are happy to discount your computing cost as you grow. To see the discounts you can get for your volume, please contact us directly at Sales
As you grow, don’t worry about scaling your deployment with demand, sourcing new hardware or managing your infrastructure. You can focus on your code and we’ll handle the rest.