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
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()