LLM Adapters: Customize One Model for Different Tasks
Hosting a separate LLM for every team or use case can quickly increase GPU memory usage, storage needs, and deployment work.
LLM adapters let you reuse a base model while customising its behaviour for different tasks. For platform teams, this can mean fewer full model copies to store and serve.
Let’s look at a practical example.
Use Case
Suppose your platform team needs to host an LLM for three teams.
The support team wants customer replies. The finance team wants document summaries. The engineering team wants incident reports in a specific format.
A general-purpose model may not consistently produce the results each team needs, even with carefully written prompts.
Cant we fine tune the models? Yes we can.
But that means more large model files to store, deploy, and maintain. Running each copy separately also duplicates the base model in GPU memory.
Model adapters help reduce this overhead.
Model Adapters
An adapter is a small set of trained model weights that works with an existing base model to change how it handles a particular task.
One common approach is LoRA (Low-Rank Adaptation). During training, the original model weights stay unchanged. Only a small set of additional weights is trained using examples of the desired behaviour.
You can then save those additional weights as an adapter instead of saving another full model. This reduces training memory requirements and the size of the files you need to distribute. Hugging Face LoRA documentation
For our example, the setup could look like this:
| Shared base model + adapter | Intended task |
|---|---|
| Base model + support adapter | Write customer-support replies |
| Base model + finance adapter | Summarise financial documents |
| Base model + incident adapter | Format incident reports |
The adapter still needs its compatible base model to work.

Where is this used?
Adapters are useful when several teams, customers, or applications need different behaviour from the same base model.
A serving engine such as vLLM can load a shared base model and use different LoRA adapters for individual requests. This lets you serve several customised versions without loading a separate full model for each one.
Actual capacity still depends on GPU memory and request load. vLLM adapter documentation
For DevOps, SRE, and platform engineers, this introduces a few things to manage:
- Compatibility: Match each adapter to the base model version it was trained for.
- Deployment: Version and roll out adapter files alongside the serving configuration.
- Memory: Plan how many adapters the server can keep loaded.
- Performance: Monitor request latency when adapters are loaded or switched.
This also explains the connection to traffic routing.
If several Pods serve the same base model, a router that knows which adapters are loaded can prefer a suitable Pod and avoid unnecessary loading delays.
Routing helps serve those customised models efficiently.