Khám phá LLM đã huấn luyện sẵn

Reinforcement Learning from Human Feedback (RLHF)

Mina Parham

AI Engineer

Tầm quan trọng của fine-tuning

Sơ đồ minh họa quy trình RLHF.

Reinforcement Learning from Human Feedback (RLHF)

Tầm quan trọng của fine-tuning

Sơ đồ biểu diễn một LLM với đầu vào và đầu ra.

Reinforcement Learning from Human Feedback (RLHF)

Hướng dẫn fine-tuning LLM từng bước

Biểu tượng mô tả một LLM được huấn luyện để nhận diện cảm xúc tweet.

Reinforcement Learning from Human Feedback (RLHF)

Hướng dẫn fine-tuning LLM từng bước

Biểu tượng mô tả một LLM nhận diện cảm xúc tweet cho ra kết quả sai.

Reinforcement Learning from Human Feedback (RLHF)

Hướng dẫn fine-tuning LLM từng bước

Biểu tượng mô tả một LLM nhận diện cảm xúc tweet, được tiền huấn luyện với tập dữ liệu lớn.

Reinforcement Learning from Human Feedback (RLHF)

Bước 1: tải dữ liệu sử dụng

from datasets import load_dataset
import pandas as pd

# `load_dataset` đơn giản hóa việc tải và tiền xử lý dữ liệu từ nhiều nguồn
# Cung cấp truy cập dễ dàng tới nhiều tập dữ liệu với cấu hình tối thiểu
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)

Bước 2: chọn mô hình đã huấn luyện sẵn

from transformers import AutoModelForCausalLM

# AutoModelForCausalLM giúp tải và chuyển đổi mô hình dễ dàng
model = AutoModelForCausalLM.from_pretrained("openai-gpt")

 

  • Mô hình nhân quả: token trước "gây ra" token sau
Reinforcement Learning from Human Feedback (RLHF)

Bước 3: tokenizer

from transformers import AutoTokenizer

# `AutoTokenizer` tải tokenizer đúng cho mô hình chỉ định
tokenizer = AutoTokenizer.from_pretrained("openai-gpt")
tokenizer.add_special_tokens({'pad_token': '[PAD]'})
model.resize_token_embeddings(len(tokenizer))

 

  • Padding: để có các batch văn bản cùng kích thước
Reinforcement Learning from Human Feedback (RLHF)

Bước 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)

 

  • Tham số batched: xử lý nhanh hơn
Reinforcement Learning from Human Feedback (RLHF)

Bước 4: fine-tune bằng phương thức 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)

Ayo berlatih!

Reinforcement Learning from Human Feedback (RLHF)

Preparing Video For Download...