
En los últimos años hemos trabajado con distintos modelos de lenguaje (LLM, por sus siglas en inglés), y hemos vivido de primera mano la rapidez con la que evoluciona esta tecnología y las oportunidades que surgen a su alrededor. En este artículo compartimos algunos aprendizajes que hemos sacado de nuestra experiencia, desde la evaluación de costes hasta la aplicación de técnicas de prompt engineering y fine-tuning.

1. Comprender la relación entre coste y rendimiento
Al principio nos sorprendió la gran variedad de “tamaños” de modelos que ofrecían los distintos proveedores. Por un lado, están los modelos más ligeros, que suelen ser más rápidos y baratos pero también menos “inteligentes”. Por otro, hay modelos más grandes, con mayor capacidad de razonamiento, pero cuyo uso resulta más costoso y lento.
Descubrimos que la relación coste/rendimiento puede variar de forma drástica. En nuestros inicios, por ejemplo, GPT-3 lograba cierta puntuación en MMLU por un precio de 60 dólares el millón de tokens. Solo tres años después, vimos aparecer modelos bastante más baratos que ofrecían la misma puntuación a tan solo 0,06 dólares el millón de tokens.
Esto ha sido posible gracias a mejoras en la arquitectura de los modelos, a técnicas de compresión y distilación, y a la evolución del hardware. Además, notamos cómo surgen competidores nuevos, como DeepSeek, que proponen soluciones de código abierto capaces de ofrecer un rendimiento muy competitivo a un coste menor.
2. Planificar con visión de futuro (pero avanzar en el presente)
Observando la rapidez con la que cambian tanto los costes como las prestaciones de los modelos, aprendimos a no limitarnos al modelo más barato que nos sirviese en un momento dado. A la vez, en nuestro caso, necesitábamos procesar millones de tokens al día y demostrar resultados cuanto antes, lo que nos obligó a optar por modelos más asequibles en ese momento.
Vimos que la estrategia más sensata era avanzar con lo que funcionaba mejor en ese instante, pero a la vez preparar la infraestructura para poder integrar nuevos modelos cuando se volvieran asequibles o eficaces. De hecho, más de una vez nos encontramos con que algo inviable antes se convertía de golpe en la mejor opción pocos meses después.
3. Modularidad y sistemas agnósticos: estrategias de implementación
Para gestionar costes y a la vez no quedarnos atrás en cuanto a calidad, una de las tácticas que mejor nos funcionó fue descomponer en detalle las distintas tareas que queríamos que realizase el LLM. Gracias a ello, pudimos encadenar peticiones a varios modelos más ligeros y especializados. Si bien supone un esfuerzo extra de desarrollo, nos permitió un mayor control y un mejor equilibrio entre coste y prestaciones.
Igualmente, nos resultó clave contar con un sistema agnóstico al modelo, de manera que pudiésemos cambiar con agilidad de un LLM a otro cuando apareciera uno más barato o eficaz. Este enfoque favoreció que adoptáramos novedades de forma rápida sin necesidad de rehacer toda la arquitectura.
4. Fine-tuning vs. Prompt engineering: lecciones en la práctica
Otra cuestión que nos surgía de manera recurrente era si merecía la pena aplicar fine-tuning o bastaba con un prompt engineering cuidadoso.
Fine-tuning:
Ajustar un modelo concreto con datos propios puede ser muy beneficioso cuando necesitas que resuelva algo muy específico y dispones de información de calidad.
En nuestro caso, nos resultó especialmente útil para formatear documentos con etiquetas HTML, donde necesitábamos un resultado muy concreto para cada cliente.
Sin embargo, implica una inversión de tiempo y recursos, y puede quedarse obsoleta si surge un modelo genérico más barato con prestaciones similares.
Prompt engineering:
Consiste en refinar las instrucciones que se le dan al modelo para guiar su comportamiento.
Nos sirvió sobre todo para “empujar” a modelos algo menos potentes a realizar tareas complejas, optimizando así la relación entre coste y eficiencia.
Al no estar vinculado a un modelo en concreto, resultó más sencillo reutilizar el trabajo hecho si decidíamos cambiarnos a otro proveedor.
En definitiva, fine-tuning ofrece especialización y solidez en ciertos casos muy concretos, mientras que prompt engineering da más flexibilidad a un menor coste inicial.
5. Mantener la agilidad y replantear decisiones
Un aprendizaje muy importante fue estar dispuestos a revisar y abandonar algunos desarrollos cuando aparecían soluciones nuevas que se ajustaban mejor a nuestras necesidades. Aunque pueda parecer un paso atrás, la experiencia nos ha demostrado que deshacer parte de lo que ya estaba hecho a veces es la vía más rápida para evolucionar.
Ejemplo práctico
Antes: Para extraer información de PDFs, dividíamos el documento en varias secciones y usábamos modelos ligeros para procesar por partes.
Ahora: Con la llegada de modelos como “gpt4o-mini”, que son más asequibles y potentes, podemos enviar directamente el PDF entero en cada petición para obtener respuestas más precisas, sin necesidad de tanto proceso previo.
Tomar la decisión de abandonar nuestro sistema de embeddings no fue sencillo, pero a la larga nos resultó más sencillo y eficaz.
6. Mirando al futuro: agentes y modelos de código abierto
Últimamente se habla mucho de la “era de los agentes”, un nuevo paradigma en el que varios modelos y herramientas se orquestan para realizar tareas más complejas de forma más o menos autónoma. Desde nuestra perspectiva, esto podría implicar reestructurar las aplicaciones para coordinar diferentes componentes inteligentes.
Por otro lado, el auge de modelos de código abierto, cada vez más potentes, hace pensar que los costes seguirán bajando y que la flexibilidad para personalizar estos modelos aumentará. Nosotros ya nos planteamos cómo aprovechar las nuevas opciones que aparecen casi cada mes.
Conclusión
Después de trabajar intensamente con diversos modelos de lenguaje, creemos que estos son los principales aprendizajes que nos han servido:
Planificación y flexibilidad: hay que avanzar con las opciones viables del presente, sin dejar de prepararse para adoptar futuras mejoras.
Arquitectura modular y agnóstica: diseñar sistemas que permitan cambiar de modelo fácilmente y aprovechar distintas funciones especializadas.
Equilibrio entre fine-tuning y prompt engineering: el primero ofrece una precisión muy enfocada, el segundo permite mayor agilidad y menos dependencia de un solo modelo.
Agilidad para replantear: no tener miedo a soltar desarrollos previos si un nuevo enfoque mejora calidad y abarata costes.
Estar al día de lo que viene: los agentes y los modelos de código abierto prometen transformar de nuevo el sector, y conviene mantenerse preparados.
En un mercado tan cambiante, nuestra gran lección es que la capacidad de reacción, la formación continua y la apertura a adoptar nuevas soluciones pueden marcar la diferencia a la hora de seguir siendo competitivos en el ámbito de la IA.
Комментарии