Integrar LoRA#

Actualmente, Xinference puede cargar un modelo de ajuste fino LoRA junto con los modelos LLM e image al iniciarlos, para asistir al modelo base.

Modo de uso#

Iniciar#

A diferencia de los modelos integrados, Xinference actualmente no gestiona los modelos LoRA. El usuario debe descargar primero el modelo LoRA correspondiente y luego proporcionar la ruta de almacenamiento del modelo a Xinference.

xinference launch <options>
--lora-modules <lora_name1> <lora_model_path1>
--lora-modules <lora_name2> <lora_model_path2>
--image-lora-load-kwargs <load_params1> <load_value1>
--image-lora-load-kwargs <load_params2> <load_value2>
--image-lora-fuse-kwargs <fuse_params1> <fuse_value1>
--image-lora-fuse-kwargs <fuse_params2> <fuse_value2>

Aplicación#

Para modelos de lenguaje grandes, especifique uno de los LoRA al usarlo. Específicamente, configure el parámetro lora_name en el parámetro generate_config. lora_name corresponde a su configuración durante el proceso de launch.

from xinference.client import Client

client = Client("http://<XINFERENCE_HOST>:<XINFERENCE_PORT>")
model = client.get_model("<model_uid>")
model.chat(
    messages=[{"role": "user", "content": "<prompt>"}],
    generate_config={"lora_name": "<your_lora_name>"}
)

Notas importantes#

  • Las opciones image_lora_load_kwargs y image_lora_fuse_kwargs mencionadas anteriormente solo se aplican al modelo image. Corresponden a los parámetros adicionales en las interfaces load_lora_weights y fuse_lora de la biblioteca diffusers. Si se inicia el modelo LLM, no es necesario configurar estas opciones.

  • You need to add the parameter lora_name during inference to specify the corresponding lora model. You can specify it in the Additional Inputs option.

  • Para el modelo de chat LLM, actualmente solo se admiten modelos LoRA que, después del ajuste fino, no modifiquen la plantilla de indicaciones del modelo base original.

  • Al usar GPU, el modelo LoRA y su modelo base están en el mismo dispositivo y no afectan a otros modelos.