สำรวจ LLM แบบ pre-trained

Reinforcement Learning from Human Feedback (RLHF)

Mina Parham

AI Engineer

ความสำคัญของการ fine-tune

ไดอะแกรมแสดงกระบวนการ RLHF

Reinforcement Learning from Human Feedback (RLHF)

ความสำคัญของการ fine-tune

ไดอะแกรมแสดง LLM พร้อม input และ output

Reinforcement Learning from Human Feedback (RLHF)

คู่มือทีละขั้นตอนสำหรับการ fine-tune LLM

ไอคอนแสดง LLM ที่ถูก train ให้วิเคราะห์ sentiment ของทวีต

Reinforcement Learning from Human Feedback (RLHF)

คู่มือทีละขั้นตอนสำหรับการ fine-tune LLM

ไอคอนแสดง LLM ที่ถูก train ให้วิเคราะห์ sentiment ของทวีตแต่ให้ผลลัพธ์ที่ผิด

Reinforcement Learning from Human Feedback (RLHF)

คู่มือทีละขั้นตอนสำหรับการ fine-tune LLM

ไอคอนแสดง LLM สำหรับวิเคราะห์ sentiment ของทวีต ที่ผ่านการ pre-train ด้วยชุดข้อมูลขนาดใหญ่

Reinforcement Learning from Human Feedback (RLHF)

ขั้นตอนที่ 1: โหลดข้อมูลที่จะใช้

from datasets import load_dataset
import pandas as pd

# `load_dataset` simplifies loading and preprocessing datasets from various sources
# It provides easy access to a wide range of datasets with minimal setup
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)

ขั้นตอนที่ 2: เลือกโมเดล pre-trained

from transformers import AutoModelForCausalLM

# AutoModelForCausalLM simplifies loading and switching models
model = AutoModelForCausalLM.from_pretrained("openai-gpt")

 

  • Causal models: token ก่อนหน้า "ทำให้เกิด" token ถัดไป
Reinforcement Learning from Human Feedback (RLHF)

ขั้นตอนที่ 3: tokenizer

from transformers import AutoTokenizer

# `AutoTokenizer` loads the correct tokenizer for the specified model
tokenizer = AutoTokenizer.from_pretrained("openai-gpt")
tokenizer.add_special_tokens({'pad_token': '[PAD]'})
model.resize_token_embeddings(len(tokenizer))

 

  • Padding: เพื่อให้ขนาด batch ของข้อความเท่ากัน
Reinforcement Learning from Human Feedback (RLHF)

ขั้นตอนที่ 3: tokenizer

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

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

 

  • พารามิเตอร์ batched: เพื่อเพิ่มความเร็วในการประมวลผล
Reinforcement Learning from Human Feedback (RLHF)

ขั้นตอนที่ 4: fine-tune ด้วยวิธี 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)

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

Reinforcement Learning from Human Feedback (RLHF)

Preparing Video For Download...