CommencezCommencez gratuitement

Ajustement fin de Llama avec LoRA pour le service à la clientèle

On vous a confié la tâche d'ajuster finement un modèle de langue pour répondre aux questions du service à la clientèle. Les modèles Llama sont très efficaces pour répondre aux questions et devraient bien fonctionner pour cette tâche de service à la clientèle. Malheureusement, vous n'avez pas la capacité de calcul pour effectuer un ajustement fin classique et devez utiliser des techniques d'ajustement fin efficaces en paramètres avec LoRA en utilisant le jeu de données bitext.

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

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

Cette activité fait partie du cours

Ajustement fin avec Llama 3

Voir le cours

Instructions de l’exercice

  • Ajoutez l'argument pour régler vos adaptateurs LoRA à un rang de 2.
  • Réglez 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 style Llama dans votre configuration Lora.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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