Con un adaptador LoRA, podemos especializar un modelo de lenguaje grande (LLM) para una tarea o un dominio. El adaptador debe cargarse sobre el LLM para que se pueda utilizar para la inferencia. Para algunas aplicaciones, puede resultar útil ofrecer a los usuarios varios adaptadores. Por ejemplo, un adaptador podría realizar llamadas a funciones y otro podría realizar una tarea muy diferente, como clasificación, traducción u otras tareas de generación de lenguaje.
Sin embargo, para utilizar varios adaptadores, un marco de inferencia estándar tendría que descargar primero el adaptador actual y luego cargar el nuevo. Esta secuencia de descarga/carga puede tardar varios segundos, lo que degradaría la experiencia del usuario.
Afortunadamente, existen marcos de código abierto que pueden servir a varios adaptadores al mismo tiempo sin que se note un tiempo entre el uso de dos adaptadores diferentes. Por ejemplo, Máster en Derecho (licencia Apache 2.0), uno de los marcos de inferencia de código abierto más eficientes, puede ejecutar y servir fácilmente múltiples adaptadores LoRA simultáneamente.
En este artículo, veremos cómo usar vLLM con varios adaptadores LoRA. Explico cómo usar adaptadores LoRA con inferencia fuera de línea y cómo proporcionar varios adaptadores a los usuarios para inferencia en línea. Utilizo Llama 3 para los ejemplos con adaptadores para llamadas de funciones y chat.