Optimización de costes en el uso de LLM

From Systems analysis wiki
Jump to navigation Jump to search

La optimización de costos en el uso de grandes modelos de lenguaje (LLM) es un conjunto de estrategias y métodos técnicos destinados a reducir los recursos computacionales y financieros necesarios para el entrenamiento, el ajuste fino (fine-tuning) y, en particular, la ejecución (inferencia) de grandes modelos de lenguaje. La relevancia de este campo se debe al enorme costo tanto del desarrollo como de la operación de los LLM.

Por ejemplo, se estima que el entrenamiento del modelo GPT-3 con 175 mil millones de parámetros costó alrededor de $4,6 millones en infraestructura de GPU en la nube[1] y requirió 1,3 millones de kWh de electricidad[2]. Sin embargo, los principales costos suelen recaer en la etapa de inferencia. Se estima que los gastos operativos diarios para mantener el servicio de ChatGPT a principios de 2023 ascendían a unos $700,000 (aproximadamente $0.0036 por solicitud), lo que supera con creces los costos únicos de entrenamiento[3].

Optimización en la etapa de entrenamiento y selección del modelo

La gestión eficaz de los costos comienza con decisiones fundamentales que se toman antes de la etapa de inferencia.

Leyes de escalado: tamaño del modelo vs. volumen de datos

Uno de los avances clave en la comprensión de la economía del entrenamiento de los LLM fueron las leyes de escalado de Chinchilla, presentadas por investigadores de DeepMind en 2022. Demostraron que para un uso óptimo del presupuesto computacional, un modelo debe ser entrenado con un volumen de datos significativamente mayor de lo que se hacía anteriormente[4].

Históricamente, se asumía que el rendimiento aumentaba principalmente al incrementar el número de parámetros. Sin embargo, la investigación de Chinchilla demostró que el modelo Chinchilla (70 mil millones de parámetros), entrenado con 1,4 billones de tokens, supera en calidad al modelo mucho más grande GPT-3 (175 mil millones de parámetros), entrenado con solo ~300 mil millones de tokens[5]. La proporción recomendada es de aproximadamente 20 tokens de datos de entrenamiento por cada parámetro del modelo. Este enfoque permite crear modelos más compactos y eficientes, reduciendo tanto los costos de entrenamiento como los de la inferencia posterior.

Ajuste fino (Fine-tuning) y su eficacia

En lugar del costoso entrenamiento de un modelo desde cero, una práctica cada vez más común es el ajuste fino (fine-tuning) de modelos abiertos ya existentes (por ejemplo, la familia LLaMA, Falcon). Para reducir aún más los costos, se aplican métodos de ajuste fino de parámetros eficientes (Parameter-Efficient Fine-Tuning, PEFT).

El método más popular, LoRA (Low-Rank Adaptation), permite adaptar el modelo actualizando solo un pequeño número de parámetros adicionales. Las investigaciones muestran que LoRA puede reducir los costos de ajuste fino en decenas de puntos porcentuales (hasta ~68% en algunos escenarios) con un impacto insignificante en la calidad[6].

Reducción del tamaño del modelo (Model Compression)

Una dirección crucial de la optimización es la reducción del tamaño físico del modelo manteniendo su rendimiento.

Destilación de conocimiento (Knowledge Distillation)

La destilación de conocimiento es un proceso en el que un modelo "maestro" grande y potente se utiliza para entrenar a un modelo "estudiante" más compacto. El estudiante aprende a imitar las respuestas del maestro en un amplio conjunto de datos, "heredando" su conocimiento. Este método permite alcanzar una calidad comparable en tareas específicas con costos significativamente menores. Por ejemplo, el modelo DeepSeek-R1 fue destilado con éxito de 671 mil millones a 70 mil millones e incluso a 1.5 mil millones de parámetros con una pérdida de calidad aceptable para muchas aplicaciones[7].

Cuantización (Quantization)

La cuantización es el proceso de reducir la precisión numérica utilizada para representar los pesos de un modelo. En lugar de los números de punto flotante estándar de 32 o 16 bits, se utilizan enteros de 8 o incluso 4 bits.

  • La cuantización de 8 bits reduce el tamaño del modelo en aproximadamente un 50% con una pérdida de precisión de alrededor del 1%.
  • La cuantización de 4 bits reduce el tamaño del modelo en un 75%, manteniendo al mismo tiempo una calidad de salida competitiva[7].

Con soporte de hardware (por ejemplo, en las GPU modernas de Nvidia) y bibliotecas de software (como TensorRT), la cuantización puede acelerar la inferencia de 2 a 4 veces[8].

Optimización en la etapa de inferencia

Una vez que el modelo está entrenado y desplegado, la mayor parte de los costos se asocia con su uso diario.

Agrupación de solicitudes (Batching)

El batching (o agrupación) es la combinación de varias solicitudes de usuario en un solo "lote" (batch) para su procesamiento simultáneo en una GPU. Esto aumenta significativamente la utilización del hardware y el rendimiento general. Para los LLM, donde las respuestas se generan token por token, el método más eficaz es el batching continuo (continuous/in-flight batching). Este método permite agregar dinámicamente nuevas solicitudes al lote a medida que otras se completan, lo que elimina los tiempos de inactividad y maximiza la carga de la GPU[9].

Almacenamiento en caché de claves y valores (KV Cache)

En los modelos Transformer, la generación de cada nuevo token requiere información sobre todos los tokens anteriores. Para evitar un crecimiento exponencial de los cálculos, se utiliza el almacenamiento en caché de claves y valores (KV Cache). El sistema guarda los resultados intermedios de los cálculos del mecanismo de atención para el contexto ya procesado y los reutiliza, lo que hace que la generación de secuencias largas y diálogos de varios turnos sea mucho más eficiente[7].

Optimización del mecanismo de atención

El almacenamiento del KV Cache requiere una cantidad significativa de memoria. Para reducirla, se han desarrollado variantes optimizadas del mecanismo de atención:

  • Multi-Query Attention (MQA): Todas las cabezas de atención utilizan un único conjunto compartido de claves y valores.
  • Grouped-Query Attention (GQA): Una solución intermedia donde las cabezas de atención se dividen en grupos, y cada grupo utiliza un conjunto compartido de claves y valores.

La empresa Meta aplicó con éxito GQA en los modelos LLaMA 2, lo que permitió aumentar significativamente la eficiencia de la inferencia al trabajar con contextos largos sin una pérdida sustancial de calidad[10].

Optimización de la infraestructura y la arquitectura del sistema

Sistemas híbridos y Generación Aumentada por Recuperación (RAG)

No siempre se requiere el modelo más grande y potente para una tarea. Un enfoque híbrido o en cascada implica el uso de un modelo pequeño y económico para solicitudes simples, y solo en caso de fallo o para tareas complejas, la solicitud se redirige a un modelo grande y costoso.

Un caso particular y muy eficaz de este enfoque es la Generación Aumentada por Recuperación (RAG). En esta arquitectura, el LLM puede ser relativamente compacto, ya que para responder utiliza información actualizada obtenida de una base de conocimientos externa (por ejemplo, de la documentación corporativa o un motor de búsqueda). Esto no solo reduce los requisitos de tamaño del modelo, sino que también resuelve el problema de las alucinaciones. Desplegar un modelo especializado de 70 mil millones de parámetros con RAG en una infraestructura local puede ser de 2 a 4 veces más barato que usar la API de GPT-4 en la nube[11].

Referencias

  1. «OpenAI's GPT-3 Language Model: A Technical Overview». Lambda Labs. [1]
  2. «The Energy Footprint of Humans and Large Language Models». Communications of the ACM. [2]
  3. «The Inference Cost Of Search Disruption - Large Language Model Cost Analysis». SemiAnalysis. [3]
  4. Hoffmann, J., et al. (2022). «Training Compute-Optimal Large Language Models». arXiv:2203.15556.
  5. Chow, T. (2024). «Three Kuhnian Revolutions in ML Training». Substack. [4]
  6. «A Study to Evaluate the Impact of LoRA Fine-tuning on the Performance of Non-functional Requirements Classification». arXiv:2503.07927. (2025).
  7. 7.0 7.1 7.2 «LLM Inference Optimization: How to Speed Up, Cut Costs, and Scale AI Models». deepsense.ai. [5]
  8. Jin, H., et al. (2024). «GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers».
  9. «Continuous vs dynamic batching for AI inference». Baseten Blog. [6]
  10. «What is grouped query attention?». IBM. [7]
  11. «Inferencing on-premises with Dell Technologies». Dell Technologies Analyst Paper. [8]