Performance Optimization

Tips for optimizing UAL Adapter performance.

Memory Optimization

Use Lower Ranks

# Reduces memory by 50%
ual.train_adapter(domain="example", texts=data, rank=8)  # vs rank=16

Gradient Checkpointing

model.gradient_checkpointing_enable()

Speed Optimization

Batch Processing

# Process multiple queries at once
results = dispatcher.batch_generate(queries, max_length=50)

Cache Embeddings

dispatcher = LoRADispatcher(cache_embeddings=True)

Projection Method

# Truncate is fastest
projector.project(weights, dim, method="truncate")

Quality vs Speed Tradeoffs

  • SVD: Best quality, slower

  • Interpolate: Good balance

  • Truncate: Fastest, may lose quality