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