ComenzarEmpieza gratis

Ajuste fino con LoRA de Llama para atención al cliente

Te han asignado ajustar finamente un modelo de lenguaje para responder consultas de atención al cliente. Los modelos Llama son bastante buenos en respuesta a preguntas y deberían funcionar bien para esta tarea de atención al cliente. Por desgracia, no tienes capacidad de cómputo para hacer un ajuste fino tradicional y debes usar técnicas de ajuste fino con LoRA usando el conjunto de datos bitext.

Quieres poder entrenar Maykeye/TinyLLama-v0. El script de entrenamiento ya está casi completo y ya cuentas con el código de entrenamiento, a excepción de los parámetros de configuración de LoRA.

El modelo, el tokenizador, el conjunto de datos y los argumentos de entrenamiento pertinentes ya se han precargado para ti en model, tokenizer, dataset y training_arguments.

Este ejercicio forma parte del curso

Ajuste fino con Llama 3

Ver curso

Instrucciones del ejercicio

  • Añade el argumento para configurar tus adaptadores LoRA con rango 2.
  • Establece el factor de escalado para que sea el doble de tu rango.
  • Define el tipo de tarea usado con los modelos de estilo Llama en tu configuración de Lora.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

from peft import LoraConfig, get_peft_model

peft_config = LoraConfig(
    # Set rank parameter 
  	____=____,
  	# Set scaling factor
    ____=____,
  	# Set the type of task
  	____=____,
    lora_dropout=0.05,
    bias="none",
    target_modules=['q_proj', 'v_proj']
)

trainer = SFTTrainer(
    model=model,
    train_dataset=dataset,
    max_seq_length=250,
    dataset_text_field='conversation',
    tokenizer=tokenizer,
    args=training_arguments,
  	peft_config=peft_config,
)

trainer.train()
Editar y ejecutar código