CommencerCommencer gratuitement

Ajustement fin de Llama avec LoRA pour le service client

Vous devez effectuer l’ajustement fin d’un modèle de langage pour répondre à des questions de service client. Les modèles Llama sont plutôt performants en question-réponse et devraient bien convenir à cette tâche de service client. Malheureusement, vous n’avez pas la capacité de calcul nécessaire pour un ajustement fin classique et devez utiliser des techniques d’ajustement fin LoRA avec le jeu de données bitext.

Vous souhaitez pouvoir entraîner Maykeye/TinyLLama-v0. Le script d’entraînement est presque complet, et le code d’entraînement vous est déjà fourni, à l’exception des paramètres de configuration LoRA.

Le modèle, le tokenizer, le jeu de données et les arguments d’entraînement pertinents ont été préchargés pour vous dans model, tokenizer, dataset et training_arguments.

Cet exercice fait partie du cours

Ajustement fin avec Llama 3

Afficher le cours

Instructions

  • Ajoutez l’argument pour définir vos adaptateurs LoRA avec un rang de 2.
  • Définissez le facteur d’échelle pour qu’il soit le double de votre rang.
  • Définissez le type de tâche utilisé avec les modèles de type Llama dans votre configuration LoRA.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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()
Modifier et exécuter le code