Integrazione LoRA#

Attualmente, Xinference può essere avviato insieme a un modello di fine-tuning LoRA per assistere il modello di base durante l’avvio dei modelli LLM e image.

Modalità d’uso#

avviare#

A differenza dei modelli integrati, Xinference attualmente non si occupa della gestione dei modelli LoRA. Gli utenti devono prima scaricare il modello LoRA corrispondente, quindi fornire il percorso di archiviazione del modello 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>

applicazione#

Per i modelli linguistici di grandi dimensioni, specificare una delle lora durante l’uso. Nello specifico, configurare il parametro lora_name all’interno del parametro generate_config. lora_name corrisponde alla configurazione durante il processo di 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>"}
)

Avvertenze#

  • Le opzioni image_lora_load_kwargs e image_lora_fuse_kwargs sopra menzionate si applicano esclusivamente al modello image. Esse corrispondono ai parametri aggiuntivi nelle interfacce load_lora_weights e fuse_lora della libreria diffusers. Se si avvia il modello LLM, non è necessario configurare queste opzioni.

  • 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.

  • Per il modello di chat LLM, al momento sono supportati solo i modelli LoRA che, dopo il fine-tuning, non modificano il template dei prompt del modello base originale.

  • Quando si utilizza la GPU, il modello LoRA e il suo modello base si trovano sullo stesso dispositivo e non influenzano altri modelli.