Intégration LoRA#
Actuellement, Xinference peut associer un modèle de réglage fin LoRA au modèle LLM et au modèle image lors de leur lancement pour assister le modèle de base.
Mode d’utilisation#
démarrage#
Contrairement aux modèles intégrés, Xinference ne gère pas actuellement les modèles LoRA. Les utilisateurs doivent d’abord télécharger le modèle LoRA correspondant, puis fournir le chemin de stockage du modèle à 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>
from xinference.client import Client
client = Client("http://<XINFERENCE_HOST>:<XINFERENCE_PORT>")
lora_model1={'lora_name': <lora_name1>, 'local_path': <lora_model_path1>}
lora_model2={'lora_name': <lora_name2>, 'local_path': <lora_model_path2>}
lora_models=[lora_model1, lora_model2]
image_lora_load_kwargs={'<load_params1>': <load_value1>, '<load_params2>': <load_value2>},
image_lora_fuse_kwargs={'<fuse_params1>': <fuse_value1>, '<fuse_params2>': <fuse_value2>}
peft_model_config = {
"image_lora_load_kwargs": image_lora_load_params,
"image_lora_fuse_kwargs": image_lora_fuse_params,
"lora_list": lora_models
}
client.launch_model(
<other_options>,
peft_model_config=peft_model_config
)
application#
Pour les grands modèles de langage, spécifiez l’un des LoRA lors de l’utilisation. Plus précisément, configurez le paramètre lora_name dans les paramètres generate_config. Le lora_name correspond à votre configuration lors du lancement.
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>"}
)
Avis#
Les options
image_lora_load_kwargsetimage_lora_fuse_kwargsci-dessus ne s’appliquent qu’au modèleimage. Elles correspondent aux paramètres supplémentaires dans les interfacesload_lora_weightsetfuse_lorade la bibliothèquediffusers. Si le modèleLLMest démarré, il n’est pas nécessaire de configurer ces options.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.
Pour le modèle de chat
LLM, seuls les modèles LoRA dont l’ajustement fin ne modifie pas le modèle de prompt original de base sont actuellement pris en charge.Lors de l’utilisation d’un GPU, le modèle LoRA et son modèle de base se trouvent sur le même appareil et n’affectent pas les autres modèles.