Uniendo modelos
Uno de los problemas a los que se enfrentan los grandes modelos de lenguaje es el de manejar espacios de entrada (dominios de lenguaje y aplicación y tareas específicas) grandes y complejos, lo que implica una gran necesidad de recursos computacionales para responder adecuadamente.
Para solventar estas dificultades existen varios enfoques. Hoy vamos a hablar de la Unión de Modelos.
El término «model merging» se refiere a una arquitectura de modelo en la que se combinan múltiples modelos para formar un modelo más grande y complejo.
Esta idea se basa en la noción de que diferentes partes del modelo pueden especializarse en tareas específicas, y la combinación de sus salidas mejora el rendimiento general del modelo. Esto permite distribuir el conocimiento de manera eficiente y aumentar la velocidad de procesamiento al dividir el trabajo entre varios modelos, lo que resulta en un rendimiento más rápido y efectivo en la resolución de problemas complejos.
En un model merging, cada modelo es responsable de realizar bien una tarea o conjunto de datos particular. Un «combinador» luego pondera las salidas de estos modelos para producir la respuesta final del modelo. Este enfoque puede ayudar a abordar problemas en los que la información relevante para una tarea específica se distribuye de manera desigual o no lineal en los datos.
Así, la implementación de un model merging podría significar que diferentes partes del meta-modelo se especializan en comprender y generar diferentes tipos de contenido o contextos lingüísticos. Esto podría mejorar la capacidad del meta-modelo para manejar una variedad más amplia de consultas o tareas. Esta es por supuesto una descripción simplificada, las implementaciones específicas pueden variar según el diseño de los modelos y la tarea a la que se aplique.
Por ejemplo, un model merging podría implementarse de la siguiente manera:
- Un modelo podría especializarse en comprender y generar texto factual, mientras que otro modelo podría especializarse en comprender y generar texto creativo.
- Un modelo podría especializarse en traducir entre idiomas, mientras que otro modelo podría especializarse en responder preguntas.
- Un modelo podría especializarse en escribir diferentes tipos de contenido creativo, como poemas, código, guiones, piezas musicales, correos electrónicos, cartas, etc., mientras que otro modelo podría especializarse en generar diferentes tipos de formatos de texto, como resúmenes, parafraseo, esquemas, etc.
Al combinar las fortalezas de múltiples modelos, los LLM pueden aprender a realizar una variedad más amplia de tareas de manera más eficiente.
Los beneficios del uso de un mix of experts se podrían resumir en:
- Mejor rendimiento: Como se ha mencionado, el model merging puede ayudar a mejorar el rendimiento de los LLM aplicados a tareas diferentes. Esto se debe a que cada modelo puede especializarse en una tarea específica, lo que permite al modelo aprovechar las fortalezas de cada modelo y aumentar su versatilidad.
- Mayor eficiencia: El model merging puede ayudar a mejorar la eficiencia de los LLM. Esto se debe a que cada modelo solo necesita aprender a realizar una tarea específica, lo que reduce la cantidad de datos de entrenamiento necesarios.
- Mayor flexibilidad: El model merging puede ayudar a mejorar la flexibilidad de los LLM. Esto se debe a que los modelos se pueden agregar o eliminar fácilmente, lo que permite al modelo adaptarse a nuevas tareas o datos. Al poder se añadir nuevos modelos en cualquier momento, el modelo evoluciona más fácilmente que reentrenándolo desde cero.
Como siempre, todo tiene sus pegas. En este caso cabe citar tres:
- Complejidad: Entrenar y gestionar un model merge puede ser más complejo que un solo modelo.
- Interpretabilidad: Puede ser difícil comprender cómo un model merge toma decisiones, lo que dificulta la depuración y la mejora del modelo.
- Recursos: Servir un model merge puede requerir más recursos computacionales que un solo modelo si se toman en consideración todos los modelos por separado.
En LHF tenemos experiencia construyendo arquitecturas de este tipo, que hemos empleado para resolver problemas como:
- Extracción de información estructurada de lenguaje natural: Es común encontrar nombres, certificaciones, direcciones, identificadores expresados de manera muy heterogénea. Un claro ejemplo resulta la multitud de formatos de fecha que existen, varios de los cuales requieren de un contexto lingüístico para ser descifrados.
- Interacción conversacional: Un model merge sigue siendo un modelo de lenguaje que permite establecer conversaciones con usuarios. Dadas las características descritas, resultan ideales para interacción porque generalmente dispone de mayor conocimiento y de “otros puntos de vista”.
- Gestión de herramientas a través de un agente: El estado del arte actual de model merges ha mostrado buenos resultados en el uso de herramientas por parte de agentes basados en lenguaje natural. Esto abre una puerta a futuro para crear agentes autónomos capaces de asistir a usuarios.