Back to blog
    Fine-Tuning multicliente: un modelo base, adaptadores LoRA personalizados por bufete de abogados
    loramulti-tenantlegalfine-tuningagencysegment:agency

    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.

    EErtas Team·

    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:

    1. Producto de trabajo histórico: Revisiones de contratos, resúmenes de casos, memorandos de investigación, correspondencia con clientes
    2. Guías de estilo: Cómo el bufete formatea los entregables, preferencias de terminología, escalas de calificación de riesgo
    3. 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ámetroValorNotas
    Modelo baseLlama 3.1 8BCompartido entre todos los clientes
    Rango LoRA16-3216 para tareas simples, 32 para análisis complejo
    Alpha LoRA32-64Típicamente 2x el rango
    Módulos objetivoq_proj, v_proj, k_proj, o_projSolo capas de atención para eficiencia
    Tasa de aprendizaje2e-4Estándar para LoRA
    Épocas3Suficiente para más de 2,000 ejemplos
    Ejemplos de entrenamiento1,500-3,000Por 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:

    1. Reserva 10-15% de los datos de entrenamiento para evaluación
    2. Ejecuta el conjunto de evaluación tanto en el modelo base como en el modelo ajustado
    3. Compara las salidas contra las respuestas escritas por el abogado original
    4. 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étodoIntercambio en frío (adaptador no en memoria)Intercambio en caliente (adaptador en caché)
    Ollama500-2000 msMenor a 100 ms
    vLLM200-500 msMenor 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)

    ClientesGPUs necesariasCosto de hardware
    11 x RTX 5090$2,000
    55 x RTX 5090$10,000
    1010 x RTX 5090$20,000
    2020 x RTX 5090$40,000

    Enfoque de adaptadores LoRA

    ClientesGPUs necesariasCosto de hardware
    1-101 x RTX 5090$2,000
    10-251-2 x RTX 5090$2,000-4,000
    25-502-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:

    1. Procedencia de datos de entrenamiento: qué datos entrenaron qué adaptador
    2. Linaje del adaptador: versión del modelo base + configuración de entrenamiento + checksum del adaptador
    3. Registro de inferencia: qué adaptador atendió qué solicitud, con marcas de tiempo
    4. 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

    1. Configura tu modelo base en una GPU (Ollama o vLLM)
    2. Prepara datos de entrenamiento para tu primer cliente
    3. Entrena un adaptador LoRA usando Ertas Studio o fine-tuning manual
    4. Despliega y prueba con el cliente
    5. 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

    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