
Fine-Tuning multicliente: un modelo base, adaptadores LoRA personalizados por bufete de abogados
Cómo usar adaptadores LoRA para atender a varios clientes de bufetes de abogados desde un solo modelo base: arquitectura, entrenamiento, intercambio en caliente, eficiencia de costos y garantías de aislamiento de datos.
La economía de gestionar una agencia de IA se desmorona si necesitas una GPU separada para cada cliente. Un modelo Llama 3.1 8B ocupa 16 GB de VRAM. Cinco clientes, cinco modelos completos, cinco GPUs: son $10,000-15,000 en hardware antes de ganar un dólar.
LoRA (Low-Rank Adaptation) cambia esta ecuación por completo. Un modelo base permanece en la memoria de la GPU. Los adaptadores por cliente — típicamente de 50-200 MB cada uno — se intercambian durante la inferencia. Una sola GPU atiende a todos tus clientes.
Este artículo cubre la arquitectura, cómo entrenar adaptadores específicos por cliente, cómo funciona el intercambio en caliente, las implicaciones de costos y las garantías de aislamiento de datos que los bufetes de abogados requieren.
Arquitectura LoRA para servicio multicliente
Cómo funciona LoRA
El fine-tuning estándar modifica todos los pesos del modelo: miles de millones de parámetros. LoRA toma un enfoque diferente: congela el modelo base y entrena pequeñas matrices "adaptadoras" que modifican el comportamiento del modelo en capas específicas.
La matemática: en lugar de actualizar una matriz de pesos W (tamaño d x k), LoRA entrena dos matrices pequeñas A (tamaño d x r) y B (tamaño r x k), donde r (el "rango") es mucho menor que d o k. El peso efectivo se convierte en W + BA.
Para un LoRA de rango 16 en un modelo 7B:
- Tamaño del modelo base: ~14 GB (en FP16)
- Tamaño del adaptador LoRA: ~50-100 MB
- Inferencia combinada: Misma velocidad que el modelo base (las matrices del adaptador se fusionan o aplican eficientemente)
Arquitectura multicliente
GPU Memory:
┌────────────────────────────────┐
│ Modelo Base (Llama 3.1 8B) │ ← Cargado una vez, permanece en memoria
│ ~14 GB │
├────────────────────────────────┤
│ Adaptador LoRA activo │ ← Se intercambia por solicitud
│ (Específico del cliente, ~100 MB) │
└────────────────────────────────┘
Almacenamiento de adaptadores (SSD):
├── bufete-a-revision-contratos.safetensors (85 MB)
├── bufete-b-due-diligence.safetensors (92 MB)
├── bufete-c-resumen-casos.safetensors (78 MB)
├── bufete-d-regulatorio.safetensors (110 MB)
└── bufete-e-triaje-admision.safetensors (65 MB)
Una RTX 5090 (32 GB VRAM) puede contener el modelo base más varios adaptadores simultáneamente, o intercambiar adaptadores desde SSD en milisegundos.
Entrenamiento de adaptadores específicos por cliente
Cada bufete cliente obtiene su propio adaptador entrenado con sus datos específicos.
Preparación de datos por cliente
Para cada bufete, recopila:
- Producto de trabajo histórico: Revisiones de contratos, resúmenes de casos, memorandos de investigación, correspondencia con clientes
- Guías de estilo: Cómo el bufete formatea los entregables, preferencias de terminología, escalas de calificación de riesgo
- Enfoque del dominio: Especialización del área de práctica (fusiones y adquisiciones, litigio, propiedad intelectual, regulatorio)
Formatea como pares de instrucción-respuesta:
{"instruction": "Revisa esta cláusula de acuerdo de fusión por riesgo antimonopolio: [texto de la cláusula]", "response": "[Estilo de análisis y evaluación de riesgo del Bufete A]"}
Configuración del entrenamiento
Para adaptadores legales específicos por cliente:
| Parámetro | Valor | Notas |
|---|---|---|
| Modelo base | Llama 3.1 8B | Compartido entre todos los clientes |
| Rango LoRA | 16-32 | 16 para tareas simples, 32 para análisis complejo |
| Alpha LoRA | 32-64 | Típicamente 2x el rango |
| Módulos objetivo | q_proj, v_proj, k_proj, o_proj | Solo capas de atención para eficiencia |
| Tasa de aprendizaje | 2e-4 | Estándar para LoRA |
| Épocas | 3 | Suficiente para más de 2,000 ejemplos |
| Ejemplos de entrenamiento | 1,500-3,000 | Por cliente |
Tiempo de entrenamiento por adaptador: 30-90 minutos en una sola GPU, usando Ertas Studio o entrenamiento LoRA manual.
Validación de calidad
Antes de desplegar el adaptador de un cliente:
- Reserva 10-15% de los datos de entrenamiento para evaluación
- Ejecuta el conjunto de evaluación tanto en el modelo base como en el modelo ajustado
- Compara las salidas contra las respuestas escritas por el abogado original
- Verifica:
- Precisión en la identificación de riesgos
- Consistencia en las calificaciones de riesgo
- Adherencia a la terminología específica del bufete
- Citación correcta de números de cláusula y referencias cruzadas
Intercambio en caliente de adaptadores en inferencia
El intercambio en caliente es lo que hace práctico el servicio multicliente. El modelo base permanece cargado; solo el adaptador ligero cambia entre solicitudes.
Con Ollama
Ollama soporta múltiples variantes de modelo. Crea un Modelfile para cada adaptador de cliente:
FROM llama3.1:8b
ADAPTER /path/to/firm-a-adapter.gguf
SYSTEM "Eres un analista de documentos legales para [Bufete A]..."
Registra cada uno como un nombre de modelo separado:
ollama create bufete-a-revision-contratos -f Modelfile.bufete-a
ollama create bufete-b-due-diligence -f Modelfile.bufete-b
En tiempo de inferencia, especifica el nombre del modelo en la solicitud API. Ollama maneja la carga del adaptador de forma transparente.
Con vLLM
vLLM soporta el servicio de adaptadores LoRA nativamente con la bandera --enable-lora:
python -m vllm.entrypoints.openai.api_server \
--model meta-llama/Llama-3.1-8B \
--enable-lora \
--lora-modules bufete-a=/adapters/bufete-a bufete-b=/adapters/bufete-b
Solicita un adaptador específico mediante el parámetro model en la llamada API:
{
"model": "bufete-a",
"messages": [{"role": "user", "content": "Revisa esta cláusula..."}]
}
La implementación LoRA de vLLM es particularmente eficiente: puede mantener múltiples adaptadores residentes en la memoria GPU y alternar entre ellos con latencia casi nula.
Latencia de intercambio
| Método | Intercambio en frío (adaptador no en memoria) | Intercambio en caliente (adaptador en caché) |
|---|---|---|
| Ollama | 500-2000 ms | Menor a 100 ms |
| vLLM | 200-500 ms | Menor a 10 ms |
Para la mayoría de los flujos de trabajo legales, incluso la latencia de intercambio en frío es imperceptible: el usuario está esperando un análisis de documento de varias páginas que tarda 5-30 segundos de todos modos.
Eficiencia de costos
La ventaja de costos del enfoque LoRA se vuelve dramática a medida que crece tu cantidad de clientes:
Modelo completo por cliente (enfoque ingenuo)
| Clientes | GPUs necesarias | Costo de hardware |
|---|---|---|
| 1 | 1 x RTX 5090 | $2,000 |
| 5 | 5 x RTX 5090 | $10,000 |
| 10 | 10 x RTX 5090 | $20,000 |
| 20 | 20 x RTX 5090 | $40,000 |
Enfoque de adaptadores LoRA
| Clientes | GPUs necesarias | Costo de hardware |
|---|---|---|
| 1-10 | 1 x RTX 5090 | $2,000 |
| 10-25 | 1-2 x RTX 5090 | $2,000-4,000 |
| 25-50 | 2-3 x RTX 5090 | $4,000-6,000 |
Una sola GPU atiende a más de 10 clientes porque:
- El modelo base (14 GB) se carga una sola vez
- Cada adaptador agrega solo 50-100 MB a la VRAM (o se intercambia desde SSD)
- Las cargas de trabajo legales son intermitentes: no todos los clientes generan solicitudes de inferencia simultáneamente
Con 10 clientes, el enfoque LoRA es 5 veces más barato. Con 20 clientes, es 10 veces más barato.
Costos de entrenamiento por cliente
Ajustar cada adaptador a través de Ertas Studio:
- Cómputo de entrenamiento: mínimo (30-90 minutos en GPU de la agencia)
- Preparación de datos: 2-4 horas de tiempo de la agencia
- Validación y despliegue: 1-2 horas
Costo total de la agencia por nuevo adaptador de cliente: aproximadamente medio día de trabajo. Esto se incluye en la tarifa de implementación, típicamente $5,000-15,000 para un despliegue de IA legal.
Garantías de aislamiento de datos
Los bufetes de abogados requieren aislamiento absoluto de datos entre clientes. La arquitectura LoRA proporciona esto en múltiples niveles:
Aislamiento de datos de entrenamiento
Los datos de entrenamiento de cada cliente se usan exclusivamente para su adaptador. En Ertas Studio, cada cliente es un proyecto separado con almacenamiento de datos separado. No ocurre mezcla de datos entre clientes durante el entrenamiento.
Aislamiento de adaptadores
Cada archivo de adaptador es criptográficamente independiente: los pesos en el adaptador del Bufete A no contienen información de los datos de entrenamiento del Bufete B. El adaptador es una transformación matemática aprendida únicamente de los datos del cliente.
Aislamiento en inferencia
En tiempo de inferencia:
- Cada solicitud especifica qué adaptador usar
- El adaptador se carga exclusivamente para esa solicitud
- Las entradas y salidas de las solicitudes se registran por separado por cliente
- No hay estado compartido entre solicitudes de clientes
Evidencia de auditoría
Para la documentación de cumplimiento, puedes demostrar:
- Procedencia de datos de entrenamiento: qué datos entrenaron qué adaptador
- Linaje del adaptador: versión del modelo base + configuración de entrenamiento + checksum del adaptador
- Registro de inferencia: qué adaptador atendió qué solicitud, con marcas de tiempo
- Sin contaminación cruzada: los pesos de los adaptadores son matemáticamente independientes
Este nivel de aislamiento satisface incluso los requisitos de cumplimiento legal más estrictos, incluyendo requisitos de muro de conflictos para bufetes con clientes en competencia.
Primeros pasos
- Configura tu modelo base en una GPU (Ollama o vLLM)
- Prepara datos de entrenamiento para tu primer cliente
- Entrena un adaptador LoRA usando Ertas Studio o fine-tuning manual
- Despliega y prueba con el cliente
- Repite para cada nuevo cliente: mismo modelo base, nuevo adaptador
El esfuerzo marginal por cliente disminuye a medida que estandarizas tu pipeline de preparación de datos y despliegue.
Ship AI that runs on your users' devices.
Ertas early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.
Lectura adicional
- Despliegue de IA multitenant para agencias — Arquitectura más amplia para atender a múltiples clientes
- Guía de destilación de modelos y LoRA — Inmersión técnica en entrenamiento LoRA y destilación
Ship AI that runs on your users' devices.
Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.
Keep reading

Managing 50+ LoRA Adapters in Production: Versioning and Organization
Practical systems for managing dozens of LoRA adapters across multiple clients, tasks, and base models — covering naming conventions, metadata, registries, multi-LoRA serving, and scaling milestones from 10 to 100+ adapters.

LoRA Adapters Per Healthcare Specialty: Radiology, Pathology, Primary Care
How to serve multiple hospital departments from a single base model using specialty-specific LoRA adapters. Covers architecture, training data requirements, storage math, adapter management, and performance benchmarks.

From n8n Workflow to Fine-Tuned Model: A Step-by-Step Agency Playbook
A tactical guide for n8n agencies: collect client interaction data via workflows, clean and format it, fine-tune a model in Ertas Studio, deploy locally, and connect back to n8n for inference.