การฝึกด้วย PPO

Reinforcement Learning from Human Feedback (RLHF)

Mina Parham

AI Engineer

Fine-Tuning ด้วย Reinforcement Learning

LLM เริ่มต้นและโมเดลรางวัลในกระบวนการ RLHF

Reinforcement Learning from Human Feedback (RLHF)

Fine-Tuning ด้วย Reinforcement Learning

กระบวนการ RLHF แบบครบวงจร

Reinforcement Learning from Human Feedback (RLHF)

Fine-Tuning Language Model ด้วย PPO

 

ไดอะแกรมของ query ที่ส่งให้ LLM เพื่อสร้างข้อความต่อเนื่อง

Reinforcement Learning from Human Feedback (RLHF)

Fine-Tuning Language Model ด้วย PPO

 

ไดอะแกรมของ query ที่ส่งให้ LLM โดย LLM สร้างข้อความต่อจาก 'we're half way there, oh livin' on a prayer'

Reinforcement Learning from Human Feedback (RLHF)

Fine-Tuning Language Model ด้วย PPO

 

ไดอะแกรมของ query ที่ส่งให้ LLM โดย LLM สร้างข้อความต่อจาก 'we're half way there, oh livin' on a prayer' และมี LLM อีกตัวประเมินผลลัพธ์

Reinforcement Learning from Human Feedback (RLHF)

Fine-Tuning Language Model ด้วย PPO

  • PPO: ปรับโมเดลทีละน้อย
  • ป้องกัน overfitting จาก feedback

หุ่นยนต์และหอยทากแทนการปรับปรุงอัลกอริทึมอย่างช้าๆ

Reinforcement Learning from Human Feedback (RLHF)

การใช้งาน PPOTrainer กับ 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)

เริ่มต้น Training Loop

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)

มาฝึกกันเถอะ!

Reinforcement Learning from Human Feedback (RLHF)

Preparing Video For Download...