Explorer des LLM préentraînés

Reinforcement Learning from Human Feedback (RLHF)

Mina Parham

AI Engineer

L'importance de l'ajustement fin

Schéma illustrant le processus RLHF.

Reinforcement Learning from Human Feedback (RLHF)

L'importance de l'ajustement fin

Schéma représentant un LLM avec entrée et sortie.

Reinforcement Learning from Human Feedback (RLHF)

Guide étape par étape pour ajuster finement un LLM

Icône d'un LLM entraîné à reconnaître le sentiment de tweets.

Reinforcement Learning from Human Feedback (RLHF)

Guide étape par étape pour ajuster finement un LLM

Icône d'un LLM entraîné à reconnaître le sentiment de tweets donnant une mauvaise sortie.

Reinforcement Learning from Human Feedback (RLHF)

Guide étape par étape pour ajuster finement un LLM

Icône d'un LLM pour reconnaître le sentiment de tweets, préentraîné avec un grand jeu de données.

Reinforcement Learning from Human Feedback (RLHF)

Étape 1 : charger les données à utiliser

from datasets import load_dataset
import pandas as pd

# `load_dataset` simplifie le chargement et le prétraitement de jeux de données de diverses sources
# Il donne un accès facile à de nombreux jeux de données avec un minimum de configuration
dataset = load_dataset("mteb/tweet_sentiment_extraction")
df = pd.DataFrame(dataset['train'])
    id               text                                        label   label_text
0   cb774db0d1       I'd have responded, if I were going         1       neutral
1   549e992a42       Sooo SAD I will miss you in San Diego!!!    0       negative
2   08ac60f138       my boss is bullying me...                   0       negative
Reinforcement Learning from Human Feedback (RLHF)

Étape 2 : choisir un modèle préentraîné

from transformers import AutoModelForCausalLM

# AutoModelForCausalLM simplifie le chargement et l'alternance entre modèles
model = AutoModelForCausalLM.from_pretrained("openai-gpt")

 

  • Modèles causaux : les jetons précédents « causent » les suivants
Reinforcement Learning from Human Feedback (RLHF)

Étape 3 : tokenizeur

from transformers import AutoTokenizer

# `AutoTokenizer` charge le bon tokenizeur pour le modèle indiqué
tokenizer = AutoTokenizer.from_pretrained("openai-gpt")
tokenizer.add_special_tokens({'pad_token': '[PAD]'})
model.resize_token_embeddings(len(tokenizer))

 

  • Remplissage : pour obtenir des lots de texte de taille égale
Reinforcement Learning from Human Feedback (RLHF)

Étape 3 : tokenizeur

def tokenize_function(examples):
    tokenized = tokenizer(examples["content"], padding="max_length", truncation=True) 
    return tokenized

tokenized_datasets = dataset.map(tokenize_function, batched=True)

 

  • Paramètre batched : traitement plus rapide
Reinforcement Learning from Human Feedback (RLHF)

Étape 4 : ajuster finement avec la méthode Trainer

training_args = TrainingArguments(
   output_dir="test_trainer",
   per_device_train_batch_size=1,
   per_device_eval_batch_size=1,  
   gradient_accumulation_steps=4)
trainer = Trainer(
   model=model,
   args=training_args,
   train_dataset=tokenized_dataset["train"],
   eval_dataset=tokenized_dataset["test"])
trainer.train()
Reinforcement Learning from Human Feedback (RLHF)

Passons à la pratique !

Reinforcement Learning from Human Feedback (RLHF)

Preparing Video For Download...