Skip to main content
OPTIMIZATION GUIDE

How to Configure vLLM for Project AVA: Complete Optimization Guide

Real benchmarks, performance flags, GPU configuration, and AVA SDK connection for maximum local inference speed.

Why vLLM for Project AVA

Razer's Project AVA requires a fast, efficient inference engine that runs completely locally. vLLM is the recommended choice thanks to its PagedAttention architecture, which eliminates KV cache fragmentation and allows serving models like Llama 3, Mistral, and Qwen at maximum performance on consumer GPUs. This guide covers everything from basic setup to advanced optimization techniques.

Basic Configuration

Starting vLLM with Docker is the fastest and most reproducible method. Make sure Docker Engine and NVIDIA Container Toolkit are installed (Lesson 01):

Terminal
1docker run --gpus all \
2    -v ~/.cache/huggingface:/root/.cache/huggingface \
3    -p 8000:8000 \
4    --ipc=host \
5    vllm/vllm-openai:latest \
6    --model meta-llama/Meta-Llama-3.1-8B-Instruct \
7    --max-model-len 4096 \
8    --gpu-memory-utilization 0.95
Instant optimization

By just adding --max-model-len 4096 and --gpu-memory-utilization 0.95 you reduce VRAM usage ~30% and increase throughput. This works on any GPU with 12 GB+ VRAM.

Key Performance Flags

These parameters make the difference between usable and optimal inference:

FlagDefaultOptimizedImpact
--max-model-len81924096Reduces VRAM usage 30-40% by limiting max context
--gpu-memory-utilization0.90.95Uses more available VRAM. Increase to 0.95 if no other GPU processes running
--enforce-eagerfalsetrueDisables CUDA graphs. Reduces VRAM at the cost of some latency. Useful on 8 GB GPUs
--max-num-batched-tokens256512Increases throughput for concurrent requests

Benchmarks: Optimized vs Base vLLM

Results with Llama 3.1 8B on NVIDIA RTX 4090 (24 GB VRAM), showing the impact of optimizations:

MetricBase configOptimized config
First response latency~450ms~280ms
Throughput~90 req/s~150 req/s
VRAM usage~18 GB~14 GB
Generation time (512 tokens)~8s~5s

Multi-GPU and Tensor Parallel

If you have multiple NVIDIA GPUs, enable Tensor Parallel to distribute the model. This reduces VRAM per GPU and can increase throughput:

Terminal
1# Tensor Parallel con 2 GPUs
2docker run --gpus all \
3    -v ~/.cache/huggingface:/root/.cache/huggingface \
4    -p 8000:8000 \
5    --ipc=host \
6    vllm/vllm-openai:latest \
7    --model meta-llama/Meta-Llama-3.1-8B-Instruct \
8    --tensor-parallel-size 2 \
9    --gpu-memory-utilization 0.95

Connecting to AVA SDK

Once vLLM is optimized, connect it to AVA SDK with this recommended gaming configuration:

ava_gaming_config.py
1from openai import OpenAI
2
3# AVA SDK - Configuracion optimizada para gaming
4client = OpenAI(
5    base_url="http://localhost:8000/v1",
6    api_key="not-needed"
7)
8
9SYSTEM_PROMPT = """
10Eres AVA, un asistente táctico especializado en gaming.
11Analiza partidas, sugiere estrategias y proporciona
12información en tiempo real con respuestas concisas.
13"""
14
15response = client.chat.completions.create(
16    model="meta-llama/Meta-Llama-3.1-8B-Instruct",
17    messages=[
18        {"role": "system", "content": SYSTEM_PROMPT},
19        {"role": "user", "content": "Analiza mi build actual y sugiere mejoras para optimizar DPS."}
20    ],
21    temperature=0.3,  # Mas deterministico para gaming
22    max_tokens=256,   # Respuestas rapidas y cortas
23    top_p=0.9
24)

GPU-Specific Tips

NVIDIA RTX 4090 (24 GB)

Llama 3.1 8B, max-model-len 8192, gpu-memory 0.95. Maximum performance.

NVIDIA RTX 4080/4070 Ti (16 GB)

Llama 3.2 3B or Mistral 7B, max-model-len 4096, gpu-memory 0.9.

NVIDIA RTX 4060 (8-12 GB)

Phi-3.5 or Llama 3.2 3B, enforce-eager, max-model-len 2048, gpu-memory 0.85.

NVIDIA RTX 3050/3060 (6-8 GB)

Qwen 2.5 1.5B or Phi-3.5 mini, enforce-eager, max-model-len 2048.

Frequently Asked Questions

Does vLLM work with AMD or Intel GPUs?

vLLM requires CUDA, so it only works with NVIDIA GPUs. For AMD (ROCm) or Intel, consider LM Studio as an alternative.

Can I use vLLM on Windows without WSL2?

Yes, vLLM runs directly on Windows with native Python and CUDA installed. However, Docker + WSL2 is the recommended method for reproducibility and isolation.

Which model is best for gaming?

Llama 3.1 8B is the best balance. If your GPU has less than 16 GB VRAM, use Mistral 7B or Llama 3.2 3B.