This tutorial demonstrates deploying a quantized CodeLlama 70B model using vLLM. We will be deploying a 4-bit quantized GPTQ version of the codeLlama-Python-70B model.
Inference Time | Cold Start Time | Token/Sec | Latency/Token | VRAM Required |
---|---|---|---|---|
6.67 sec | 26.36 sec | 33.18 | 30.13 ms | 37.05 GB |
model.py
.
def initialize
: In this function, you will initialize your model and define any variable
that you want to use during inference. You can adjust the gpu_memory_utilization
parameter to reduce GPU usage. By default, it’s set to 0.9, but you can change it to 0.5 to decrease GPU utilization to 37.05 GB.
def infer
: This function gets called for every request that you send. Here you can define all the steps that are required for the inference. You can also pass custom values for inference and pass it through inputs(dict)
parameter.
def finalize
: This function cleans up all the allocated memory.
input_schema.py
in your GitHub/Gitlab repository this will help us create the Input parameters. You can checkout our documentation on Input / Output Schema.
For this tutorial, we have defined a parameter prompt
which is required during the API call. Now lets create the input_schema.py
.
inferless remote-run
(installation guide here) command to test your model or any custom Python script in a remote GPU environment directly from your local machine. Make sure that you use Python3.10
for seamless experience.
inferless
library and initialize Cls(gpu="A100")
. The available GPU options are T4
, A10
and A100
.initialize
and infer
functions with @app.load
and @app.infer
respectively.my_local_entry
) with @inferless.local_entry_point
.
Within this function, instantiate your model class, convert any incoming parameters into a RequestObjects
object, and invoke the model’s infer
method.app.py
and your inferless-runtime-config.yaml
and run:
inputs
dictionary.
If you want to exclude certain files or directories from being uploaded, use the --exclude
or -e
flag.
Add a custom model
button that you see on the top right. An import wizard will open up.
--gpu A100
: Specifies the GPU type for deployment. Available options include A10
, A100
, and T4
.--runtime inferless-runtime-config.yaml
: Defines the runtime configuration file. If not specified, the default Inferless runtime is used.