Huấn luyện với PPO

Reinforcement Learning from Human Feedback (RLHF)

Mina Parham

AI Engineer

Fine-tune với học tăng cường

LLM ban đầu và mô hình phần thưởng trong quy trình RLHF.

Reinforcement Learning from Human Feedback (RLHF)

Fine-tune với học tăng cường

Toàn bộ quy trình RLHF.

Reinforcement Learning from Human Feedback (RLHF)

Fine-tune mô hình ngôn ngữ với PPO

 

Sơ đồ truy vấn đưa vào LLM để sinh phần tiếp theo.

Reinforcement Learning from Human Feedback (RLHF)

Fine-tune mô hình ngôn ngữ với PPO

 

Sơ đồ truy vấn đưa vào LLM, mô hình hoàn thành: 'we're half way there, oh livin' on a prayer'.

Reinforcement Learning from Human Feedback (RLHF)

Fine-tune mô hình ngôn ngữ với PPO

 

Sơ đồ truy vấn đưa vào LLM, mô hình hoàn thành: 'we're half way there, oh livin' on a prayer', với một LLM khác đánh giá kết quả.

Reinforcement Learning from Human Feedback (RLHF)

Fine-tune mô hình ngôn ngữ với PPO

  • PPO: điều chỉnh mô hình dần dần
  • Tránh khớp quá mức theo phản hồi

Một robot và một con ốc sên tượng trưng cho việc thuật toán cải thiện chậm rãi.

Reinforcement Learning from Human Feedback (RLHF)

Triển khai PPOTrainer với TRL

from trl import PPOConfig
config = PPOConfig(model_name="gpt2",learning_rate=1.4e-5)
from trl import AutoModelForCausalLMWithValueHead
model = AutoModelForCausalLMWithValueHead.from_pretrained(config.model_name)
tokenizer = AutoTokenizer.from_pretrained(config.model_name)
from trl import PPOTrainer
ppo_trainer = PPOTrainer(model=model,config=config,dataset=dataset,
                         tokenizer=tokenizer)
Reinforcement Learning from Human Feedback (RLHF)

Bắt đầu vòng lặp huấn luyện

for epoch in tqdm(range(10), "epoch: "):


for batch in tqdm(ppo_trainer.dataloader):
# Get responses response_tensors = ppo_trainer.generate(batch["input_ids"])
batch["response"] = [tokenizer.decode(r.squeeze()) for r in response_tensors]
# Compute reward score texts = [q + r for q, r in zip(batch["query"], batch["response"])]
rewards = reward_model(texts)
stats = ppo_trainer.step(query_tensors, response_tensors, rewards) ppo_trainer.log_stats(stats, batch, rewards)
Reinforcement Learning from Human Feedback (RLHF)

Ayo berlatih!

Reinforcement Learning from Human Feedback (RLHF)

Preparing Video For Download...